Первоначально я писал об этом на webmasters.stackexchange.com , но мне сказали, что я получу лучший прием здесь.
Последние несколько дней я страдаю от (предположительно непреднамеренного) DDOS-атаки. Я получаю столько запросов от агента, который идентифицирует себя как «Mozilla / 4.0 (совместимый; ICS)», что apache съедает всю доступную память.
Следовательно, я хотел бы заблокировать все запросы, сопровождаемые этим пользовательским агентом, поэтому я попытался сделать это в httpd.conf:
SetEnvIfNoCase User-Agent "Mozilla/4.0 (compatible; ICS)" bad_user
Deny from env=bad_user
Но когда я перезапускаю Apache, он жалуется на использование deny
здесь. Без необходимости оборачивать его в блок location
или directory
, что означало бы, что я должен добавить новый блок для каждого сайта, есть ли способ запретить доступ ко всему серверу?
ОБНОВЛЕНИЕ: ошибка, которую я получаю
- Перезапуск веб-сервера apache2
Синтаксическая ошибка в строке 4 файла /etc/apache2/httpd.conf: запрет запрещен здесь [сбой]
<Location>
поскольку он переопределяет любые другие ограничения авторизации<Directory>
, если только вы не добавитеAuthMerging And
. См. Предупреждение о безопасностиRequire
в документации apache: httpd.apache.org/docs/2.4/mod/mod_authz_core.html#require