неточная проверка htpasswd - PullRequest
1 голос
/ 28 октября 2011

Я нашел интересную вещь.Я настроил Nginx для базовой аутентификации с помощью файла htpasswd.Все работает нормально, но пароли типа <correct password><some random chars> получают доступ, а также <correct password>.

Это нормально?Это проблема только для Nginx, или она связана с методом crypt, используемым как в Nginx, так и в Apache?

1 Ответ

2 голосов
/ 28 октября 2011

Я поделился этим с администратором наших серверов. И он нашел ответ: Алгоритм crypt хэширует только первые 8 символов, поэтому, если ваш пароль длиннее 8 символов, он не повышает его устойчивость к фальсификации. Если ваш пароль длиной 6 символов, скажем,

PASSWD

Обычная аутентификация будет отклонять пароль как passwd01

Если вы используете утилиту htpasswd и хотите, чтобы ваши пароли были длиннее, чем 8 символов, для повышения надежности криптографии, вам лучше зашифровать их, используя алгоритм md5 или sha (модификаторы -m и -s соответственно) .

Итак, ваше предложение

это связано с методом шифрования, используемым как в Nginx, так и в Apache

правильно

Доказательство можно найти на GNU.org libc 32.3 Encrypting Passwords:

Для алгоритма, основанного на DES, соль должна состоять из двух символов алфавита ./0-9A-Za-z, и результатом склепа будут те два символа, за которыми следуют еще 11 из того же алфавита, 13 в целом. Значимы только первые 8 символов в ключе .

...