SSH anahtar doğrulama neden parola doğrulamadan daha iyidir?


45

Bu kavramsal olduğu kadar teknik bir soru değil. Bir SSH anahtarında kullanılan şifrelemenin normal bir şifreden çok daha güçlü olduğunu biliyorum, ama neden daha güvenli olduğunu anlamıyorum.

Okuduğum çoğu öğretici, parola doğrulaması yerine SSH anahtar doğrulaması kullanmanızı önerir. Ancak benim anladığım kadarıyla, önceden onaylanmış bir müşteri makinesine erişimi olan herkes sunucuya bağlanabilecek ve bu da SSH anahtarının sağladığı güvenlik seviyesinin yalnızca fiziksel güvenlik seviyesinin kadar güçlü olacağı anlamına geliyor. müşteri makinesi

Örneğin, ev makineme bağlanmak için telefonumda bir SSH anahtarı ayarlarsam, telefonumu kaybedersem ve birisi kilidini açmayı başarırsa, ev makineme bağlanabileceklerdir. Telefonumun anahtarını ev makinemden çıkarabileceğimi biliyorum, ancak istemci cihazın kaybolduğunu / ihlal edildiğini fark edene kadar savunmasızım.

Bir şeyi yanlış mı anladım, yoksa bu geçerli kaygılar mı?


10
İkisini de yapın - şifre gerektiren bir anahtar. Bu şekilde tanımlanması için iki şeye ihtiyacınız var, sadece bir tanesine değil. Ayrıca kaybolan anahtarları oldukça kolay bir şekilde geçersiz kılabilir ve bunun üzerinde daha fazla kontrol için birden fazla yetkili anahtarınız olabilir.
Phoshi

2
Bu muhtemelen güvenliğe taşınmalıdır.

10
@ DKGasser: Hayır, olmamalı. Bu, tamamen geçerli bir soru. Bir şey sırf olabilir başka SE sitesine taşınacak o anlamına gelmez gerekir .
Wuffers

4
@DKGasser: O olabilir orada mükemmel geçerli bir soru, bir siteye gitmek. Fakat bu aynı zamanda burada geçerli bir sorudur, dolayısıyla onu taşımak için hiçbir neden yoktur. Eğer bu soru burada konuyla ilgilenseydi, o zaman evet, oraya taşınabilirdi. Ancak bu sitede kesinlikle konu var ve bu nedenle taşınmamalı.
Wuffers

3
VE unutmayın, SSH anahtarı asla ağ üzerinden geçmez. Uzak sunucu ASLA, yalnızca ağ üzerinden gönderilen değil, uzak sunucuya gönderilen bir parola yerine anahtarı alamaz. Bir dahaki sefere hangi şifreyi kullanacağınızdan emin olmadığınızı düşünün ve başka hesaplarda kullanılabilecek birkaç tanesini deneyin! Bu sunucuya hangi şifreleri gönderdiniz ???
9mjb

Yanıtlar:


40

SSH servisiniz parola tabanlı doğrulamaya izin veriyorsa, İnternet bağlantılı SSH sunucunuz, kullanıcı adlarını ve şifrelerini tahmin etmeye çalışarak bot ağları tarafından gece ve gündüz dövülecektir. Bot ağı bilgi gerektirmez, sadece popüler isimleri ve popüler şifreleri deneyebilir. John adında, qwerty123 şifresiyle çok sayıda insan var. Her şeyden başka, bu sizin loglarınızı tıkar.

SSH hizmetiniz yalnızca genel anahtar kimlik doğrulamasına izin veriyorsa, saldırganın sunucuda depolanan genel anahtara karşılık gelen özel bir anahtarın bir kopyasına ihtiyacı vardır. Sadece rastgele saldırılar yapamazlar, kullanıcılarınız hakkında önceden bilgi sahibi olmalı ve SSH sunucunuzun yetkili bir kullanıcısının PC'sinden özel bir anahtar çalabilmelidirler.

Özel anahtarların genellikle uzun bir parola cümlesiyle korunduğu gerçeği, ikincil öneme sahiptir.

Güncelleme:

Yorumlar işaret ettiğine göre ve deneyimlediğim gibi, SSH hizmetinizi 22 numaralı bağlantı noktasından yüksek numaralı bir bağlantı noktasına taşımak, kayıtlarınızda görünen yetkisiz oturum açma girişimi sayısında çarpıcı bir fark yaratıyor. Bu yapmaya değer ama ben belirsizliğin (yanlış bir güvenlik duygusu) bir güvenlik biçimi olarak görüyorum - er ya da geç bot ağları, yavaş gizli port taraması yapacak ya da kasıtlı olarak hedefleneceksiniz. Hazırlanmak daha iyi.

