Когда-то нашёл на просторах интернета правила фаервола (firewall) роутера микротик для защиты от сканирования портов и ддос атаки. Спустя пользования долгого времени данные правила отлично себя показали.
Не буду как говорится тянуть кота за ... =) Визуально правила выглядят так:
Ниже на скриншоте видно, что правила прекрасно работают.
Первый набор правил для защиты от ддос (DDoS) атаки:
- /ip settings set tcp-syncookies=yes
- /ip firewall filter
- add action=add-src-to-address-list address-list=ddos-blacklist \ address-list-timeout=30m chain=input comment=\ "DDoS - Limit incoming connections, add IP to Blacklist" \ connection-limit=100,32 in-interface=ether1 protocol=tcp
- add action=tarpit chain=input comment=\ "DDoS - capture and hold connections, try to slow the attacker " \ connection-limit=3,32 protocol=tcp src-address-list=ddos-blacklist
- add action=jump chain=forward comment="DDoS - SYN Flood protect" \ connection-state=new jump-target=SYN-Protect protocol=tcp tcp-flags=syn
- add action=jump chain=input connection-state=new in-interface=ether1 \ jump-target=SYN-Protect protocol=tcp tcp-flags=syn
- add action=return chain=SYN-Protect connection-state=new limit=200,5:packet \ protocol=tcp tcp-flags=syn
- add action=drop chain=SYN-Protect connection-state=new protocol=tcp \ tcp-flags=syn
И второй набор правил для защиты от сканирования портов:
- /ip firewall filter
- add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="Port scanners to list " disabled=no
- add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP FIN Stealth scan"
- add chain=input protocol=tcp tcp-flags=fin,syn action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/FIN scan"
- add chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/RST scan"
- add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="FIN/PSH/URG scan"
- add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="ALL/ALL scan"
- add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP NULL scan"
- add chain=input src-address-list="port scanners" action=drop comment="dropping port scanners" disabled=no
Не забудьте данные правила поднять в самый вверх по приоритету.
Всё просто. Удачи!