SSH RSA anahtarım için bir parolaya ihtiyacım var mı?


71

Mevcut işime başlamadan önce (küçük bir işletmede) ofisimin ağda güvenlik duvarı yoktu ve kelimenin tam anlamıyla hiçbir şey desteklenmiyordu. Şimdi adanmış bir sysadmin / one-man-IT-departmanı olarak imza attığım için, bunu değiştirmek için elimden geleni yapıyorum. Patronuma ne kadar savunmasız olduğumuzu açıkladıktan sonra, biri evinde olan bazı yedekleme sunucuları kurmama izin verdi.

Şu anda her şeyi ayarlamaya çalışıyorum, böylece günlük yedeklemeleri otomatikleştirebiliyorum. Bunu yapmak için rsync komutunu ssh ile kullanmayı düşünüyorum. Hem güvenlik hem de otomasyon kolaylığı açısından, ssh şifre girişini devre dışı bırakmayı ve sadece rsa anahtar doğrulamasını kullanmayı düşünüyordum. Eğer bir şifre şifresi ayarladıysam, yine de bir şifre girmem gerekecek ve bu bir problem.

RSSA parolasına sahip olmamak işleri daha az güvenli hale getirir mi? Bu tür bir konuda herhangi bir ipucuna sahip olan şirketteki tek kişi benim, bu yüzden makinemde bir terminali çağıran birileri için endişelenmiyorum (zaten AFK'dayken her zaman kilitlendi) ) ve yedekleme sunucularından birine girip herhangi bir hasar vermesi. Sistem yönetimi dünyasında hala çok ama çok yeniyim ve bu benim ilk defa böyle bir şey yapıyor ve güvenlik kurulumunda hiç boşluk bırakmak istemiyorum.

Burada söz konusu olan bilgisayarlar Ubuntu 10.10, KOBİ Sunucusu ve OSX 10.6 kullanıyor.


5
Anahtarınızda bir parola bulunmadığından güvenlikte herhangi bir kayıp olmamalıdır. Anahtarın güvenlik bütünlüğünü bu noktada korumak bir bütün halinde olabilir çünkü birileri onu kopyalayabiliyorsa, onları kullanmasını önleyecek gizli bir anahtar yoktur.
Chris Marisic

1
Belki de sadece benim, ama yukarıdaki yorumun ne söylemeye çalıştığı hakkında hiçbir fikrim yok.
underscore_d

3
@underscore_d Temelde şöyle diyor: SSH güvenliğinde anahtarlarınız için parolaların bulunup bulunmadığının bir etkisi yok, ancak anahtarlarınızı yerel olarak güvende tutmak zorundasınız.
Hartator

Yanıtlar:


89

Bildiğiniz gibi, parolanın size sağladığı avantaj, eğer birileri özel anahtarınızı okuyabilirse, kullanamayacaklarıdır.

Birisi bu özel anahtara erişebiliyorsa, ortak anahtarla kurulan makinelere erişme (ed) / ödün verilmiş olmalarına izin vermelisiniz. .Bash_history veya .ssh / config gibi şeyler, .ssh / known_hosts'unuz karışık olsa bile bunu kolaylaştırır.

Anahtarınızda şifreniz olmaması dünyanın sonu değil, buna rağmen kendinizi daha iyi korumanıza yardımcı olacak 3 fikir. ( The biggie ikinci, başka bir şey değilse, bunu okuyun )


  1. Aynı anahtarı tüm makineler ve kullanıcılar arasında kullanmayın. Her bir makinedeki her kullanıcıyı (bu tür bir şeyi yapması gereken) kendi anahtar çiftini oluşturun. Bu, nerede ssh yapabildiğine dair iyi kontrol sahibi olmanı sağlayacak.

  2. Yetkili_keyler dosyanıza anahtarı eklerken, yalnızca belirli bir komutu çalıştırabilmek veya yalnızca belirli bir ana bilgisayardan kullanmak için kilitleyebilirsiniz.

    Komutu görmek man sshve aramak = ve from =

    Sözdizimi şöyle bir şeydir:

    from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name

    yani orada pop 'rsync' ve sadece 'rsync' anahtarınızla ve sadece IP adres 1.2.3.4'ten çağrılabilir . Birden fazla IP ile ayrılabilir ,. Ana bilgisayar adları da desteklenmektedir.

  3. Akla gelen bir başka şey, sshd_config'inizdeki 'AllowUser' yönergesidir.

    AllowUsers

    Bu anahtar kelimeyi boşluklarla ayrılmış bir kullanıcı adı kalıpları listesi izleyebilir. Belirtilirse, oturum açmaya yalnızca modellerden biriyle eşleşen kullanıcı adları için izin verilir. '*' ve '?' desenlerde joker karakterler olarak kullanılabilir. Sadece kullanıcı adları geçerlidir; sayısal bir kullanıcı kimliği tanınmıyor. Varsayılan olarak, tüm kullanıcılar için giriş izni verilir. Kalıp USER @ HOST şeklini alırsa, USER ve HOST ayrı ayrı kontrol edilir ve belirli kullanıcılara girişleri belirli ana bilgisayarlardan kısıtlar.

    Bu temelde kullanıcının yalnızca belirli bir konumdan giriş yapmasını sağlar. (joker karakterleri de kabul etmesine rağmen) Tüm sorunlarınızı çözmeyecek, ancak en azından başkaları için zorlaştıracak.


1
Güzel - bu tam olarak bilmem gereken şeydi. Çok teşekkür ederim!
eckza

3
Hiç sorun değil, sadece ayrıntılı bir liste olarak almayın! :-) Aklıyla auth.log / secure vb. Gözden geçirme gibi şeyler.
PriceChild

