Sunucu güvenliği:ssh ile root girişini kapatın!

Eğer halen uzaktaki sunucunuza ssh ile root olarak bağlanıyorsanız hemen kapatın! Sunucuza root ile bağlanıyorsanız büyük risk altındasınız demektir.Çünkü ssh ile root girişine izin vermek büyük bir güvenlik açığıdır.Bu açığı şu şekilde açıklayabiliriz;Sunucunuza brute force bir saldırı olduğunu ve bu saldırıda saldırgan sizin kullanıcı adınızı ve parolanızı tahmin etmeye çalışacaktır.Her linux ya da unix sunucuda bir root kullanıcısı var olduğuna göre,bu root kullanıcısı açık bir hedeftir.Çünkü saldırgan hem kullanıcı adı ve parolayı bulmaya çalışacağına,artık kullanıcı adı için uğraşmasına hiç gerek yoktur.Geriye sadece parolayı tahmin etmek kalıyor.Bahsettiğimiz bu açığı hemen kapatalım ve sunucumuza daha güvenli bir şekilde bağlanalım.

İlk olarak yapmamız gereken ssh'ın ön tanımlı "22" portunu değiştirmek.Çünkü bu portu kullandığınızda saldırganın bu adımı hiç düşünmeden atlamasına olanak tanıyorsunuz.Bunu değiştirmek için kullandığınız bir editör ile " /etc/ssh/sshd_config" dosyasını açın;

# nano /etc/ssh/sshd_config
ve bu dosyada "Port 22 " yazan satırın başında diyez(#) varsa kaldırın ve "22" nci porttan farklı bir port girin.Örnek olarak: "Port 2222" gibi.

Daha sonra aynı dosyada "# Authentication:" bölümünde "#PermitRootLogin yes" yazan satırı bulun ve başındaki diyezi kaldırıp yes yerine no yazın.Bu satırla ssh ile bağlanırken root girişini kapatmış oluyoruz.Örnek satır: " PermitRootLogin no "

Artık bu dosyayı kaydedip kapatın ve kendinize "useradd" ya da "adduser" komutuyla ssh uzaktan bağlantı sağlayacak bir kullanıcı oluşturun,parolanızı belirleyin ve ssh'ı yeniden başlatın.

# /etc/init.d/sshd restart

Bu adımlarla sunucumuzun ssh portunu değiştirip,root girişini kapattık.Artık sunucuya root olarak giriş yapamazsınız.Bu kadar güvenli hayır değil.Bundan daha güvenli bağlanmak için "ssh key" kullanmanız önerilir.

Sunucuya "ssh key " ile bağlanmak için sunucuya bağlantı yapacağımız bilgisayarda bir anahtar oluşturmak lazım.Anahtar oluşturmak için:

$ssh-keygen -b 1024 -t dsa

Bu komutla bir anahtar oluşturup,isterseniz parola belirleyebilirsiniz.Bu komuttan sonra ".ssh" dizininizde bir private bir de public anahtarınız oluşacaktır.Sunucuya bu key ile bağlanmak istiyorsak bir şekilde "id_dsa.pub" adlı dosyayı sunucuya ulaştırmamız lazım.Bunun için ftp,scp vs. yollar kullanılabilir.

Eğer "id_dsa.pub" dosyasını sunucuya ulaştırdıysanız bu anahtara bağlanmak için sunucuda yetki verelim:

$ mkdir ~/.ssh $ chmod 700 ~/.ssh $ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys $ rm ~/id_dsa.pub $ chmod 600 ~/.ssh/authorized_keys

Bu adımlardan sonra sunucumuza bu anahtarla bağlanabiliriz.

NOT:

* Eğer ssh bağlantısını sadece belirli kullanıcılara vermek istiyorsanız, "/etc/ssh/sshd_config" dosyasına "AllowUsers" yazdıktan  bu kullanıcıları ekleyin.Örnek:

AllowUsers ahmet mehmet mustafa kemal

* Eğer belirli kullanıcılarına ssh bağlantısını kapatmak isterseniz, "/etc/ssh/sshd_config" dosyasına "DenyUsers" yazdıktan sonra bu kullanıcıları ekleyin.Örnek:

DenyUsers cuma sercan hamit can

Comments