Почему "Параметры включают индексы" по умолчанию включены в Apache?

Мне было любопытно, почему Options Includes Indexes обычно включен по умолчанию в конфигурациях Apache.

Кто-нибудь знает, почему это так, как это вообще не одобряется по соображениям безопасности?

1 ответ

Решение

Традиция?
Потому что так было всегда?
Потому что проект Apache не хочет ломать существующие сайты?
Потому что вы действительно должны проверить свою конфигурацию перед запуском сервера?

Все вышеперечисленное.


Некоторые примечания по указанным директивам

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

Голые Includes Директива, с которой поставляется Apache, особенно плоха в этом отношении, поскольку она позволяет вам выполнять программы (как пользователь Apache) как часть директив SSI. Если у вас ДОЛЖНО быть включено включение на стороне сервера, вы должны оценить, нужна ли вам возможность запускать программы, а если нет, вам следует использовать IncludesNOEXEC на месте голого Includes директивы.


Автоматическое создание индекса (Indexes) уязвимость, приводящая к раскрытию информации: если индексный файл отсутствует, сервер с удовольствием перечислит все в каталоге (включая ссылку на .. чтобы вы могли вернуться обратно вверх по дереву).
Из-за ссылки для просмотра каталогов существует также риск того, что плохо настроенный сервер позволит пользователям выходить из корневого каталога и читать что-то вроде /etc/passwd,

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

Не полагайтесь на это как на "безопасность через неизвестность", чтобы защитить вас, если ваш веб-сервер плохо настроен: кто-то все еще может сделать http://example.com/../../../../../../../../etc/passwd для себя в системе с соответственно плохим выбором конфигурации.

Другие вопросы по тегам