Брандмауэр лавинная рассылка UDP Dos/DDoS

Недавно я страдал от того, что, кажется, нападение лавинной рассылки запроса UDP. Я ищу способ заблокировать нападение с помощью программного брандмауэра, такого как iptables, это должно быть возможно, как объяснено ниже. Целью нападения является Andreas Multiplayer GTA San (МАИСОВАЯ КРУПА) работа сервера порта 7777. Путем лавинной рассылки сервера с запросами (который использовался бы для определения, сколько плееры сервер имеют онлайн и т.д.), взломщики могут вызвать отказ в обслуживании для подлинных пользователей сервера.

Я размещаю этот сервер на Выделенном сервере OVH, который включает их "Игровую защиту" Anti-DDoS. Они не обнаруживают это конкретное нападение. Учитывая, что это - низкое нападение пропускной способности, которое предназначается для дефекта в программном обеспечении сервера МАИСОВОЙ КРУПЫ, я полагаю, что должно быть возможно заблокировать нападение с помощью программного брандмауэра, такого как iptables.

Мой сервер работает на Ubuntu 14.04 x64.

Нападение не оказывает влияния на сеть или доступность других сервисов на хост-машину, это только производит доступность сервера МАИСОВОЙ КРУПЫ. Сервер МАИСОВОЙ КРУПЫ использование ЦП не произведен нападением.

Обратите внимание на то, что адрес назначения в следующих pcap файлах был изменен на 50.0.0.0. Предположите, что сервер МАИСОВОЙ КРУПЫ работает 50.0.0.0:7777. Файлы только показывают трафик, предназначенный для 50.0.0.0:7777.

Следующий pcap файл был создан во время нападения: https://www.dropbox.com/s/5729k6vonqop7vh/attack.pcap

Соответствующий анонимизировал журналы iptables:

Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.236.34.109 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=37535 PROTO=UDP SPT=10365 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.228.244.109 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=56141 PROTO=UDP SPT=26757 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.9.122.145 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=109 ID=28986 PROTO=UDP SPT=34861 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.12.137.119 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=112 ID=48843 PROTO=UDP SPT=26837 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.41.70.162 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=107 ID=45760 PROTO=UDP SPT=51292 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.12.97.62 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=107 ID=33629 PROTO=UDP SPT=16468 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.245.87.139 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=61928 PROTO=UDP SPT=41088 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.203.14.22 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=27207 PROTO=UDP SPT=57344 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.225.52.188 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=111 ID=13336 PROTO=UDP SPT=43057 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.82.59.154 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=106 ID=56663 PROTO=UDP SPT=59536 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.40.3.89 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=106 ID=51704 PROTO=UDP SPT=57477 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.104.10.111 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=109 ID=46872 PROTO=UDP SPT=51380 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.4.49.184 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=30226 PROTO=UDP SPT=16636 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.38.178.54 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=4646 PROTO=UDP SPT=35017 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.139.77.54 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=23920 PROTO=UDP SPT=57421 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.104.123.34 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=109 ID=52328 PROTO=UDP SPT=34833 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.179.166.24 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=112 ID=12342 PROTO=UDP SPT=10357 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.75.214.181 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=109 ID=51967 PROTO=UDP SPT=8220 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.99.5.153 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=107 ID=32396 PROTO=UDP SPT=51236 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.95.125.95 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=106 ID=23852 PROTO=UDP SPT=16509 DPT=7777 LEN=19
Sep  6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.138.137.71 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=107 ID=64385 PROTO=UDP SPT=43176 DPT=7777 LEN=19

Следующий pcap файл показывает обычный трафик: https://www.dropbox.com/s/dc05y54sru0c57u/normal.pcap

Наблюдения

  • Злонамеренные пакеты UDP имеют длину 19 и содержат строку "SAMP3"
  • Обычные пакеты могут иметь длину 19 однако, они не содержат "SAMP3"
  • Злонамеренные пакеты все происходят из 177.0.0.0/8

У меня есть направленный 177.0.0.0/8 пустого указателя без успеха. Это решение было бы невыполнимо в любом случае, поскольку оно потенциально запретит доступа реальным пользователям.

Следующая попытка ограничения количества принятых пакетов была неудачна. Правила или не работают или приводят к отказу в обслуживании.

#!/bin/bash

iptables -F
iptables -A INPUT -p udp -d 50.0.0.0 --destination-port 7777 -m string --string 'SAMP3' --algo bm -m limit --limit 100/s -j ACCEPT
iptables -A INPUT -p udp -d 50.0.0.0 --destination-port 7777 -m string --string 'SAMP3' --algo bm -j DROP

exit 0

Также неудачный:

#!/bin/bash

iptables -F
iptables -A INPUT -p udp -d 50.0.0.0 -s 177.0.0.0/8 --destination-port 7777 -j DROP

exit 0

50.0.0.0 был бы заменен адресом WAN IPv4 сервера.

Если Вы могли бы обеспечить понимание, как трафик мог возможно быть отброшен, который будет значительно цениться. У меня есть очень ограниченный опыт с анализом трафика. Я был бы готов использовать программное обеспечение кроме iptables, если рекомендуется.

Не возможно реализовать решение для прикладного уровня, поскольку исходный код сервера не доступен.

Заранее спасибо.

1
задан 6 September 2015 в 23:39
2 ответа

Первое, что нужно понять о DDoS-атаке, - это то, что если она достигает вашего сервера, уже слишком поздно что-либо делать. Обязательно прочтите этот пост , так как он даст вам лучшее представление о том, с чем вы сталкиваетесь.

В качестве практической рекомендации я бы посоветовал проверить услуги, предлагаемые CloudFlare и ] Инкапсула . В зависимости от вашего трафика вы можете претендовать на уровень бесплатного пользования, и если нет, то это хорошая отправная точка.

ОБНОВЛЕНИЕ: извините, я пропустил часть, что это не веб-сайт, а приложение, использующее UDP. Прежде всего, согласно последним сообщениям, сайты онлайн-игр в настоящее время являются основной целью DDoS-атак. Цель - выкуп, поэтому, если ваше приложение приносит какой-либо доход, вам, вероятно, придется поговорить с крупными парнями, такими как Akamai, Verisign, F5 и т. Д. У них есть пакеты, специально разработанные для защиты игровых сайтов, но они недешевы.

-1
ответ дан 4 December 2019 в 07:12

Вы имеете дело с лавинным потоком запросов SA-MP, это известная проблема в сообществе SA-MP, и практически нет способов остановить это, было обновление I ' я уверен, что вы уже знакомы с ним. Однако в последнее время произошли атаки, основанные на том же методе флуда, но с поддельными адресами источника, которые разработчикам еще предстоит решить. Пользователь исправил это, но он не выпустит исходный код.

1
ответ дан 4 December 2019 в 07:12

Теги

Похожие вопросы