Quali metodi vengono utilizzati per crittografare le password in / etc / passwd e / etc / shadow?


19

Un attento esame dei file /etc/passwde /etc/shadowrivela che le password memorizzate sono sottoposte a hash usando una qualche forma di funzione di hashing.

Una rapida ricerca su Google rivela che, per impostazione predefinita, le password sono crittografate utilizzando DES . Se una voce inizia con $, indica che è stata utilizzata un'altra funzione di hashing.

Ad esempio, alcune voci sulla mia macchina Ubuntu iniziano con $6$...

Cosa rappresentano i vari numeri?

Risposte:


28

L'elenco completo è in man 3 crypt( versione web ):

          ID  | Method
          -------------------------------------------------
          1   | MD5
          2a  | Blowfish (on some Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

(Blowfish può essere $2$o $2a$secondo Wikipedia Crypt (Unix) .)

Quindi $6$significa SHA-512.

Quello utilizzato dal sistema è regolato da eventuali opzioni passate al modulo PAM pam_unix .

L'impostazione predefinita sull'ultima versione di Ubuntu è impostata in /etc/pam.d/common-password:

password        [success=1 default=ignore]      pam_unix.so obscure sha512

il che significa che la prossima volta che cambierai la tua password, verrà l'hash usando SHA-512, supponendo che il tuo account sia locale, piuttosto che NIS / LDAP / Kerberos, ecc.

Guarda anche:


Un rapido doppio controllo dei miei /etc/shadowspettacoli 2 voci che iniziano con $6$.
Nathan Osman,

Si noti che SHA-256 e SHA-512 fanno parte del set di funzioni hash SHA-2.
Mattdm,

4
Nota che gli hash di cripta basati su SHA-2 non sono semplici SHA-2, il che sarebbe un male poiché SHA-2 semplice è debole contro gli attacchi del dizionario. Gli schemi di cripta SHA-2 usano gli hash semplici come blocco predefinito, ma aggiungono un fattore di lavoro variabile (per rallentare gli attacchi del dizionario) e un sale.
CodesInCos

Nella mia macchina Ubuntu, la password di root ha un simbolo del punto esclamativo ( !). Lettura man shadowsignifica che la password è bloccata, quindi non è possibile accedere direttamente utilizzando la password unix. Ha a che fare con Ubuntu impostare l'account root disabilitato per impostazione predefinita.
Akronix,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.