Когда-то нашёл на просторах интернета правила фаервола (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
Не забудьте данные правила поднять в самый вверх по приоритету.
Всё просто. Удачи!
/ip firewall filter
add action=drop chain=input comment=«Ports Scanners» src-address-list=«Port Scanners»
add action=add-src-to-address-list address-list=«Port Scanners» address-list-timeout=none-dynamic chain=input in-interface-list=Internet protocol=tcp psd=21,3s,3,1
вот вам еще два правила. на блокировку спама от NTP и DNS.
Возможно провайдер и так старается прикрыть спам с портов 123, и 53. но далеко не каждый… DNS спам капец как актуально крыть, особенно если инет 4G. ибо за сутки там тупыми запросами в некуда может прилететь примерно мегабайт 200…
ну а NTP это вечная дырка в мир…
/ip firewall filter
add action=add-src-to-address-list address-list=«dns flood» \
address-list-timeout=1h chain=input comment=«DNS Flood» dst-port=53 \
in-interface=ether1 protocol=udp
add action=add-src-to-address-list address-list=«NTP Flood» \
address-list-timeout=none-dynamic chain=input comment=«NTP Flood» \
dst-port=123 in-interface=ether1 protocol=udp
/ip firewall raw
add action=drop chain=prerouting src-address-list=«dns flood»
add action=drop chain=prerouting src-address-list=«NTP Flood»