Mikrotik. Блокировка DDOS атакующих по протоколу HTTP(S) на Mikrotik

Материал из Wiki
Перейти к навигации Перейти к поиску

Настройка

Ловим флудящие запросы и помещаем src-ip в адрес-лист

address-list=_HTTP_FLOOD - адрес лист, в который помещаем IP атакующего

connection-limit=50,32 - правило срабатывает при 100 входящих соединениях от IP адреса (с маской 32) в течение 1 секунды

dst-port=80,443 - порты http/https

in-interface=ether3-wan1 - внешний входящий интерфейс ля соединений

chain=forward - блокируем проходящие через DST-NAT соединения, так как HTTP сервер находится за NAT в локальной сети, а не на самом mikrotik

/ip firewall mangle

add action=add-src-to-address-list address-list=_HTTP_FLOOD address-list-timeout=1h chain=forward comment=HTTP_FLOOD_MANGLE connection-limit=100,32 connection-state="" dst-port=80,443 \

   in-interface=ether3-wan1 log=yes log-prefix="===_HTTP_FLOOD" protocol=tcp

Дропаем 80,443/tcp от src-ip из адрес-листа

/ip firewall filter

add action=drop chain=forward comment=_HTTP_FLOOD_DROP dst-port=80,443 in-interface=ether3-wan1 protocol=tcp src-address-list=_HTTP_FLOOD

Проверка

На любой машине Linux из внешней сети

yum install hping3

-S - отправляем SYN пакеты

-p 80 - порт 80

-i u20 - ждем 20 микросекунд между пакетами = 100 пакетов в секунду

hping3 -i u20 -S -p 80 -c 100 domain.ru

На Mikrotik увидим добавление внешнего адреса атакующего в адрес-лист.

С атакующей машины увидим закрытие портов 80,443 на сервере Mikrotik