Ddos. Защищаемся от мелких ботнетов.
В одной из моих заметок, я перечислял некоторые методы защиты от DDos. В этой заметке опишу минимальную настройку сервера, для защиты от мелких ботнетов.Первое что нам необходимо, это установленый и настроеный APF. Тут я уже описывал установку и настройку APF. Для выявления ботов будем использовать пакет (D)DoS-Deflate. Механизм его работы очень прост. Скрипт через определенные интервалы времени выполняет следующий код:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
В результате работы скрипта вычисляется количесвто соединений к серверу с определенного IP адреса. Если количество соединений превышает допустимые в конфигурационном файле пределы, то ip адрес источника запросов передается в APF и там заносится в черный список на определенное время. То есть IP адрес банится, запросы с него перестают поступать.
Итак, устанавливаем и настраиваем DoS-Deflate.
cd /usr/local/src
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
Пакет устанваливается в каталог /usr/local/ddos. Открываем для редактирования конфигурационный файл ddos.conf
vi /usr/local/ddos/ddos.conf
Конфиг хорошо прокоментирован. Остановлюсь на одном параметре:
NO_OF_CONNECTIONS=150
Количество одновременных соединений. Тут нужно экспериментировать. Все зависит от вашего хостинга. Возможно есть такие сайты, которые совершенно нормально требуют 150 одновременных соединений с сервером. Лично я считаю что этот параметр необходимо уменьшить как минимум до 50.
Также было обнаружено, что на некоторых дистрибутивах Linux скрипт работает не так как нужно. Решение – замена в файле /usr/local/ddos/ddos.sh строки
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
на строку:
netstat -ntu | grep ffff | awk ‘{print $5}’ | cut -d: -f4 | sort | uniq -c | sort -nr
Поправляем (по необходимости) конфиг и ждем нападения ![]()
Хочу пожелать только, поменьше атак на ваши хосты ))
если получится будем защищатся)))
↓ Quote | Posted October 27, 2008, 7:04 pmбудем, будем, спасибо за статью
↓ Quote | Posted November 9, 2008, 7:24 pmсовет принят, огромное спс)))
↓ Quote | Posted November 10, 2008, 12:08 pmПодскажите где найти информацию по настройке apf
↓ Quote | Posted November 29, 2008, 4:46 pmуже начал защищаться и готов к атаке
↓ Quote | Posted December 16, 2008, 12:26 amС Новым 2009 годом!
↓ Quote | Posted January 3, 2009, 12:03 amПолезная информация, будем пробовать. у меня с атаками слава богу ниче серьезного пока небыло, но теперь думаю и небудет )))
↓ Quote | Posted January 24, 2009, 7:50 pmПрикольно, я даже не знал, что таким образом можно защищаться от атак. Ну что же, спасибо за хорошую информацию, будем готовиться отражать нападения : ). Да и просто, получается, так что сейчас попробуем сделать согласно вашим советам : )
↓ Quote | Posted February 11, 2009, 11:38 amооо
)) спасибо большое за инструкции по настройке. будем пробовать защищаться
↓ Quote | Posted February 17, 2009, 11:42 amа мне приходят письма типа:
Banned the following ip addresses on Sun Feb 22 18:31:01 MSK 2009
381 with 381 connections
т.е. вместо первого 381 должен стоять ip а его нету, как это исправить?
↓ Quote | Posted February 22, 2009, 6:37 pmХех, +1 готовый к атаке
↓ Quote | Posted March 18, 2009, 2:06 amУ меня в логах крона вот такая строчка каждую минуту:
(/usr/local/ddos/ddos.sh >/dev/null 2>&1)
это нормально?
↓ Quote | Posted September 22, 2009, 8:27 pmСредство, конечно, хорошее..

↓ Quote | Posted November 17, 2009, 9:49 pmНО, как всегда есть но…
1. DDoS атака будет иметь с 1 ИП всего 10-20 конектов, зато таких ИП будет 10-20 тыс.!! Потому-то она и ДДоС – распределённая.
2. А не проще ли средствами системы это сделать?… и нагрузки меньше и проще…
например, для ipfw:
add pass all from any to me 80 limit src-addr 50
ну, или 150 – кому как нравится..