SSH Anahtar Değişimi şifre kimlik doğrulamasından daha güvenli mi?


9

Uzak kullanıcılar, SSH kullanarak ana ofisimizdeki çeşitli servislere internet üzerinden bağlanır. SSH şifresi, LAN A / D hesabıyla senkronize edilir.

Kullanıcıların CD veya kağıt gibi bir şeyi kullanarak SSH anahtarının bir kopyasını eve getirmeleri, kullanıcıların parolalarını girmekten daha güvenli olur mu? Yoksa ikisine de ihtiyacım var mı?

Sorum muhtemelen şu şekilde yeniden formüle edilebilir: SSH'nin şifre kimlik doğrulama protokolünde herhangi bir güvenlik açığı var mı?

Beni şüphe eden bu mesaj:

The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:.
Are you sure you want to continue connecting (yes/no)?

Yanıtlar:


22

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_hostsdosyanı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:

  1. 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.
  2. 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.
  3. 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 .


Mükemmel cevap. Tam aradığım şey. Teşekkürler!
srmark

3 numaralı numara) Zaten zaten zarar görmüş bir sunucuya giriş yapıyorsanız ... neden birisi şifrenizi ister? Düşünebilmemin tek nedeni, her yerde aynı şifreyi kullanmanızdır.
Sirex

Sirex - sağ; şifrenizi çalar ve diğer sistemlerde kullanırlar. Parolaların "LAN A / D" olarak kullanıldığı sorusuna dikkat edin. Yani, ssh oturum açma sunucusundan parolanızı çalarlar ve daha sonra Windows sunucusuna da erişirler. Buna ek olarak, şimdi, sistem tehlikeye girdiğinde, "tamam, herkes şifrenizi tekrar değiştirir" yangın tatbikatından geçmek zorundasınız.
mattdm

Numara 2'de belirtildiği gibi Ayrıca, kullanıcılar edilir her yerde aynı şifreyi kullanarak. İç çekmek.
mattdm

sinir bozucu kullanıcılar ile aşağı! :(
Sirex

1

gerçekten sorduğunuz şey, "diğerlerinden daha iyi bir faktördür", konu çok faktörlü kimlik doğrulamasıdır ve konuyu incelemeniz önerilir.

Genellikle bir "faktör" bildiğiniz bir şeydir (şifre), sahip olduğunuz bir şeydir (ssh dosyası veya anahtar kaydırma kartı) veya olduğunuz bir şeydir (parmak izi).

Biri başına anouther daha iyi değil, ücretsizdir. Anahtar dosyasıyla birlikte bir cd kaybetmek, ihtiyacınız olan tek şeyse parolanızı ifşa etmek kadar kötüdür. Güvenli ortamlar için iki faktörlü kimlik doğrulama yaygındır.


Evet, ne dediğini anlıyorum. Bu durumda, sadece şifre kimlik doğrulamasının ortada insan gibi bir şey kullanarak saldırıya uğrayabileceğini öğrenmeye çalışıyorum.
srmark

ssh için belirli bir örnek olarak, hayır, parola verme bölümü de şifreli olarak ve oturum sırasında tuşları değişir (30 saniye inanıyorum). Bu parola vs
passkey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.