Özel anahtarımı korumak için her zaman uzun bir parola kullanıyorum, bunun daha kolay kaybedilebilen veya çalınabilecek mobil cihazlarda özellikle önemli olduğunu düşünüyorum.

Ayrıca, http://xkcd.com/538/

Güvenlik


7
+1 dışında, herkese açık anahtar kimlik doğrulaması, günlüklerinizin bağlanmaya çalışan botlarla tıkanmasına neden olmayacak Bunu durdurmak için, SSH sunucunuzu yüksek bir bağlantı noktasında çalıştırın (örneğin 22 yerine 9876). O zaman size vurmak isterlerse önce sizi kandırmaları gerekir ve botlar genelde çok fazla zaman kaybetmezler ... 22'de bir sürü SSH sunucusu var.
Ex Umbris

3
Günlük boyutuyla dalga geçmiyorsunuz - / var / log / secure benim giriş denemelerimin megabaytlıklarından kilobaytlara (sadece giriş kayıtlarımla) geçti.
John C

2
+1 İlginç, şifre bazlı auth ile çalıştırdım .. 10 yıldan beri .. lol .. Verilen, herkese açık olarak ssh portlarım asla 22 numaralı portu değil. Botnet'lerin portu beni taramasını sağlayın ve her yere basmaya çalışın liman yapabilirler? İyi bilgi, teşekkürler.
James T Snell

2
@ExUmbris portu değiştirmek yerine fwknop: Single Packet Authorization ve Port Vurmayı kullanmayı düşünmelisiniz . Buradaki fayda açıktır: SPA'ya kapıyı vurmadan limana girme izni verilmediği sürece kimsenin limanın herhangi bir yerde açık olduğunu görmesine izin vermediğiniz zaman, nmap ile bulmaya bile çalışamazlar. sömür. Bu gizlilik yoluyla basit güvenlikten çok daha iyidir.
aculich

@ aculich Limanı değiştirmek "gizlilik yoluyla güvenlik" değildir. Tek yaptığım kayıtların uyarılara uymasını engellemek. Ancak, SPA ile güvenliği artırmak için geçerli bir noktaya sahipsiniz .
Eski Umbris

8

Mantık, SSH anahtarlarının şifrelerden çok daha fazla kombinasyonunun bulunmasıdır, bu yüzden tahmin edilmesi çok zordur. SSH tuşlarını kullanmak, internet üzerinden yapılan otomatik saldırıların çoğunun işe yaramayacağı anlamına gelen parola doğrulamasını devre dışı bırakmanıza da olanak tanır.

Fiziksel güvenlik ile ilgili olarak, bir parola kaydetme ile cihazınızda kaybolması veya çalınması durumunda şifrelenmemiş bir SSH anahtarının bulunması arasında bir fark yoktur. Sahip olabileceğiniz tek avantaj, şifrenizin kimsede olmamasıdır ve teorik olarak tüm cihazların farklı SSH sertifikalarına sahip olduğundan emin olabilirsiniz; böylece bir tanesini telefonunuz için devre dışı bırakabilirsiniz.

SSH anahtarlarını parola korumanın da mümkün olduğuna inanıyorum.


Yine de, sshd'ye karşı şifre zorlama girişimlerinin, sshd'ye karşı (örneğin fail2ban) algılanıp korunabileceğini, özel anahtarınızı çalan bir kişinin bilgisayarında (veya küme) izin verdiği hızda şifreleri deneyebileceğine dikkat etmek önemlidir. onlar. Bu hala büyük bir saldırı değil , ancak makul bir fail2ban politikasına karşı oranlarını büyük ölçüde artırdı.
Xiong Chiamiov


1

Şifreler ayrıca klavyenizin "omzunuzun üzerinden" izlenmesiyle de tehlikeye girebilir. Buna ek olarak, birçok yerde benzer şifreleri kullanmak, özellikle de parola bazen potansiyel keylogger'ları olan daha az güvenli bir bilgisayarda kullanılıyorsa, bir zayıflıktır.

Bilgisayarın çalınması durumunda şifrelenmemiş bir anahtarın sabit diskten okunabileceği konusunda haklısınız, bu yüzden bir şifre ile şifreleyin.

Bilgisayarınız kötü amaçlı yazılımdan etkilenirse, ne olursa olsun doldurulursunuz .. - birisi şifreli anahtarı alabilir ve şifrenizi yazabilir.


1
Not: ancak programlı olarak kullanılacaksa (örn. Bir komut dosyasında) anahtarınızı bir parola ile şifreleyemezsiniz.
TheStoryCoder
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.