Товарищ Fire, писал гайд о том, как определять, мониторить и логировать крупные DDoS атаки.
Для этих целей он использовал сторонний софт, от компании FastVPSEestiOu - fastnetmon.

Опираясь на это, заглянул на страничку компании на GitHUB - https://github.com/FastVPSEestiOu
Там нашел много чего интересного. В том числе и предмет данного топика.
HTTP Flood Shield занимается анализом всех входящих HTTP запросов. Если с одного IP адреса поступило более ХХ запросов в секунду, этот адрес блокируется.
ОС: Debian 7+, CentOS 6+ (не OpenVNZ)
Что нужно знать до начала установки: скрипт установки пытается в автоматическом режиме сделать apt-get update, что может привести в нежелательным последствиям. Если есть чего бояться, ищем в коде вызов функции init_package_manager(); и комментируем ее (строка 188):
Было:
# Refresh information about packages
init_package_manager();
Стало:
# Refresh information about packages
#init_package_manager();
Установка Debian (для CentOS 6 можно посмотреть по ссылке в кредитах):
wget https://raw.githubusercontent.com/Fa...mon_install.pl
perl fastnetmon_install.pl
Установим необходимые пакеты
apt-get install -y ipset libipset-dev libipset2Build Flood Shield:
cd /usr/src
git clone https://github.com/FastVPSEestiOu/flood_shield.git
cd flood_shield
./build_shield.sh
Зададим правила:
ipset --create blacklist iphash --hashsize 4096Теперь можно запускать:
./shieldF.A.Q.:
В: как проверить?
О: заходим на сайт, зажимаем F5, видим результат.

В: как настроить?
О: на этапе до "Build Flood Shield"

В: как запустить в фоне, с записью в лог?
О:
./shield > log.txtnano /usr/src/flood_shield/shield.cpp// Можно указать несоклько портов, через запятую: 80, 8080, 1500.
unsigned int ports_list[] = { 80 };
// Максимальное количество запросов в секунду.
unsigned int rps_ban_limit = 20;
После настройки, продолжить начиная с раздела "Build Flood Shield".

Сам я не силен в тонкой настройке сетей, стараюсь опираться на авторитетных для меня людей, поэтому спросил у Fire что это такое, и с чем его едят:
Цитата
По большому счету, это iptables connlimit + recent
Посмотрим.


Ну и тузла для tcp, и банит соответственно по тсп.
iptables -I INPUT -m set --match-set blacklist src -p TCP --destination-port 80 -j DROP
тсп для дестинейшен порт 80


Как я понимаю, программка имеет место быть.
Есть ли смысл, описывать процесс запихивания в автозагрузку?

Credits:
Fire - (тут профиль не нашел, поэтому вот: http://c-s.net.ua/forum/user45026.html). За полезные статьи, и разжевывание мат. части по сетям.
FastVPSEestiOu - за полезный софт, который с я удовольствием использую. https://github.com/FastVPSEestiOu
Ссылка на страничку проекта на GitHUB - https://github.com/FastVPSEestiOu/flood_shield

P.S.: в этой теме, я не специалист, поэтому на какие-то сложные вопросы, ответы будем искать все вместе.
P.P.S.: автор предупреждает, что это beta версия продукта, поэтому не исключены баги. Но исходя из того, что последний коммит был более года назад, думаю все нормально.
P.P.S.: не работает на OpenVNZ