Anahtar tabanlı SSH kimlik doğrulamasının (özellikle OpenSSH için) parola kullanarak kimlik doğrulamasından daha güvenli olup olmadığı konusunda iş arkadaşlarımla uzun bir tartışma yaptım. İş arkadaşlarım her zaman şifreli sunuculara bağlanırken, her seferinde bir şifre girmek zorunda kalmadan sisteme giriş yapmayı tercih ederim.
Parola olmadan bağlanmanın güvenli olmadığından korkuyorlar. Onlara ne söylemeliyim? Benim için, şifreler kötü çünkü kaba zorla veya bir keylogger ile yakalanmış olabilirler.
Ben kullanıyorum
ssh-copy-id ortak anahtarımı sunucuya kopyalamak için bir araç. Daha sonra
ssh servername. Aslında, sadece özel anahtarımın şifresini girmem gerekiyor --- sistemim her açıldığında bir kez. İş istasyonum 3 gün boyunca çalışıyorsa, şifreyi bir daha asla girmek zorunda kalmam. Bu doğru mu? Anahtarların daha iyi olduğunu biliyorum, ama bunu onlara nasıl açıklayacağımı bilmiyorum.
Anahtar tabanlı oturum açma, bir üçüncü taraf sisteminden erişim elde etmek için kaba kuvvet girişimi perspektifinden bakıldığında şifre tabanlı girişlerden çok daha güvenli olarak kabul edilir: Bir anahtarı kırma şansı etkili bir şekilde sıfır, ancak kötü şifreler çok yaygındır.
Güvenliği ihlal edilmiş bir istemci sistemi (iş istasyonunuz) açısından bir fark olmayacaktır, çünkü saldırganlar özel anahtarınızı alabilir ve/veya bir oturumu ele geçirebilirse, algılanan bir tür anahtar kaydedici de yükleyebilirler. yararsız şifre avantajı.
Bilgisayarınız kadar güvenli. Anahtar şifrelenmemiş RAM'de oturuyor; makinenize fiziksel erişimi olan bir saldırgan veya uzaktan kök erişimi elde edebilir.
İş arkadaşlarınızın şifre güvenli bir program kullandığı ve şifre girişi olmadan kullanılabilir veritabanı ile ekranda bıraktığı gibi aynı terimlerle düşünün; iş istasyonunuzu uzaklaştığınızda ve düşmanca uzaktan etkinliklerden koruduğunuzda kilitlerseniz, makul derecede güvenlidir, ancak dondurulmuş bir RAM saldırı yine de teorik olarak anahtarı alabilir.
Ancak bu konumlardaki biri, işaret ettiğiniz gibi kolayca bir keylogger yükleyebilir. İş istasyonunuzun güvenliği konusunda dikkatli olduğunuz sürece, şifrelerden daha az güvenli demem; ancak anahtar tabanlı girişlerin gerçek faydaları, örneğin sunucuya karşı kaba kuvvet şifre saldırılarına karşı koruma içindir (anahtarlar kaba kuvvet uygulamak neredeyse imkansız olduğu için).
Aslında iş arkadaşlarınız doğrudur. Bunu bir düşünün .. İş istasyonlarınız çatlar, birkaç gün sürdü ve şimdi bilgisayar korsanları tüm ağınızı oluşturuyor çünkü ssh parolası kullanmıyorsunuz.
Bununla birlikte, paylaşılan şifreler hiçbir zaman iyi değildir ve sistemin büyük bir zayıflığıdır. Kök erişimi hakkında konuştuğunuzu varsayacağım.
Demek istediğim, her ikisinin de dezavantajları ve güvenliğin nerede olması gerektiği.
Yönettiğim tüm sunucular için bir parola SSH anahtarı kullanıyorum. Bu bana her iki dünyanın en iyisini verir. Yalnızca bildiğim bir şifre ve diğer kullanıcılar için paylaşılan bir şifre kullanma.
(ve evet, parolasız bir ssh anahtarının güvenliğini aşmak ve tüm ağı nerede kullandığını gördüm.
Sadece en zayıf bağlantınız kadar güvendesiniz. Uzak sunucularınız hem parola hem de anahtar tabanlı kimlik doğrulamasına izin veriyorsa, yalnızca bir tanesine izin vermekten daha az güvende olursunuz.
Parola Kimlik Doğrulaması (PA) üzerinden anahtar tabanlı bir sistem için ek güvenlik açıklarınız:
Saldırgan, herhangi bir sistemdeki şifrelenmemiş bir diske fiziksel erişim (ör. Tek kullanıcı moduna önyükleme) diyerek parola korumalı özel anahtarınızın bir kopyasını elde eder, ardından anahtarınızda GPU tabanlı bir çevrimdışı kaba kuvvet saldırısı gerçekleştirir ve parolanız uygun şekilde zayıfsa tüm sistemlerinize erişin (ör. 4 sözlü kelime).
Daha sonra kullanmak için parolanızı veya özel anahtarınızı bellekte tutan ssh-agent gibi bir şey kullanırsınız ve bir saldırgan bir şekilde sisteminizden kurtarabilir (örneğin, parolanız paroladayken başka bir kök kullanıcı oturum açmıştır).
Anahtarınız sandığınızdan çok daha az güvenliydi. Örneğin, OpenSSH anahtar zayıflığı; Burada tek rastgelelik geldi işlem kimliği böylece sadece 65536 anahtar üretildi. Bu tür sorunlar umarım hızlı bir şekilde fark edilir ve yamalanırken, bir son kullanıcı olarak bazılarının olmadığını söylemek imkansızdır. Anahtarlarınızı yapmak için kullanılan rasgele sayı üretecinde büyük kusur.
Anahtar tabanlı kimlik doğrulamayı kullanma konusundaki ekstra güvenliğiniz:
known_hostsDosyalar.
Uygulamada her ikisi de eşit derecede güvenlidir. RAM'den ssh özel anahtarları çalabilen herkes, bir keylogger kurabilir, parolalarınızı/parolalarınızı/özel anahtarlarınızı alabilir.
Şahsen, bir parola daha uygun olduğu için çözümünüzü beğendim (RAM'de saklanır; 5 dakika sonra kilitlenen tek kullanıcılı bir makinede); yine de parola korumalı özel anahtarımı yalnızca tek kullanıcı olduğum yerel makinelere koydum.
Anahtar tabanlı kimlik doğrulamanın hafif bir güvenlik avantajı olmasını sağladığına inandığım bir şey, her iki son kullanıcıyı da gördüğüm zamanlar ve hatta bazen parola iletişim kutusu yerine bir kullanıcı adı alanına parolamı girdim ( ssh istemcisine bağlı olarak). Veya enter tuşuna çok hızlı bir şekilde basın ve ssh istemcisi sonlandırıldı ve şifrem terminal geçmişime girdi.
Parolanızı her girdiğinizde dikkatli değilseniz, parolanızın muhtemelen birkaç günlük dosyasına, muhtemelen Shell geçmişine veya hatta bir tür truva atıya eklenmesi ihtimali vardır. Parolasız bir anahtar veya oturumunuzun başında bir SSH aracısına yüklediğiniz bir anahtar durumunda, asla parolanızı tekrar yazmamalısınız, bu nedenle kimlik bilgilerinizi yanlış yere yazmanız ve birisine ya da niyet etmediğin bir şeye şifre.
Bir şekilde 6's. Parola tabanlı bir oturum açma işleminin ilk güvenlik riski, yetkisiz bir kullanıcının parolayı sunucuya alması (ne olursa olsun) olacaktır. Aynı şekilde, anahtar tabanlı bir oturum açma, bazı yetkisiz kullanıcıların bilgisayarınıza erişim elde etmesinin güvenlik riskine sahiptir. Sunucuda karmaşık bir parola kullanırsanız, parola kullanıcılarının hatırlamak için bir yere yazmak zorunda kalma riskini yaşarsınız. Anahtar kullanıcıları ile, bilgisayar kilidi açıkken masalarından uzaklaşma riskini yaşarsınız.
Bunların çoğu risk/kullanılabilirlik oranına inmektedir. Tabii ki anahtarlarda parolalar isteyebilir, sadece anahtar başına belirli IP adreslerine ve diğer kilitli güvenlik önlemlerine izin verebilirsiniz, ancak bu da insanlarınızı mutsuz eder.
Ancak sorunuzu cevaplamak için: Vanilyalı bir OpenSSH yapılandırmasından bahsediyorsak, şifre tabanlı ve anahtar tabanlı girişlerin her ikisinin de farklı, farklı güvenlik zayıf noktaları vardır.
Sistemlerimdeki root için ssh üzerinden şifre girişini her zaman kapatırım. Bu şekilde, bir saldırganın parolayı zorlamaya çalışmanın bir yolu yoktur.
İstemci sistemlerinde hala güvenlik konusunda dikkatli olmalısınız. Kilit ekranınız açıldığında ssh aracısının anahtar kimlik bilgilerinizi unutmasını isteyebilirsiniz. Bu, istemci makinenize yapılan saldırıların anahtarınızı tehlikeye atmasını önlemeye yardımcı olur.
Bazı iyi cevaplar burada ama hepsi benim görüşüme işareti kaçırmak gibi görünüyor.
Kimlik doğrulama için bir anahtar çifti kullanmak, parola tabanlı bir sistemin "bildiğiniz bir şeyi", bir anahtar veya belirteç sisteminin "sahip olduğunuz bir şey" ile değiştirmektir. Bir saniyede buna geri dön.
Anahtarlar çok daha karmaşıktır. Bence çoğu SSH uygulaması varsayılan olarak 2048 RSA anahtarına ayarlanmıştır. Bunu 8 karakterlik bir parola ile karşılaştırın. 256 bit hashed olsa bile, şifreler, çünkü anahtarların rastgele olmaması kaba kaba zorlanabilir. Schneier'in bu konuda büyük gözlemleri var; sözde "iyi" şifreler bile sadece kırılabilir verilerin bir kombinasyonu olma eğilimindedir (bir sayıya sahip bir Word ve belki de bazı basit ikameler); biz insanlar çok öngörülebiliriz.
Bir anahtarın yalnızca oturum açma şifresi kadar güvenli olduğu konusunda, bu tamamen doğru değildir. Bir anahtarı başka bir parola ile sararak, güvenliği büyük ölçüde artırırsınız çünkü esasen iki faktörlü kimlik doğrulamayı kullanırsınız; sahip olduğunuz bir şeye (anahtar) erişmek için bildiğiniz bir şeyi kullanmanız gerekir (şifre). Evet, bir anahtarı kaydırmak için giriş şifrenizi kullanmak bunu zayıflatacaktır.
Orijinal postere göre, hem sizin hem de iş arkadaşlarınızın yanlış olduğunu söyleyebilirim. Onlardan daha az olabilirsiniz, ancak doğru cevap hem bir anahtar hem de bir şifre kullanmanızdır.