
У меня есть веб-сервер 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-дайджест-аутентификация.