Спочатку я публікував це на веб-майстрах.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