Один из методов защититы web-сервера от флуд атак и слабого ddos-a - это установка модуля mod_evasive.
Установку выполним из портов:
# cd /usr/ports/www/mod_evasive/ && make install clean && rehash |
После установки модуль автоматически добавляет себя в списки подгружаемых модулей. Остается только расскоментировать его в httpd.conf:
LoadModule evasive20_module libexec/apache22/mod_evasive20.so |
Также необходимо добавить в httpd.conf такой блок:
<IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 4 DOSSiteCount 15 DOSPageInterval 3 DOSSiteInterval 3 DOSBlockingPeriod 600 DOSEmailNotify ddos [at] example [dot] com </IfModule> |
Доступные для использования опции:
После внесения изменений перезапускаем Apache:
# apachectl graceful |
В результате в логах сервера можно наблюдать следующие записи:
# cat /var/log/messages | grep evasive Feb 4 05:15:28 web0 mod_evasive[49786]: Blacklisting address 193.106.56.242: possible DoS attack. Feb 4 05:24:11 web0 mod_evasive[51080]: Blacklisting address 95.135.45.76: possible DoS attack. |
Бестолковая штука. Сегодня
Бестолковая штука. Сегодня столкнулся со злом. Блокируемым хостам все равно отправляются ответы 403, логи продолжают расти на глазах, apache плавненько замедляется, а потом перестает отвечать на запросы. Пришлость спасаться с помощью банального limit src-addr в соответствующем правиле ipfw
" Один из методов
" Один из методов защититы web-сервера от флуд атак и слабого ddos-a..."
По дефолту заблокированным хостам отправляется ответ 403. Тоесть ответ отправляется, хоть и быстрее (поскольку не нужно генерировать контент).
Как вариант, можно настроить mod_evasive на взаимодействие с файрволом. См. DOSSystemCommand
Прошу прощение за
Прошу прощение за невнимательность. Касаемо ipfw, если я ничего не путаю, то права на добавление правил есть только у root'а. Ставить SUID на ipfw как-то не хочется, придется извращаться с sudo.
Совершенно верно. visudo вам
Совершенно верно.
visudo вам в помощь
Кста, можете поделиться готовым решением? Если не сложно - напишите сами статью (для зарегистрированных пользователей есть такая возможность) и по факту, когда статья будет готова, сообщите, чтобы я ее опубликовал.
Спасибо.
Добавил свое дополнение
Добавил свое дополнение