
Я усиливаю защиту конфигурации своего сервера Apache и мне интересно, использует ли он какие-либо другие "^.ht.+"
файлы, помимо .htaccess и .htpasswd?
решение1
Apache? Нет.
Единственное, что он обычно использует, — это .htaccess
, но это только из-за настройки по умолчанию . AccessFileName
Измените AccessFileName .htaccess
эту конфигурацию, и Apache не будет проявлять никакого особого интереса к файлам, которые начинаются с .ht
.
.htpasswd
не является общепринятым стандартом и даже не является хорошей идеей; общая рекомендация — хранить файлы аутентификации вне корневого каталога веб-сайта, поскольку существуют другие способы (уязвимости удаленного включения файлов), позволяющие потенциально получить доступ к содержимому файла, обойдя ограничения доступа Apache.
А другие люди? Может быть.
Распространенное использование .ht*
фразы «это какой-то ограниченный/недоступный файл» ожидается/злоупотребляется некоторыми людьми/контентом/веб-приложениями по тем же причинам, по которым .htaccess
многие люди неправильно понимают, что это «правильное» место для размещения элементов управления доступом и переписывания правил.несмотря на то, что он для этого не предназначен. Итак, если вы отключаете поведение по умолчанию <Files ~ "^\.ht">
(зачем вам это нужно для усиления защиты?), убедитесь, что ваш контент не злоупотребляет этим соглашением об именовании файлов, чтобы что-то скрыть.
решение2
.htaccess
используется по умолчанию AccessFileName
apache. В `.htpasswd' нет ничего особенного, просто большинство людей используют его, чтобы облегчить блокировку доступа к ним с помощью ACL. Нет ничего, что говорит вам, что вам нужно использовать эти имена файлов, и если у вас есть доступ к файлу httpd.conf, вам действительно не следует использовать их вообще, так как они замедляют доступ к каталогам. Они хороши для разрешения переопределения доступа людям, у которых нет доступа к конфигурации сервера.
При этом, если вы не меняли значения по умолчанию с помощью AccessFileName
директивы using в своей конфигурации и назвали все файлы паролей .htpasswd, то вам должно хватить dotfiles.
решение3
Вот как можно проверить, используете ли вы какой-либо другой .htaccess:ядро - Apache HTTP-сервер, также это то, что должен использовать любой Apache, так как это помешает другим получить к нему доступ:
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>