SSH, Linux sunucularına güvenli bir şekilde erişmek için kullanılan yaygın olarak kullanılan bir protokoldür. Çoğu kullanıcı, uzak bir sunucuya bağlanmak için varsayılan ayarlarla SSH bağlantılarını kullanır. Ancak, güvenli olmayan varsayılan yapılandırmalar da çeşitli güvenlik riskleri doğurur.
Açık SSH erişimi olan bir sunucunun kök hesabı risk altında olabilir. Ve özellikle genel bir IP adresi kullanıyorsanız, root şifresini kırmak çok daha kolaydır. Bu nedenle SSH güvenliği konusunda bilgi sahibi olunması gerekmektedir.
Linux'ta SSH sunucu bağlantılarınızı nasıl koruyacağınız aşağıda açıklanmıştır.
1. Kök Kullanıcı Girişlerini Devre Dışı Bırak
Bunun için öncelikle root kullanıcısının SSH erişimini devre dışı bırakın ve kök ayrıcalıklarına sahip yeni bir kullanıcı oluştur. Kök kullanıcı için sunucu erişimini kapatmak, saldırganların sisteme izinsiz girme hedeflerine ulaşmasını engelleyen bir savunma stratejisidir. Örneğin, adında bir kullanıcı oluşturabilirsiniz. örnek kök aşağıdaki gibi:
useradd -m örnek kök
şifre örneği
usermod -aG sudo örnek kök
Yukarıda belirtilen komutların kısa bir açıklaması:
- kullanıcı ekleme yeni bir kullanıcı oluşturur ve -m parametre altında bir klasör oluşturur ev oluşturduğunuz kullanıcı için dizin.
- bu şifre komutu, yeni kullanıcıya bir parola atamak içindir. Kullanıcılara atadığınız şifrelerin karmaşık ve tahmin edilmesi zor olması gerektiğini unutmayın.
- usermod -aG sudo yeni oluşturulan kullanıcıyı yönetici grubuna ekler.
Kullanıcı oluşturma işleminden sonra, kullanıcı üzerinde bazı değişiklikler yapılması gerekmektedir. sshd_config dosya. Bu dosyayı adresinde bulabilirsiniz. /etc/ssh/sshd_config. Dosyayı herhangi bir metin düzenleyiciyle açın ve aşağıdaki değişiklikleri yapın:
# Kimlik doğrulama:
#LoginGraceTime 2dk
PermitRootGiriş no
AllowUsers exampleroot
İzin VerKökGiriş satırı, kök kullanıcının SSH kullanarak uzaktan erişim elde etmesini engeller. İçermek örnek kök içinde Kullanıcılara İzin Ver list, kullanıcıya gerekli izinleri verir.
Son olarak, aşağıdaki komutu kullanarak SSH hizmetini yeniden başlatın:
sudo systemctl ssh'yi yeniden başlat
Bu başarısız olursa ve bir hata mesajı alırsanız, aşağıdaki komutu deneyin. Bu, kullandığınız Linux dağıtımına göre farklılık gösterebilir.
sudo systemctl sshd'yi yeniden başlat
2. Varsayılan Bağlantı Noktasını Değiştirme
Varsayılan SSH bağlantı noktası 22'dir. Elbette tüm saldırganlar bunu biliyor ve bu nedenle SSH güvenliğini sağlamak için varsayılan port numarasını değiştirmek gerekiyor. Her ne kadar bir saldırgan yenisini kolayca bulabilse de Nmap taraması ile bağlantı noktası numarası, burada amaç saldırganın işini zorlaştırmaktır.
Bağlantı noktası numarasını değiştirmek için /etc/ssh/sshd_config ve dosyada aşağıdaki değişiklikleri yapın:
Katmak /etc/ssh/sshd_config.d/*.conf
5922 numaralı bağlantı noktası
Bu adımdan sonra SSH hizmetini yeniden başlatın. sudo systemctl ssh'yi yeniden başlat. Artık az önce tanımladığınız bağlantı noktasını kullanarak sunucunuza erişebilirsiniz. Güvenlik duvarı kullanıyorsanız, gerekli kural değişikliklerini orada da yapmalısınız. çalıştırırken netstat -tlpn komutu ile SSH için port numaranızın değiştiğini görebilirsiniz.
3. Boş Parolaları Olan Kullanıcılar İçin Erişimi Engelleyin
Sisteminizde yanlışlıkla oluşturmuş olabileceğiniz şifresi olmayan kullanıcılar olabilir. Bu tür kullanıcıların sunuculara erişmesini önlemek için, İzin BoşŞifreler satır değeri sshd_config dosyalamak hayır.
PermitBoşŞifreler hayır
4. Giriş/Erişim Denemelerini Sınırla
Varsayılan olarak, istediğiniz kadar parola denemesi yaparak sunucuya erişebilirsiniz. Ancak, saldırganlar bu güvenlik açığını sunucuya kaba kuvvet uygulamak için kullanabilir. Otomatik olarak sonlandırabilirsiniz SSH bağlantısı izin verilen parola denemelerinin sayısını belirterek belirli sayıda denemeden sonra.
Bunun için, değiştir MaxAuthDeneme içindeki değer sshd_config dosya.
MaxAuthDeneme 3
5. SSH Sürüm 2'yi Kullanma
SSH'nin ikinci sürümü, ilk sürümdeki birçok güvenlik açığı nedeniyle yayınlandı. Varsayılan olarak, aşağıdakileri ekleyerek sunucunun ikinci sürümü kullanmasını sağlayabilirsiniz. Protokol parametre senin sshd_config dosya. Bu şekilde, gelecekteki tüm bağlantılarınız SSH'nin ikinci sürümünü kullanacaktır.
Katmak /etc/ssh/sshd_config.d/*.conf
Protokol 2
6. TCP Bağlantı Noktası Yönlendirmeyi ve X11 İletmeyi Kapatma
Saldırganlar, SSH bağlantıları üzerinden bağlantı noktası ileterek diğer sistemlerinize erişmeye çalışabilir. Bunu önlemek için kapatabilirsiniz. AllowTcpYönlendirme ve X11Yönlendirme özellikler sshd_config dosya.
X11Yönlendirme hayır
AllowTcpYönlendirme hayır
7. SSH Anahtarıyla Bağlanma
Sunucunuza bağlanmanın en güvenli yollarından biri bir SSH Anahtarı kullanmaktır. SSH Anahtarı kullandığınızda, sunucuya şifre olmadan erişebilirsiniz. Ayrıca, sunucuya şifre ile ilgili parametreleri değiştirerek sunucuya şifre erişimini tamamen kapatabilirsiniz. sshd_config dosya.
Bir SSH Anahtarı oluşturduğunuzda iki anahtar vardır: Halk ve Özel. Genel anahtar, bağlanmak istediğiniz sunucuya yüklenir ve özel anahtar, bağlantıyı kuracağınız bilgisayarda saklanır.
ile bir SSH anahtarı oluşturun. ssh-keygen bilgisayarınızda komut. bırakma parola alanı boş bırakın ve buraya girdiğiniz şifreyi unutmayın. Boş bırakırsanız, ona yalnızca SSH anahtar dosyası ile erişebileceksiniz. Ancak bir parola belirlerseniz, anahtar dosyasına sahip bir saldırganın parolaya erişmesini engelleyebilirsiniz. Örnek olarak, aşağıdaki komutla bir SSH anahtarı oluşturabilirsiniz:
ssh-keygen
8. SSH Bağlantıları için IP Kısıtlamaları
Güvenlik duvarı çoğu zaman kendi standartlarındaki çerçeveleri kullanarak erişimi engeller ve sunucuyu korumayı amaçlar. Ancak bu her zaman yeterli değildir ve bu güvenlik potansiyelini artırmanız gerekir.
Bunu yapmak için, açın /etc/hosts.allow dosya. Bu dosyaya yapacağınız eklemeler ile SSH iznini kısıtlayabilir, belirli bir IP bloğuna izin verebilir veya tek bir IP girip red komutu ile kalan tüm IP adreslerini engelleyebilirsiniz.
Aşağıda bazı örnek ayarlar göreceksiniz. Bunları yaptıktan sonra değişiklikleri kaydetmek için SSH hizmetini her zamanki gibi yeniden başlatın.
Linux Sunucu Güvenliğinin Önemi
Veri ve veri güvenliği konuları oldukça detaylıdır ve tüm sunucu yöneticileri tarafından dikkate alınmalıdır. Saldırıların ana odağı web sunucuları olduğundan ve bir sistemle ilgili hemen hemen tüm bilgileri içerdiğinden sunucu güvenliği çok hassas bir konudur. Çoğu sunucu Linux altyapısı üzerinde çalıştığından, Linux sistemine ve sunucu yönetimine aşina olmak çok önemlidir.
SSH güvenliği, sunucuları korumanın yollarından sadece biridir. Bir saldırıyı durdurarak, engelleyerek veya yavaşlatarak aldığınız hasarı en aza indirmeniz mümkündür. SSH güvenliği sağlamanın yanı sıra Linux sunucularınızın güvenliğini sağlamak için uygulayabileceğiniz birçok farklı yöntem vardır.