Abilita il supporto hash basato su Blowfish per crypt


13

Come posso abilitare il supporto crypt_blowfish per password ombreggiate e PHP su un server Linux (Debian)?

Mi riferisco al bcrypt basato su Blowfish in stile OpenBSD , noto in PHP come CRYPT_BLOWFISH.

Per quanto ne so non esiste un pacchetto Debian per questo, quali altre opzioni devo abilitare questo algoritmo di hashing per PHP?

Nota: fuction crypt ()
di PHP si interfaccia relativamente direttamente con la funzione crypt (3) C-library fornita dal sistema operativo sottostante.

Aggiorna la
denominazione del pacchetto non è così chiara come potrebbe (dovrebbe) essere.
Il pacchetto PEAR Crypt_Blowfish è un sostituto drop-in per l'estensione MCrypt di PHP, che consente una rapida crittografia blowfish bidirezionale .

Anche il pacchetto Debian BCrypt è anche un'implementazione dell'algoritmo blowfish bidirezionale "normale".

Quello che sto cercando è l'implementazione di hash Bcrypt per le password di hashing.


"pera installa Crypt_blowfish" non funziona?
cori,

Il pacchetto pear crypt_blowfish è l'algoritmo di crittografia blowfish bidirezionale "normale". Sto cercando l'algoritmo di hashing basato su Blowfish.
Jacco,

ah, ora vedo il problema.
cori,

Non sapevo che potresti avere una taglia più alta su una domanda rispetto al tuo attuale rappresentante. Interessante.
Copas,

Il rappresentante viene immediatamente detratto, quindi aveva ~ 200 rappresentanti e ora ha ~ 50.
Ceejayoz,

Risposte:


9

Il pacchetto che devi installare in debian è libpam-unix2.

Quindi dovrai modificare i seguenti file in /etc/pam.d/e cambiare tutto l' pam_unix.soutilizzo in pam_unix2.so:

  • common-account
  • common-auth
  • common-password di
  • common-session

Infine, modifica il common-passwordfile e sostituisci il parametro "md5" con "blowfish".

Le password che vengono aggiornate dopo aver apportato queste modifiche verranno sottoposte a hash usando Blowfish. Le password shadow esistenti non vengono modificate. fonte

Per usare il Blowfish in PHP, devi fornire un sale Blowfish crypt(). Come questo:

crypt('sting', '$2a$07$' . substr('saltsaltsalt', 0, CRYPT_SALT_LENGTH) ) 

Dovresti prima verificare se CRYPT_BLOWFISH == 1. E dovrai usare un sale abbastanza lungo, che è uguale a (o maggiore di) 22 caratteri. fonte


Hmmm, dopo aver apportato queste modifiche, CRYPT_BLOWFISH non è ancora uguale a 1, per qualche motivo.
Kzqai,

1
Un avvertimento: se la tua versione di pam_unix2 non supporta l'algoritmo di hashing attualmente utilizzato per la password di un utente, quell'utente potrebbe non essere in grado di accedere. Penso che sia quello che mi sono imbattuto nella mia casella Debian; alcuni account utilizzavano SHA512 e non potevano accedere, ma un account che utilizzava MD5 poteva farlo. Puoi impostare quelle password da root, perché passwdnon richiede la vecchia password quando viene eseguita da root. Importante: mantieni aperta la sessione di root fino a quando non sei sicuro di poter accedere di nuovo!
Tom Zych il
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.