Как отличить алгоритм шифрования htpasswd?

Как отличить алгоритм шифрования htpasswd?

У меня есть веб-сервер Apache, работающий на Debian Linux, и я защищаю определенный каталог с помощью htaccess. У меня нет истории или знаний о том, как был создан файл .htpasswd. В документации Apache говорится, что шифрование crypt() использовалось для шифрования паролей до версии 2.2.17, а шифрование MD5 используется с версии 2.2.18. Как мне определить, какое шифрование использует мой файл .htpasswd?

решение1

У меня нет никакой истории или знаний о том, как был создан файл .htpasswd.

Вы, вероятно, ищете htpasswdкоманду. Прочитайте страницу руководства для получения более подробной информации:

man htpasswd

Как определить, какое шифрование использует мой файл .htpasswd?

Зачем вам это знать? Я не думаю, что это важно знать, если вы просто хотите редактировать файл.

Я спрашиваю, потому что у меня сложилось впечатление, что они оба уязвимы.

Команда htpasswdна моем компьютере может использовать четыре различных формата пароля:

# MD5 (default)
martin@martin ~ % htpasswd -m -b -n user pass
user:$apr1$uFKIg3No$ItOJ5p6EEbALwPDYcPDd0.
# crypt
martin@martin ~ % htpasswd -d -b -n user pass
user:qMYdeiUkbhR/o
# SHA
martin@martin ~ % htpasswd -s -b -n user pass
user:{SHA}nU4eI71bcnBGqeO0t9tXvY1u5oQ=
# Plain
martin@martin ~ % htpasswd -p -b -n user pass
user:pass

Это поможет вам понять, какой формат вы используете.

Мне интересно, что вас беспокоит... уязвимы ли хэши, это касается только того, сможет ли злоумышленник получить доступ к файлу .htpasswd, что должно быть очень маловероятно в разумной конфигурации. Файл .htpasswdдолжен храниться вне обслуживаемого каталога, например, где-то в /etc, где веб-сервер может получить к нему доступ, но не будет его обслуживать.

Что должно беспокоить вас гораздо больше, так это тот факт, чтоБазовая HTTP-аутентификация передает пароли в открытом виде, что определенно небезопасно, если вы не используете HTTPS. Так что если вы беспокоитесь о безопасности, рассмотрите возможность перехода наHTTP-дайджест-аутентификация.

Связанный контент