Mikrotik. Блокировка DDOS атакующих по протоколу HTTP(S) на Mikrotik
Настройка
Ловим флудящие запросы и помещаем 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