Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Защита VDS от UDP DoS
 
Имеется VDS сервер с Debian 6 .Использую его для игрового сервера,и есть серьезная проблема.Игровой сервер постоянно атакуют через протокол UDP пакетами яяяgetinfo%20,яяяяgetstatus%20.Суть в том что мне нужно каким то образом или ограничить количество одновременно принимаемых пакетов на порт 29070 или настроить фильтрацию пакетов чтобы они сбрасывались.

P.S На VDS установлен и настроен apf firewall но он от такого не спасает(
 
iptables limit
 
Вот пример:
iptables -I INPUT -p udp --dport 2970 -m state --state NEW -m recent --set --name DOS
iptables -I INPUT -p udp --dport 2970 -m state --state NEW -m recent --update --seconds 60 --hitcount 10(или 20, или 30) --name DOS -j REJECT --reject-with icmp-port-unreachable
Ишшо вариант -j DROP. Чтобы не пложить обратный трафик.
 
Цитата
SOLDIER пишет:
Вот пример: iptables -I INPUT -p udp --dport 2970 -m state --state NEW -m recent --set --name DOS iptables -I INPUT -p udp --dport 2970 -m state --state NEW -m recent --update --seconds 60 --hitcount 10(или 20, или 30) --name DOS -j REJECT --reject-with icmp-port-unreachable Ишшо вариант -j DROP. Чтобы не пложить обратный трафик.

Не помогло,почему то даже сильнее скрипт стал вешать сервер.Есть еще варианты?Я точно знаю что есть пару серверов которые защищены от этого,но не знаю как.Я могу даже выложить сам скрипт который используется для атаки чтобы было понятней как с ним бороться.
 
Вы уверены, что сервер вешается именно из-за этого UDP-флуда, а не, скажем, по причинам более тривиальным - железо (с софтом на пару) банально не справляется с нагрузкой? Какой трафик стоит на интерфейсе? Какое количество PPS? Какие показатели Load Average в конце концов? Надо начинать не с поиска злоумышленников, а с анализа самого сервера.
 
Ну и попутно. От "качественного" DDoS-а софт сервера не спасет. Это комплексная задача и решается обычно вместе с хостерами и аплинками хостеров. Самостоятельно Вы эту беду не поборете. Хоть наизнанку вывернитесь.
Изменено: SOLDIER - 05.07.2011 13:27:47
 
Я точно знаю в чем проблема,у меня есть такой скрипт,принцип его работы заключается в том чтобы забивать цель(игровой сервер)пакетами яяяяgetstatus которые вешают сервер,интернет канал этот скрипт почти не нагружает(мощность атаки всего 7-8мбит).

Вот сам скрипт http://rghost.ru/13534991
Изменено: Regor - 05.07.2011 14:32:19
 
А Вы и правда думаете, что с одного места можно забить "мощностью атаки" 7-8 мбит канал нормального сервера?  :) Для ограничения с разных IP я вон выше правило привел. Подумайте - какое разуменое ограничение на один IP допустимо и все, что выше - режьте. Почему у Вас не работает - понятия не имею. Разбирайтесь с правилами прохождения iptables - возможно, правило у Вас не отрабатывает. В конце концов дайте iptables -nvL - и посмотрите - попадает ли в это правило что-то или нет.
 
Еще лучше, кстати, договориться с Вашим хостером (или кто там у Вас), чтобы подобные пакеты резались ДО сервера. Например, при помощи ACL IOS (если там некая разновидностиь кошки стоит). Да невжно чем - главное, чтобы пакеты вообще не попадали на сетевой интерфейс сервера. В случае запрещающих правил iptables они, тем не менее, до интефейса долетают и обрабатываются сетевым стеком. Хотя до приложения (в Вашем случае - игрового сервера) не доходят.
Я там в правиле, вообще-то ошибся. Порт указал 2970. Надеюсь, Вы это увидели?  ;) Надо на 29070 изменить.
Изменено: SOLDIER - 05.07.2011 16:12:03
 
Помогло вот что
1rst:
iptables -I INPUT -p udp --dport 29070 -i venet0 -m state --state NEW -m recent -–set

2nd:
iptables -I INPUT -p udp --dport 29070 -i venet0 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
 
Ну.... Отличается от моего указанием конкретного интерфейса (что, конечно же, верно). Ну и именем правила. :) Кстати - Вы бы его все-таки задали. Можно потом при желании вычислять злодеев, просматривая, что туда попало. ;)
 
Цитата
SOLDIER пишет:
Еще лучше, кстати, договориться с Вашим хостером (или кто там у Вас), чтобы подобные пакеты резались ДО сервера. Например, при помощи ACL IOS (если там некая разновидностиь кошки стоит).

нет в иосе нормального content inspection ;) а дорогие штуки, вроде cisco sce врядли у них есть =)
 
Да про фильтрацию контекта вроде как речи не идет.
 
Цитата
SOLDIER пишет:
Да про фильтрацию контекта вроде как речи не идет.
ну так аффтара досят пакетами с конкретным содержимым. лимитировать весь udp-трафик, имхо, бессмысленно.
 
А вот это не прокатит? http://l7-filter.sourceforge.net/ Или --string?
 
имхо, в данном случае лучше -m string. Оно ж прилетает одним пакетом в UDP. это не tcp, где оно по пути порежется на сегменты и хз как писать паттерн для матчинга.
Страницы: 1
Читают тему