Вход для пользователей

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Reeb  
Защита от DDoS
Дата: Среда, 13.04.2011, 23:33 | Сообщение # 1
Аватар

Группа: Пользователи
Сообщений: 166
Награды: 6
Репутация: 44  
 
Вот как-то вечером решил написать скромный ман, как защитить WoW сервер, который стоит на GNU/Linux, от DoS. Так как на этом форуме нет разделов посвященных ОС или ПО, решил сделать тему здесь.
Скажу сразу, что это лишь примеры и скромные советы, а потому с помощью этого мана Вы сможете защитится только от DoSa обидевшихся на Вас игроков или конкурентов. От ботнета он не спасет (от ботнета пока ничего не спасает, так как ботнет в 100000 маших может "зафлудить" магистраль в 100гбит/c).

Сначала пару примечаний:
1. ОС GNU/Linux и основанные на этом ядре дистрибутивы (повторяю еще раз для тех кто в танке)
2. Все команды (буду обозначать их символом #) выполняются из под суперпользователя.
3. У меня проверено и работает, но я не несу ответственности за возникшие у Вас проблемы.
4. То, что тема создана в этом разделе не значит, что такое возможно только на эмуляторах тринити. Эмуляторы сюда вообще отношения как такового не имеют.

Итак, сначало узнаем ИП плохого человека, который вас Ддосит
# netstat -anp | grep 'tcp\|udp' | cut -d: -f1| sort | uniq -c
Эта команда покажет нам все ИП-адресса подключенные к нашей машине. ИП-адресс с наибольшем количеством подключений, скорее всего, и является нашим ддосером.
Примечание - ИПы 0.0.0.0/8 и 127.0.0.0/8 являются замкнутыми интерфейсами и мы их не берем во внимание.

Посте того, как мы получили его ИП мы можем проделать пару операций:

Бан ИП-адресса:
Мы можем забанить ИП обидчика, что бы все пакеты, которые он посылал, разрушались не проходя интерфейс.
# iptables -A INPUT -s ИП_ОБИДЧИКА -j REJECT
После чего сохраняем примененные правила
# service iptables save
Прелесть опции REJECT в том, что в отличии от DROP сервер не обрабатывает пакет, а потом блокирует, а блокирует сразу. Соответственно экономит ресурсы.

Ограничить количество подключений на определенный порт:
# iptables -A INPUT -p tcp -m tcp --dport ПОРТ -m connlimit --connlimit-above КОЛИЧЕСТВО_ПОДКЛЮЧЕНИЙ --connlimit-mask 32 -j DROP
# iptables -A INPUT -p tcp -m tcp --dport ПОРТ --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
После чего сохраняем примененные правила
# service iptables save
Это позволяет ограничить подключение в серверу мира\авторизации. В результате чего злоумышленник не сможет открыть кучу фиктивных подключений, которые заполнят весь порт, и игрокам не останется места.

Запрет сканирования портов.
# iptables -P INPUT DROP
# iptables -P OUTPUT ACCEPT
# iptables -A INPUT -p all -i ИНТЕРФЕЙС -j ACCEPT
# iptables -A OUTPUT -p all -o ИНТЕРФЕЙС -j ACCEPT
# iptables -A INPUT -m recent --rcheck --seconds ВРЕМЯ_БАНА_В_СЕК --name STOPSCAN -j DROP
# iptables -A INPUT -p tcp -m multiport ! --dports ПОРТ1,ПОРТ2, ПОРТn -m recent --set --name STOPSCAN -j DROP
# iptables -A INPUT -p tcp --syn --dport ПОРТ1 -j ACCEPT
# iptables -A INPUT -p tcp --syn --dport ПОРТ2 -j ACCEPT
# iptables -A INPUT -p tcp --syn --dport ПОРТn -j ACCEPT
# iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
При такой настройке iptables все запросы идущие НЕ на порты которые мы разрешили (ПОРТ1, ПОРТ2, и тд) будут блокировани на ВРЕМЯ_БАНА_В_СЕК, а вместе с запросами будет блокирован и ИП адресс отправителя.
После чего сохраняем примененные правила
# service iptables save

Вообще, блокирование сканирования портов и ограничение количества подключений на них должно в большей мере вас обезопасить от DoS атаки и мелких DDoS атак, но, к сожалению, от флуд атаки обезопасить себя нелегко своими силами, так как даже если пакеты будут блокированы, они все равно забивают Ваш интернет канал.



Когда ты родился, ты плакал, а все вокруг тебя улыбались. Живи так, чтобы когда ты будешь умирать, только ты улыбался, а все остальные плакали
 
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума

  • [05:43 Готовый сервер 4.0.6 ... 11.12.2023]

  • [23:30 Arcanum Core (3.3.5а)... 16.11.2023]

  • [12:37 delete 02.03.2020]

  • [12:37 Ищу пост ГМ-а 02.03.2020]

  • [12:37 RastaWoW 3.3.5a (Набо... 02.03.2020]

  • [12:37 Набор команды 02.03.2020]

  • [00:34 AMD FUN SERVER - Worl... 03.07.2019]

  • [00:34 Продам private сборку... 03.07.2019]

  • [00:34 НПС для покупки опыта... 03.07.2019]

  • [00:34 WoW-TRONE 03.07.2019]

  • [21:00 [Продам] Фуловые чары... 13.03.2015]

  • [18:47 Продам приват сборку ... 04.03.2015]

  • [20:54 ВСЕ приват сборки от ... 01.03.2015]

  • [20:52 QuantumCore Server 3.... 04.02.2015]

  • [21:07 GAMESV STUDIO | ... 02.01.2015]

  • [16:36 Готовый сервер wow 4.... 04.10.2014]

  • [16:51 Скупаю чаров! 30.08.2014]

  • [19:18 Готовый сервер 4.0.6 17.08.2013]

  • [18:47 [HELP]Квесты 16.08.2013]

  • [18:46 [ArcEmu] Дополнительн... 16.08.2013]


  • Карта Сайта ||||| Карта Форума|||