Безопасна ли защита каталога веб-сайта с помощью файла .htaccess?

StackOverflow https://stackoverflow.com/questions/869072

Вопрос

Мне было интересно, является ли защита веб-каталога с помощью файла .htaccess (с файлом .htpasswd вне общедоступного веб-корня Apache) безопасным способом защиты каталога (и его содержимого).

Может ли кто-нибудь объяснить, что можно и что нельзя делать при использовании такого рода защиты?

Это было полезно?

Решение

Аутентификация будет проходить незащищенно по сети, если вы используете стандартный протокол http.Это не считается безопасным, поскольку кто-то может унюхать пароль.

Если вы ограничите доступ по https, это вполне безопасно.Это будет означать установку и включение модуля Apache для HTTP-трафика, зашифрованного по SSL (порт 433, https:// в адресной строке браузера) и отключение стандартного http-трафика для этого каталога на порту 80.Имя пользователя и пароль будут зашифрованы SSL.Обязательно выберите хороший пароль (достаточно длинный и сложный, его невозможно угадать или подобрать методом перебора).

Конфигурация Apache может быть сложной, поэтому постарайтесь сделать ее простой и проверьте возможные ошибки.

Может быть хорошей идеей переместить конфигурацию ограничения доступа из файла .htaccess в основной файл конфигурации Apache, если вы знаете об этом и можете контролировать это.Возможно, вам будет проще сохранить его в файле .htacces.А «легко» может быть безопаснее.Делайте это так, чтобы это казалось вам простым, безопасным, легким в обслуживании и запоминающимся.

Это простая настройка для повышения безопасности и защиты от несчастных случаев:

Если на компьютере, где находится защищенный каталог, настроены PHP и электронная почта, вы можете написать простой сценарий сигнализации.Просто файл php «alarm.php» с единственной строкой с функцией почты php, которая отправляет вам электронное письмо, сообщающее, что защита htaccess не работает.

Если ваш домен и путь к каталогу "http://mybox.example.com/secretdir/alarm.php«Вы можете ввести это в браузере на другом компьютере, и вы должны получать эту почту, пока htaccess «открыт».Если он защищен, вы можете ввести имя пользователя и пароль, а также получить почту.

Чтобы сделать из этого автоматический сигнал тревоги, вы можете использовать другой блок Unix, который пытается получить этот URL-адрес каждые 15 минут или около того.Строка для crontab:

*/15 * * * * user1 wget http://mybox.example.com/secretdir/alarm.php

user1 — это пользователь на этом компьютере, которому разрешено запускать wget, и wget должен быть установлен.

Вы можете отключить защиту htaccess в качестве теста и получать почту каждые 15 минут.

По моему опыту, распространенной ошибкой безопасности является то, что каталог, который, по вашему мнению, защищен, теряет свою защиту, когда вы что-то меняете, а вы не знаете, таким образом вы получаете электронное письмо с предупреждением.

Другие советы

Насколько я знаю, htaccess легко взломать, если его перехватить (например.Вы заходите из интернет-кафе с запущенным сниффером сети). Насколько я знаю, Дайджест-аутентификация помогает преодолеть эту проблему.

.htaccess — это довольно стандартный способ внесения изменений в конфигурацию каждого каталога для ресурсов, обслуживаемых Apache HTTPD, в тех случаях, когда вы нет доступа в основной файл конфигурации/отсутствие root-доступа.

Если у вас есть доступ к основной конфигурации, гораздо проще разместить всю конфигурацию (включая аутентификацию) в одном центральном месте (даже если она разделена на несколько файлов), где ее будет не так просто пропустить.По своему опыту могу сказать, что это всего лишь вопрос времени, когда вы забудете о своем .htaccess файлы.

В официальной документации несколько раз упоминается, что использование .htaccess файлов следует избегать, когда это возможно.

Если использование .htaccess это ваш единственный выбор, убедитесь, что вы соблюдаете общие меры безопасности, как и в случае с основной конфигурацией HTTPD, т.е.не допускайте их чтения неавторизованными пользователями, файлы доступны для чтения сервером, убедитесь, что у вас отключен список каталогов, всегда убедитесь, что пароли хранятся в зашифрованном/хешированном формате и т. д.

Для получения дополнительной информации, пожалуйста, проверьте Апач htaccess руководство

Файл .htaccess весьма удобен, но...это не защитит Вас от того, что кто-то воспользуется Вашим кодом и прочитает любой файл, который захочет.Если Ваш сайт (даже один небольшой скрипт) будет взломан, ни .htaccess, ни другие решения Вас не защитят, так как хакер получит права пользователя, выполняющего скрипт (обычно www-данные).

Особенно болезненно это проявляется в CGI, но взламываются и другие скрипты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top