2010-02-01 12 views
19

Yıllar önce, Unix şifrelerinin 8 karakterle sınırlı olduğu veya 8 karakterden uzun bir şifre yapmış olmanız halinde ekstra bir şey yapamayacağı anlaşılırdı.Modern Unix/Linux sistemlerinde parolalar hala 8 karakterle sınırlıdır?

Bu, modern Unix/Linux sistemlerinin çoğunda hala geçerli mi?

Böyle bir durumda, çoğu sistemde daha uzun parolalar ne zaman mümkün oldu?

Belirli bir sistemin daha uzun parolaları destekleyip desteklemediğini anlamanın kolay bir yolu var mı? Varsa, etkin maksimum (varsa) ne olurdu?

Bu konuyla ilgili bir web araması yaptım ve kesin bir şey bulamadım; Ortaya çıkanların çoğu, 8 karakter sınırının hala yaygın olduğunu düşündüğüm 2000'lerin başından beri (ya da bu sınıra bağlı kalmayı gerektirecek kadar yaygın) idi.

cevap

12

glibc2 (herhangi bir modern Linux dağıtımı) sonra da anlamlı davranır (sihirli tuz öneki provoke) MD5/SHA-xxx kullanabilirsiniz şifre şifreleme fonksiyonu tüm giriş karakterleri (man 3 crypt bakınız) olarak. - örneğin

#!/bin/perl -w 
my $oldsalt = '@@'; 
my $md5salt = '[email protected]@$'; 
print crypt("12345678", $oldsalt) . "\n"; 
print crypt("123456789", $oldsalt) . "\n"; 
print crypt("12345678", $md5salt) . "\n"; 
print crypt("12345678extend-this-as-long-as-you-like-0", $md5salt) . "\n"; 
print crypt("12345678extend-this-as-long-as-you-like-1", $md5salt) . "\n"; 

(sistemimde hangi verir)

@@nDzfhV1wWVg 
@@nDzfhV1wWVg 
[email protected]@$PrkF53HP.ZP4NXNyBr/kF. 
[email protected]@$4fnlt5pOxTblqQm3M1HK10 
[email protected]@$D3J3hluAY8pf2.AssyXzn0 

Diğer * ix varyantlar benzer destekler: Sisteminizde basit bir test için, böyle bir şey deneyebilirsiniz crypt(3) since at least Solaris 10. Ancak, standart olmayan bir uzantıdır - POSIX does not define it.

+1

md5 hash $ 1 $ 'kullanarak ** 22 ** yaşında. Oldukça uzun bir süre için 'gölge' yutmak için varsayılandı, ancak şu an güvensiz durumda. Kimse 2010 yılında ciddi olarak kullanmamıştı. Eski şifrede des kullanılmıştır ve tüm karakterler önemli değildir. Bu gerçekten iyi bir şifre ile ~ 1995, kırık değildi. –

+0

@AnttiHaapala Kesinlikle öyle! Bu en basit örnek - crypt için (bağlantılı) manpage, SHA-256 için 5 $ ve SHA-512 için $ 6 $ gibi algoritma için başka değerler verir. – jmb

1

Bu article ilginizi çeker. Parolanın geçerli olup olmadığını belirlemek için parolanızı bir dizi modülle (/etc/pam.d/passwd veya /etc/pam.conf olarak yapılandırılmış) çalıştıran PAM (Parola Doğrulama Modülü) adı verilen bir şey vardır.

4

Linux için değil. MD5 Karma'yı devre dışı bırakırsanız sadece 8'dir.

http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/security-guide/s1-wstation-pass.html

Sen artık zorlama politikaları ve daha karmaşık şifreleri de yönetebilirsiniz.

tam uzunlukları burada tartışılır:

http://www.ratliff.net/blog/2007/09/20/password-length/

+1

Linux bugünlerde hala MD5 kullanıyor mu? Soruyorum çünkü kırık olduğu düşünülüyor. –

