SSH ortak anahtarımı iş için vermek güvenli midir?


60

Şu anda uzaktan bakım ve yükseltme için sunucularına düzenli olarak erişmemi gerektiren birkaç kuruluş için uzaktan çalışıyorum. RSA genel SSH anahtarımı .ssh/authorized_keysçok daha hızlı giriş yapmama / şifreleri aramak zorunda kalmama izin vermek için dosyaya eklemem güvenli midir? Özel anahtarın kamuoyundan üretilmesinin imkansız olduğu varsayımı altında çalışıyorum, ancak benim varsayımımda mıyım?

Bir adım daha ileri götürmek, RSA kamu anahtarımın içeriğini internete gönderirken herhangi bir güvenlik riski doğurabilir mi? Özel anahtarım alınırsa, başım büyük belada, ama bunun dışında, olası herhangi bir güvenlik tehdidi var mı?


Yanıtlar:


77

Evet, özel anahtarı açık anahtardan kurtarmak mümkün değildir. Mümkün olsaydı, RSA temelde kırılırdı ve bu büyük bir haber olurdu (RSA’yı çiğnemek sadece İnternet iletişim güvenliğini kırmakla kalmaz, aynı zamanda diğerleri arasında her türlü bankacılık dolandırıcılığına izin verirdi).

Aslında bir şifre yerine ortak bir anahtarla giriş yapmak, güvenliği artırma eğilimindedir. Şifreniz yeterince güçlü değilse, yeterli bant genişliğine sahip bir saldırgan tarafından kaba bir şekilde zorlanabilir. Saldırganın özel anahtar dosyanızın bir kopyası yoksa, RSA anahtarı etkili bir şekilde kaba şekilde zorlanamaz (1024 bitlik bir anahtar, rastgele büyük / küçük harf duyarlı harflerden ve rakamlardan oluşan 160 karakterlik bir parola gibi bir şeye eşittir) . Omzunuzu izleyen biri şifrenizi ve anahtar parolanızı görebilir, ancak bir anahtarla da anahtarı almaları gerekir.

Özel anahtarlar her zaman şifrelerden daha güvenli değildir. Saldırgan, özel anahtar dosyalarınızın bir kopyasını alırsa (örneğin, dizüstü bilgisayarınızı veya yedekleme ortamınızı çalarak), parolayı kaba bir şekilde zorlamaya çalışabilir ve sınırlandırmak için hiçbir yolunuz olmadığı için yüksek hızda yapabilir. oranı (çevrimiçi yapılması gereken şifre tahminlerinin aksine). Parolanız yeterince iyiyse ve hırsızlığı hemen fark ederseniz, anahtarı iptal etmek için zamanınız olacaktır.

Açık anahtar, gizliliğe maruz kalmanın bir unsurunu ortaya çıkarır: eğer birisi, A'ya giriş yapmak ve B'ye giriş yapmak için aynı ortak anahtarı kullandığınızı bilirse, A ve B'ye giriş yapan aynı kişiyi bilirler. Bir de özel anahtarınız olduğundan şüpheleniyorsunuz, bu yüzden bir miktar anonimliği yitiriyorsunuz. Ancak bu genellikle küçüktür, özellikle de anahtarı ~/.sshyalnızca sistem yöneticilerinin (giriş yaptığınız hangi IP adresini bildiğini de bilen) görebildiği bir yerde saklıyorsanız .

Bu güvenlik hususları bir yana, özel bir anahtarın birçok pratik avantajı vardır. Parolanızı çok sık yazmanız gerekmez ve özellikle anahtarınızı ssh-agent ya da benzeri bir öğeye girdikten sonra size sormayan otomatik komut dosyalarını çalıştırabilirsiniz. Parolanızı çok sık yazmanız gerekmez, böylece daha yüksek entropi (daha uzun, daha zor yazılan) yapmak için göze alabilirsiniz. Parolanızı çok sık yazmak zorunda değilsiniz, bu yüzden bir insan gözlemci veya kamera tarafından engellenme riski daha azdır.


@NaftuliTzviKay Aslında burada gözden kaçırılması gereken bir şey var. Genel anahtarınızı kullanmak için, içinde bulunduğunuz sistemin özel anahtarınıza erişmesi gerekir. Bu iyi. Bu özel anahtar bu sistemde saklanırsa, savunmasız ve uzaktaki sistem savunmasız kalır. Bu iki şey yardımcı olur, şifreli ev klasörleri ve anahtarınızdaki bir şifre. Bu nedenle, PKI tarafından sağlanan güvenlikte tam bir artış elde etmek için, bir miktar verimlilik kaybedeceksiniz. Siz veya kuruluşunuz, hattın nereye çizileceğini belirlemek için risk analizi yapmanız gerekir.
Xalorous

16

Gilles’un cevabı genellikle iyidir

... özellikle sadece ~ / .ssh anahtarını saklıyorsanız, sadece sistem yöneticilerinin (kimden hangi IP adresini girdiğinizi bilen) görebilmesi için.

Ssh anahtarlarınız ~/.ssh, kendi hesabınız altında çalışan herhangi bir yazılım tarafından da okunabilir. Muhtemelen çalıştırdığınız yazılımın çoğu . Öyleyse bu yazılıma ve yazanlara güvenmelisin.


2
Bu nedenle daima şifreli SSH anahtarlarını kullanmalısınız
ItalyPaleAle
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.