3
Parolanın çalınmasından endişelenmek yerine denetleme mi?
Ehtesh Choudhury,

3
@shurane İkisini de yap!
PriceChild

4

Bir parolayı daha az acı verici hale getirmek için anahtarlık gibi bir şey kullanabilirsiniz . Bu, şifresiz bir giriş yapmaktan biraz daha güvenlidir ve buradaki diğer cevaplarla birlikte kullanılabilir. PriceChild'in cevabı oldukça iyiydi.


-4

Şahsen DSA'yı RSA kullanmıyorum, çünkü her zaman kullandığım şeydi ve 'sadece işe yarıyor' olduğunu biliyorum, ancak sanırım teorisi aynı. Aşağıdaki dsaile değiştirebilirsiniz rsa.

Kaynakta:

$ ssh-keygen -t dsa

Ardından, .ssh/id_dsa.pubdosyanın içeriğini hedefdeki .ssh/authorized_keyskullanıcı hesabına kopyalayın .

Öyleyse kaynak ile hedef arasında parola olmadan sadece ssh yazabilmelisiniz.


1
DSA'yı DSA konusunda savunmanızın bir nedeni var mı? Ben daha çok tavsiye edilen aksini gördüm.
PriceChild

@PriceChild: AFAIK, güvenlikleri az ya da çok eşdeğerdir (yeterli anahtar boyutu varsayarsak). Kriptograf olarak kendim olmamakla, OpenSSH ve GnuPG'nin RSA'yı varsayılan anahtar algoritması olarak kullanma kararına güveniyorum. Ayrıca bu soruya bakınız .
Grawity

Gerçek bir sebep yok - özellikle kişisel tercih - bu ve RSA'nın son zamanlarda hapsolması ve hassas kodun çalınması - RSA anahtarlarıyla nasıl ilgili olduğum hakkında hiçbir fikrim yok (kim var?) .
Majenko

9
Korkarım ki "şirket RSA" üzerindeki kesimin "algoritma RSA" nın güvenliği üzerinde hiçbir etkisi yoktur. Ayrıca secure.wikimedia.org/wikipedia/en/wiki/RSA_Security'i de kontrol edin - "RSA, ortak mucitlerinin baş harflerinden sonra atanan RSA açık anahtar şifreleme algoritmasının ardından seçildi: Ron Rivest, Adi Shamir ve Len Adleman. "
PriceChild

6
@Matt: Ortak olan tek şey isim. RSA asimetrik kripto algoritması vardır, saf matematiktir hiçbir şekilde bir hırsızlık bazı şirketin sistemlerine göre olumsuz yönde etkileyebilir.
Grawity
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.