Gördüğünüz mesaj ayrı bir konudur. Bağlandığınız ana bilgisayarın olmasını beklediğiniz ana bilgisayar olduğunu onaylamanızı istiyor. Sunucudan parmak izini çalıştırarak alabilirsiniz ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
. Ardından, ilk kez uzaktan bağlanırken, parmak izlerinin eşleştiğinden emin olabilirsiniz.
Burada hareket halinde görülen ana bilgisayar anahtarları, orta saldırılardaki insan sorununu ele alıyor - belki de DNS altüst edildi ve kendi yerine bir rakibin makinesine bağlanıyorsunuz. Bu makine kimlik bilgilerinizi toplar ve bilmeden bilgilerinizi çalmak için şeffaf bir şekilde gerçek sunucuya bağlantınızı iletir. Ana bilgisayar anahtarının eşleştiğinden emin olmak, saldırgan sunucunuzun genel anahtarını gerçekten çalmadıkça bunun olmasını engeller.
Yine de bir sorun var - hangi anahtarın doğru olduğunu nereden biliyorsunuz? İlk bağlantıdan sonra, ortak anahtar ~/.ssh/known_hosts
dosyanızda saklanır , bu nedenle sonraki bağlantılar iyidir. Ancak ilk kez, parmak izini almak için bant dışı bir yola ihtiyacınız var, ya da "TOFU" modelini izliyorsunuz: ilk kullanımda güven.
Ancak bunların hiçbirinin parolalarla anahtarlarla ilgisi yoktur, ancak hem anahtarların hem de parolaların bu saldırı ile çalınabilmesi dışında - bir anlamda, istediğiniz güvenlik açığıdır.
Parolaların anahtarlardan daha kötü olmasının en az üç nedeni vardır:
- Kaba zorlanabilirler. Tipik bir kullanıcı tarafından seçilen 8 karakterlik şifre yaklaşık 30 bit tahmin entropisine sahiptir. Bir ssh genel / özel anahtar çifti 1024 bit veya daha büyüktür. Bir ssh anahtarını kaba zorlamak etkili bir şekilde imkansızdır, ancak otomatik şifre tahmini her zaman gerçekleşir.
- Aptal olabilirler. Kullanıcılar, kısıtlamalar yerinde olsa bile rutin olarak korkunç şifreler seçerler ve birden fazla yerde daha sert şifreler kullanma eğilimindedirler. Bu açıkça saldırıları kolaylaştırır.
- Parolalar uzaktan çalınabilir. SSH kullanırken, şifre kabloda şifrelenir, ancak ssh sunucusunun güvenliği ihlal edilmiş sistemlerde tüm şifreleri günlüğe alan bir sistemle değiştirilmesi çok yaygındır. Anahtarlarla, özel anahtar yerel sistemde kalır ve hiçbir zaman gönderilmez ve bu nedenle istemci makineden ödün vermeden çalınamaz.
Ek olarak, ssh anahtarları, benzer bir şeyle kullanıldığında kolaylık sağlar ssh-agent
- makul bir güvenlik derecesini korurken, her seferinde yeniden kimlik doğrulaması yapmadan bağlantının sorunsuz çalışmasını sağlarsınız.
Her ikisini de sormanın önemli bir avantajı yoktur, çünkü özel anahtarı çalmaya yeterli erişimi olan biri kullanıcının parolasını da kolayca çalabilir. Bundan daha fazla güvenliğe ihtiyacınız varsa, RSA SecurID veya WiKID gibi iki faktörlü bir kimlik doğrulama sistemine bakmayı düşünün .