Мои журналы apache в значительной степени полны 'admin.php' not found or unable to stat
и аналогичные заявления для wp-login.php
, default.php
и т. д., которые часто используются сканерами уязвимостей. Могу ли я настроить apache, чтобы эти операторы не регистрировались для определенных файлов? Я не хочу отфильтровывать все файлы, которые не найдены, так как я хотел бы исправить плохие ссылки, которые я, возможно, размещал на протяжении многих лет, которые больше не соответствуют одним и тем же файлам.
Я могу использовать такой инструмент, как fail2ban или запретить, но, судя по предыдущему опыту, он исходит из стольких источников, что эти ошибки все равно будут накапливаться, и этот вопрос задает вопрос о сокращении количества этих сообщений об ошибках.
Apache's CustomLog Директива позволяет оценивать переменные среды, чтобы решить, нужно ли регистрировать сообщение. И переменные среды могут быть установлены в зависимости от URI, используя SetEnvIf. Итак, чтобы исключить все запросы URI, заканчивающиеся на wp-login.php, из объединенного настраиваемого журнала:
SetEnvIf Request_URI "wp-login.php$" dontlog
CustomLog /var/log/apache2/access.log combined env=!dontlog
Обратите внимание, что вам нужно mod_setenvif для работы SetEnvIf.