Tuesday, September 6, 2011

SSH serverin təhlükəsizliyi

   SSH-in nə olduğunu yəqin ki çoxlarınız bilirsiniz. Bilməyənlər üçün qisacası onu deyim ki , SSH ( Secure SHell) Linux/UNIX ƏS-i üzərində işləyən və bu serverləri təhlükəsiz şəkildə idarəetməyə imkan yaradan proqram təminatıdır ( ətraflı SSH  ).
   SSH serverin idarəedilməsi üçün təhlükəsiz tunnelin qurulmasını təmin etsə də, sessiya qurulana qədər arzuolunmayan şəxslərdən ( oxu crackerlər) müdafiə önə çıxan məsələlərdəndir. Şəxsi təcrübəmdə istifadə etdiyim metodları aşağıda qeyd edəcəm.
   Açıq açarlar (Public keys).  Açıq açarlardan istifadə etməklə, serverinizə giriş hüququnu yalnız açarların olduğu istifadəçilərə vermiş olursunuz. Bunun  üçün client tərəfdən generasiya olunmuş açıq açarları serverdə .ssh/authorized_keys  faylına əlavə etmək lazımdır. Açarların özünə də  şifrə ( passphrase) qoymaqla metodun effektivliyini bir az da artırmış olursunuz. Mənfi cəhətlərindən 1-i açarları özünüzlə daşıma zərurətidir, açarlar olmadan serverinizə qoşula bilməyəcəksiniz.
   İstifadəçi. Giriş hüququnu ancaq müəyyən istifadəçilərə verməklə digər istifadəçilərin sistemə daxil olmasının limitləyirsiniz ( hətta doğru istifadəçi adı və şifrəni bilsə belə). Bunun üçün  sshd_config faylına


#AllowUsers  farid samir mahir


sətrini əlavə etməniz lazımdır. Yeri gəlmişkən, elə həmin faylda  da root  istifadəçisinin ssh-lə daxil olmaq hüququnu limitləmək olar:

#PermitRootLogin  no

   Port. SSH serverin defolt portunu dəyişməklə 1 balaca gizlənə bilərsiniz, amma açıq olan SSH portu istənilən halda şəbəkə skanerləri vasitəsilə tapmaq olur.

#Port 22


   DenyHosts. Serveriniz brutforslardan qoruyacaq 1 alət.  Yükləndikdən sonra  SSH portunuza gələn bütün müracitələri "dinləyir" , 1 neçə uğursuz cəhddən sonra müraciət edən İP-ni blok listə salır.