Описание:
Защита от легкой flood и ddos атаки по HTTP протоколу используя mod_dosevasiveПреамбула Не стоит думать, что слабый
ddos не сможет нанести ущерба вашему серверу.
Например, атакующих зомби-машин всего 50-150, все они с толстыми каналами,
а вы уехали в командировку или у вас 10-ки серверов и вы не успеваете физически мониторить все.
В таком случае, даже не большое количество машин, смогут зафлудить канал или заставить выйти
из строя веб сервер
apache, mysql, etc. Другое дело когда администратор 24 часа в сутки мониторит
сервер и с легкостью обнаруживает атаки, далее с легкостью и в считанные секунды заносит несколько
правил в таблицу фаервола при этом спокойно попивая кофе, продолжает заниматься своими делами.
Но такое бывает редко, смотреть сутками и мониторить вывод комманд
netstat, top, mtop убийственно
для вашего мозга, и глаза устанут, будем непосебе :), поэтому нужно автоматизировать процесс блокировки
атакующих зомби-машин.
Один из методов как защитить свой сервер от флуд атак и слабого ddos-a по http протоколу
это установить модуль для веб-сервера
Apache - mod_dosevasive.Установка и настройка mod_dosevasiveDebian Linux (только для Apache 1.3.x)
apt-get install libapache-mod-dosevasive
Или же вы можете найти этот модуль в google, яндексе и т.д.
Распаковываете архив
tar zxvf название архива.tar.gz
cd mod_dosevasive
Компилируем
mod_dosevasive для Apache 2/usr/local/apache/bin/apxs2 -i -a -c mod_dosevasive20.c
Если у вас
apache 1.3 тогда так
/usr/local/apache/bin/apxs -i -a -c mod_dosevasive.c
(!) Замените
/usr/local/apache на ваш путь к
apacheРедактируем
httpd.conf (Чаще всего он находится в
/usr/local/apache/conf/httpd.conf)
Убедитесь, что нечто подобное присутствует в настройках
LoadModule evasive20_module lib/apache2/modules/mod_evasive20.so
Добавляем в конец файла следующие строки
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 15
DOSEmailNotify email@for-notify.com
DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
--
DOSHashTableSize: это размер хэш-таблицы которая обрабатывает запросы к WWW-серверу.
--
DOSPageCount: число запросов к одной странице от одного и того же IP в течение указаного интервала времени.
--
DOSSiteCount: число запросов ко всем страницам домена, т.е если поступило более 50-ти запросов с одного ай-пи на разные страницы домена - тогда такой ай-пи будет заблокирован.
--
DOSPageInterval: Интервал для директивы DOSPageCount (в секундах)
--
DOSSiteInterval: Интервал для директивы DOSSiteCount (в секундах)
--
DOSBlockingPeriod: На сколько заблокировать ай-пи (в секундах)
--
DOSEmailNotify: может быть использован для уведомления, будет отправлять сообщение по электронной почте о том что такой-то IP был заблокирован.
--
DOSSystemCommand: эта директива используется для выполнения какой-нибудь вашей команды когда IP блокируется. Вы можете использовать это для добавления IP-адреса в таблицу фаервола.
(пример: "/sbin/iptables -A INPUT -p tcp --dport 80 -s %s -j REJECT" В %s передается от модуля IP)
--
DOSWhiteList: список белых IP адресов, можно и по маскам (напр. 127.0.0.*)
Также этот модуль позволяет защитить ваши сайты от brute force атак.
Если ссылка на файл уже не работает нажмите на кнопку Нужно Авторизоватся и напишите в окне для жалобы "битая ссылка".
После этого файл будет перезалит в течении суток.