Yanıtlar:
En olası neden, bulabildikleri herhangi bir SSH girişini rastgele zorlamaya çalışan insanlar için daha zor hale getirmektir. Internet'e bakan makinem varsayılan SSH bağlantı noktasını kullanıyor ve günlüklerim bu tür öğelerle doldurulmuştu (gerçek bir günlük dosyasından alıntılanmış):
sshd[16359]: Invalid user test from 92.241.180.96
sshd[16428]: Invalid user oracle from 92.241.180.96
sshd[16496]: Invalid user backup from 92.241.180.96
sshd[16556]: Invalid user ftpuser from 92.241.180.96
sshd[16612]: Invalid user nagios from 92.241.180.96
sshd[16649]: Invalid user student from 92.241.180.96
sshd[16689]: Invalid user tomcat from 92.241.180.96
sshd[16713]: Invalid user test1 from 92.241.180.96
sshd[16742]: Invalid user test from 92.241.180.96
sshd[16746]: Invalid user cyrus from 92.241.180.96
sshd[16774]: Invalid user temp from 92.241.180.96
sshd[16790]: Invalid user postgres from 92.241.180.96
sshd[16806]: Invalid user samba from 92.241.180.96
Bu günlerde DenyHosts'u , birçok kez kimlik doğrulaması yapamayan IP'leri engellemek için kullanıyorum , ancak muhtemelen bağlantı noktaları arasında geçiş yapmak da kolay; bu tür tüm kaba kuvvet saldırıları, sshd'nizin başka bir bağlantı noktasında dinleyip dinlemediğini görmek için taramayı zahmet etmeyecek, sadece bir tane çalıştırmadığınızı ve devam edeceğinizi varsayacaklar.
Hayır, bu belirsizliğin taktiği bir güvenlik .
Eğer sshd kurulumunuz sadece port 22'yi deneyen aptal script çocuklarıyla yüzleşecek kadar uygun değilse, yine de bir sorununuz var demektir.
Daha akılcı bir tepki şöyle olur:
Bazı insanlar sshd'nin sistem günlüğüne yazdığı gürültüden de rahatsız olabilirler, örneğin:
Jan 02 21:24:24 example.org sshd[28396]: Invalid user guest from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28396]: input_userauth_request: invalid user guest [preauth]
Jan 02 21:24:24 example.org sshd[28396]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth]
Jan 02 21:24:24 example.org sshd[28398]: Invalid user ubnt from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28398]: input_userauth_request: invalid user ubnt [preauth]
Jan 02 21:24:24 example.org sshd[28398]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth
Daha sonra sinyal / gürültü oranını tekrar arttırmak için sshd bağlantı noktasını gizlemek veya otomatik bir engelleme çözümü (DenyHosts, Fail2ban veya BlockHosts gibi) kullanmak cazip gelebilir .
Ancak daha iyi alternatifler var. Örneğin, syslog arka plan programınızı sshd günlük gürültüsü yalnızca - örneğin - yazılacak /var/log/sshd-attempts.log
ve sinyal (yani kalan sshd günlük iletileri) daha /var/log/messages
önce olduğu gibi vb. Yazılacak şekilde yapılandırabilirsiniz .
Otomatik engelleme araçlarının dağıtım düşünülmelidir dikkatle da güvenliği ile ilgili sistemler araçlar daha karmaşıklık ekleyerek artan nedeniyle riski arasında sömürü . Ve gerçekten, yıllar boyunca, her DenyHosts , Fail2ban ve BlockHosts için birkaç DoS güvenlik açığı raporu vardır .
SSH portunu değiştirmek çoğunlukla güvenlik tiyatrosudur . Size bir şey yapmış gibi bulanık bir his verir. SSH portunu paspasın altına gizledin.
Internet'te bir SSH sunucusu çalıştırırsanız, aptalca zayıf parolalar, zayıf anahtarlar ve sunucunun eski sürümlerinde bilinen istismarlar arayan botlardan günlüklerinizde birçok başarısız giriş denemesi görürsünüz . Başarısız denemeler sadece şudur: başarısız denemeler. Ne kadar savunmasız olduğunuzu değerlendirirken, tamamen ilgisizdirler. Endişelenmeniz gereken başarılı saldırı girişimleridir ve bunları günlüklerinizde görmezsiniz.
Varsayılan bağlantı noktasını değiştirmek, bu tür botların isabet sayısını azaltacaktır, ancak bu yalnızca herhangi bir iyi güvenlik tarafından durdurulmuş en az karmaşık saldırganları (düzenli olarak uygulanan güvenlik güncellemeleri, makul derecede güçlü parolalar veya devre dışı bırakılmış parola kimlik doğrulaması) etkisiz hale getirir. Tek avantaj günlüklerin hacmini azaltmaktır. Bu bir sorunsa , bunun yerine bağlantı hızını sınırlamak için Denyhosts veya Fail2ban gibi bir şey düşünün , bant genişliğinizi de iyi yapar.
Varsayılan bağlantı noktasını değiştirmek önemli bir dezavantaja sahiptir: bir güvenlik duvarının arkasından oturum açma olasılığınızı azaltır. Güvenlik duvarlarının diğer rastgele bağlantı noktalarından daha çok varsayılan portlarında hizmetlere izin verme olasılığı daha yüksektir. Bir HTTPS sunucusu çalıştırmıyorsanız, SSH'nin 443 numaralı bağlantı noktasını da dinlemesini sağlayın (veya gelen TCP isteklerini 443 numaralı bağlantı noktasından 22 numaralı bağlantı noktasına yeniden yönlendirin), çünkü bazı güvenlik duvarları, 443 numaralı bağlantı noktasında kod çözemedikleri trafiğe izin verdiği için HTTPS gibi.