Увімкніть хеш-підтримку на основі крихти


13

Як увімкнути підтримку crypt_blowfish для тіньових паролів та PHP на сервері Linux (Debian)?

Я маю на увазі Bcrypt на основі Blowfish у стилі OpenBSD , відомий на PHP як CRYPT_BLOWFISH.

Наскільки я знаю, що для нього немає пакету Debian, які ще варіанти я маю ввімкнути цей алгоритм хешування для PHP?

Примітка: криптовалютні () інтерфейси
PHP інтерфейси відносно безпосередньо з функцією криптовалюти (3) бібліотеки С, що надається базовою операційною системою.

Оновлення
іменування пакунків не настільки зрозуміло, як могло б (повинно) бути.
Пакет PEAR Crypt_Blowfish - це заміна для розширення MCrypt PHP, що забезпечує швидке двостороннє шифрування мухомор.

Також пакет Debian BCrypt - це також реалізація «звичайного» алгоритму двостороннього видування.

Що я шукаю, це Bcrypt-хеш-реалізація для хешування паролів.


не працює "груша встановити Crypt_blowfish"?
cori

Пакет crypt_blowfish з грушею - це "звичайний" алгоритм шифрування двосторонніх мошок. Я шукаю алгоритм хешування на основі "сліпу".
Жакко

ах, зараз я бачу проблему.
cori

Не знав, що ти можеш мати більший заряд на питання, ніж твій поточний представник. Цікаво.
Copas

Rep відраховується негайно, тому він мав ~ 200 повторень і тепер має ~ 50.
ceejayoz

Відповіді:


9

Пакет, який потрібно встановити в debian, є libpam-unix2.

Тоді вам доведеться відредагувати такі файли в розділі /etc/pam.d/та змінити все pam_unix.soвикористання на pam_unix2.so:

  • загально-обліковий
  • спільно-авт
  • загальний пароль
  • загальна сесія

Нарешті, відредагуйте common-passwordфайл та замініть параметр "md5" на "blowfish".

Паролі, які оновлюються після внесення цих модифікацій, будуть хешировані за допомогою шматка. Існуючі тіньові паролі не змінюються. Джерело

Щоб використати філе в PHP, ви пропонуєте сіллю crypt(). Подобається це:

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

Спершу слід перевірити, чи CRYPT_BLOWFISH == 1. І вам потрібно буде використовувати досить довгу сіль, яка дорівнює (або перевищує) 22 символи. Джерело


Хм, після внесення цих змін, CRYPT_BLOWFISH все ще не дорівнює 1, чомусь.
Kzqai

1
Застереження: якщо ваша версія pam_unix2 не підтримує алгоритм хешування, який використовується в даний час для пароля користувача, той користувач може не мати можливості увійти. деякі облікові записи використовували SHA512 і не могли увійти, але рахунок, який використовував MD5, міг. Ви можете встановити ці паролі з root, оскільки passwdне вимагає старого пароля при запуску з root. Важливо: тримайте кореневий сеанс відкритим, доки ви не переконаєтесь, що зможете знову увійти!
Том Зіч
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.