+0

@Steven: IIRC, evet varsayılan olarak hala MD5 kullanıyor. Ancak, oldukça iyi bir tuz kullanır, bu yüzden gökkuşağı masa saldırılarından biraz daha güvenlidir, ancak olabildiğince güvenli değildir. – rmeador

+1

İlginç. Bazı Unix türevlerinin birden fazla karma algoritmayı desteklediğini hatırlıyorum. –

0

Ben zaman etrafında düşünmek gerçek şifreleri Linux üzerinde, gölge için/etc/passwd taşındı zaman. 2000 civarında tahmin ediyorum, Red Hat 6.x uzun şifreler IIRC'ye sahipti. 2000 civarında hala çok sayıda eski SUN vardı ve şifre ve kullanıcı adı limitleri vardı.

5

crypt algoritması hakkında sorularınız mı var? "Tuşunun ilk sekiz karakterden her birinin en düşük 7 biti alınarak ..."

http://linux.die.net/man/3/crypt

"Bu işlevin glibc2 sürümü şu ek özelliklere sahiptir. ... Tüm anahtar burada önemli (sadece ilk 8 bayt yerine).

Bu değişikliğin ne zaman gerçekleştiğine dair bir ipucu. original DES-based algorithm rağmen

Glibc 2 HOWTO 
    Eric Green, [email protected] 
    v1.6, 22 June 1998 
12

ancak şimdi ayrıca bu sınırı yok böyle MD5 gibi diğer şifre hash algoritmaları destekleyen şifre, Linux, Solaris ve diğer yeni sistemlerin ilk 8 karakteri kullanılır. Bazen ağınız eski sistemler içeriyorsa ve NIS kullanılıyorsa eski algoritmayı kullanmaya devam etmeniz gerekir. 8 karakterlik şifrenizin sadece ilk 8 karakterini girdiğinizde sistem sizi giriş yapacaksa eski DES tabanlı algoritmanın hala kullanılmakta olduğunu söyleyebiliriz.

Bu bir karma algoritma olduğundan, MD5'in içsel bir sınırı yoktur. Bununla birlikte, çeşitli arayüzler genellikle some limit of at least 72 characters'u uygular.Orijinal olarak şifrelenmiş parola, dünyaca okunabilir bir dosyada (/etc/passwd) depolanmış olmasına rağmen, şimdi genellikle yalnızca kök tarafından okunabilen ayrı bir gölge veritabanında (örneğin, /etc/shadow) depolanır. Bu nedenle, algoritmanın gücü bir zamanlar kadar önemli değil. Ancak MD5 yetersiz ise, bazı sistemlerde Blowfish veya SHA kullanılabilir. Solaris, any crazy scheme'u kullanmanıza izin veren, takılabilir şifre şifreleme modüllerini destekler. Tabii ki LDAP veya başka bir paylaşılan kullanıcı veritabanı kullanıyorsanız, tüm sistemlerinizde desteklenen bir algoritma seçmeniz gerekecektir.

+0

Harika bilgi ve bağlantılar - cevap verdiğiniz için teşekkürler! Çok iyi cevaplar vardı, bu yüzden şifreleri kullanıp kullanamayacağımı belirlemek için bana şifre veren birisini "kabul ediyorum" dedim, ama sizinkini de içeren tüm iyi cevapları yükselttim. Teşekkürler! – Chirael

+0

Sorun değil. BTW, 8 karakterden daha uzun parolalar kullanmak için her zaman * güvenlidir *, sadece şifreniz stackoverflow ise, stackoverload'u da kabul edebilir. Fazladan karakterleri eklemek hatırlamayı kolaylaştırır ve güvenliği azaltmayacaktır. Ayrıca, tüm algoritmaların karma çarpışmalara sahip olabileceğini ve özellikle uzunsa, birden fazla şifreyi kabul edeceğini unutmayın. – mark4o

İlgili konular