Włącz obsługę hashów krypt w oparciu o blowfish


13

Jak włączyć obsługę crypt_blowfish dla ukrytych haseł i PHP na serwerze Linux (Debian)?

Mam na myśli bcrypt oparty na Blowfish w stylu OpenBSD , znany w PHP jako CRYPT_BLOWFISH.

O ile wiem, nie ma dla niego pakietu Debian, jakie inne opcje muszę włączyć ten algorytm mieszania dla PHP?

Uwaga: fuzja
PHP crypt () łączy się stosunkowo bezpośrednio z funkcją crypt (3) biblioteki C udostępnianą przez podstawowy system operacyjny.

Aktualizacja
nazewnictwa pakietów nie jest tak klarowna, jak mogłaby (powinna) być.
Pakiet PEAR Crypt_Blowfish zastępuje rozszerzenie PHPrypt MCrypt, pozwalając na szybkie dwukierunkowe szyfrowanie blowfish.

Również pakiet BCrypt Debiana jest także implementacją „normalnego” dwukierunkowego algorytmu blowfish.

To, czego szukam, to implementacja Bcrypt-hash dla hashów.


nie działa „gruszka instaluje Crypt_blowfish”?
— cori

Pakiet gruszki crypt_blowfish jest „normalnym” dwukierunkowym algorytmem szyfrowania Blowfish. Szukam algorytmu mieszającego opartego na blowfish.
— Jacco

ah, teraz widzę problem.
— cori

Nie wiedziałem, że możesz otrzymać wyższą nagrodę za pytanie niż twój obecny przedstawiciel. Ciekawy.
— Copas

Przedstawiciel jest odejmowany natychmiast, więc miał ~ 200 powtórzeń, a teraz ma ~ 50.
— ceejayoz

Odpowiedzi:


9

Pakiet, który musisz zainstalować w Debianie to libpam-unix2.

Następnie będziesz musiał edytować następujące pliki pod /etc/pam.d/i zmienić całe pam_unix.soużycie na pam_unix2.so:

  • wspólne konto
  • common-auth
  • wspólne hasło
  • wspólna sesja

Na koniec edytuj common-passwordplik i zamień parametr „md5” na „blowfish”.

Hasła, które są aktualizowane po dokonaniu tych modyfikacji, zostaną zaszyfrowane przy użyciu blowfish. Istniejące hasła cienia nie są modyfikowane. Źródło

Aby użyć blowfish w PHP, podajesz sól blowfish do crypt(). Lubię to:

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

Najpierw sprawdź, czy CRYPT_BLOWFISH == 1. I musisz użyć wystarczająco długiej soli, która jest równa (lub większa niż) 22 znakom. Źródło


Hmmm, po wprowadzeniu tych zmian, CRYPT_BLOWFISH nadal nie jest równy 1, z jakiegoś powodu.
— Kzqai,

1
Zastrzeżenie: jeśli twoja wersja pam_unix2 nie obsługuje algorytmu haszującego używanego obecnie dla hasła użytkownika, ten użytkownik może nie być w stanie się zalogować. Myślę, że to właśnie natrafiłem na moje okno Debiana; niektóre konta korzystały z SHA512 i nie mogły się zalogować, ale konto korzystające z MD5 mogło. Możesz ustawić te hasła od roota, ponieważ passwdnie pyta o stare hasło, gdy uruchamiasz z roota. Ważne: utrzymuj otwartą sesję root, dopóki nie będziesz pewny, że możesz się zalogować ponownie!
— Tom Zych,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.