Защита сервера от udp флуда и DDoS атак для Linux

Защита сервера от udp флуда и DDoS атак для Linux


На сегодняшний день существует множество способов DDoS'ить сервера движка hlds, а так же платформы srcds, udp (удп) флудом. Атаки в основном делаются с компьютеров у которых широкая полоса отдачи интернет канала либо (в основном) с VPS (расположенные в крупных датацентрах, злоумышленник как правило берёт тестовый период для умышленных атак, что бы в будущем сделать тоже самое, но уже с другого ip адреса), у которых большие каналы отдачи - к примеру 100 мегабит. В данной теме я приведу вам правила спасающие (частично) от "школьного" DDoS'а (От такого вида атак как программа под названием upd flooder и скрипт на perl'е). Защита заключается несколькими правилами, всеми нами любимого линуксового файрвола под названием iptables.

P.S - сейчас у многих есть на вооружении много гигабитные ботнеты. От них не спасут никакие файролы, да и приведённые в примере правила не дают гарантии ста процентной защиты.

Теперь к делу:

Я просто задал пару правил для линуховского iptables.. Точнее просто вбил пару строк в терминал!

iptables -A INPUT -p udp --dport 27015 -m hashlimit --hashlimit 50/s --hashlimit-burst 50 --hashlimit-mode srcip --hashlimit-name CSS -j ACCEPT

iptables -A INPUT -p udp --dport 27015 -j DROP


Где: 27015 - это порт Сервера, еще можно попробовать побаловаться с числом 50/s, но я себе поставил именно 50! Вбивайте и вы =)

После этого я тестил Зомбез несколькими програмками для ДОС-атак, среди которых был DDoS-ер с иконкой в виде лимона и CSS Server Lagger и Зомбез короче от них даже не пошевелился (хотя до этого любая из них сваливала Сервак за минуту).


Только одна програмка смогла поднять пинг до 200, но к счастью ее автор (програмки) эту прогу не распространяет и никому не дает =) !!!


Можно прописать и другие правила, для более точной фильтрации!

iptables -A INPUT -p udp -m udp --dport 27015 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p udp --dport 27016 -m state --state NEW -m hashlimit --hashlimit 100/s --hashlimit-burst 100 --hashlimit-mode srcip --hashlimit-name TF -j ACCEPT

iptables -A INPUT -p udp --dport 27015 -j DROP


Здесь также можно попробовать изменить число 100, но мне кажется 50 или 100 - нормально!

Еще команды для iptables:
iptables -L -n - показывает уже существующие правила!
iptables -F - сбрасывает все правила!


Или можно сделать так!

Ставите плагин DoS Attack Fixer (DAF) и в настройках включаете логирование! Далее, если произошла DDoS-атака, смотрите в логе с какого IP-адреса была атака, и баните IP-адрес через iptables! Бан по iptables - вещь очень надежная, на себе проверял =) !

Оффтоп: хотя и написано что этот плагин DAF защищает сервер от ДДОСа, но по моему мнению и опыту, ни фига он не защищает (Во всяком случае от лимона не спасал)


Банить через iptables надо так:

iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP

Где xxx.xxx.xxx.xxx - это IP-адрес нарушителя!


Если нарушитель имеет динамический IP, сменил IP и ДДОСит дальше, то баним подсеть или несколько подсетей!

iptables -A INPUT -s xxx.xxx.xxx.0/24 -j DROP


Пример:
iptables -A INPUT -s 187.34.232.0/24 -j DROP -> Так мы забаним по iptables диапазон IP-адресов от 187.34.232.0 до 187.34.232.255


Разбан так:

iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP


Правила и их описание взято отсюда.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Комментариев 0