Защита от небольшого флуда

DDoS-атака — сокращение от Distributed Denial Of Service Attack. Это когда куча зараженных компьютеров посылают на сервер множество запросов. В итоге сервер тратит все свои ресурсы на обслуживание этих запросов и становится практически недоступным для пользователей. Размер атак бывают разные, от крупных может спасти только специалист и Cisco Guard 🙂 и такое решение стоит не менее 1000$/мес. Но такие атаки, слава богу, довольно редкое явление. Чаще всего мы видим простые атаки, которые делают как правило школьники (им же все интересно). Создать свой ботнет не сложно, можно даже купить готовый :). Но такие атаки тоже могут нанести вред нашему веб-проекту. Что же делать если атака маленькая и платить огромные деньги специалисту мы не хотим?

1. mod_evasive — (mod_dosevasive) HTTP DoS or DDoS attack or brute force attack (модуль для apache)

Модуль поможет от небольшого флуда и ddos атак по http.
Установка не сложная.

Скачиваем архив
wget www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz

Теперь нужно распаковать
tar zxvf mod_dosevasive_1.10.1.tar.gz
cd mod_dosevasive

Компилируем mod_dosevasive для Apache 2:

/usr/local/apache/bin/apxs2 -i -a -c mod_dosevasive20.c

/usr/local/apache заменить на ваш путь к apache (где apache смотрите через whereis apache)

Редактируем httpd.conf
Добавляем (я думаю вы увидите куда)
LoadModule evasive20_module lib/apache2/modules/mod_evasive20.so

Дальше в конце файла

— 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.*)

2. скрипт (D)DoS Deflate.
Просто скрипт для защиты от ddos атак. Работает он очень просто, по крону запускает:

После чего блокирует ip который превысили лимит по количеству коннектов (это можно задать в его конфигурации).

3. Несколько правил для iptables

Максимум 10 коннектов с одного IP

Блокировка более 10 SYN

40 коннектов на сеть класса С

Если атака идет одним «левым» запросом то его можно заблокировать

Конечно же это далеко не все но вполне хватит от мелкого флуда.
взято с ibbi.habrahabr.ru/blog/71694/

Рейтинг материала
[Голосов: 0 Рейтинг: 0]
20 декабря 2014, 12:38

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *