Спасибо, MKX. Итак, вот что я предлагаю…
Тактика 1: Отбрасывать всё в raw prerouting для портов, которые, как известно, не используются ни для исходящего, ни для входящего трафика от роутера или пользователей за роутером, или для сервисов за роутером (in-interface WAN). Это снизит нагрузку на процессор по сравнению с фильтрацией на уровне фильтра. (например, 21, 23, 8291 и т.д.)
Тактика 2: Оставить всё в raw, но при этом просто заносить исходный адрес для стандартных портов, которые хакеры обычно пытаются сканировать (in-interface=wan) (21, 22, 23, 53 и так далее). Создать список. Всё ещё в raw, затем блокировать все с исходных адресов из этого списка на 5 дней или около того.
Какой риск или минус такого подхода… Мне нравится твоя логика, которая подходит для Тактики 2 — злодеи будут проверять не только стандартные порты, но может быть и гораздо больше, и разные группы. А этот метод блокирует все их попытки.
Вот стартовый список портов, которые я не использую, и которые могут эффективно помочь выявлять плохих парней и банить их на 5 дней:
0, 11, 20, 21, 22, 23, 79, 113, 119, 135, 139, 194, 389, 445, 500, 1002, 1025, 1026, 1027, 1028, 1029, 1030, 1720, 5000
Я не ожидаю нежелательного входящего трафика на портах 25, 53, 80, 110, 143 или 443, но, наверное, для них стоит делать правила в firewall filter, чтобы не блокировать легитимный ответный трафик во входящий WAN.
Согласен? Тогда будет выглядеть примерно так (прямо перед последним правилом drop all input):
/ip firewall filter
add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=input comment=CaptureInputProbes_tcp disabled=yes dst-port=25,53,80,443 in-interface-list=WAN protocol=tcp
add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=input comment=CaptureInputProbes_udp disabled=yes dst-port=25,53,80,443 in-interface-list=WAN protocol=udp
/ip firewall raw (PREROUTING)
add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPorts_TCP disabled=yes dst-port=0,11,20,21,22,23,79,113,119,135,139,194,389 in-interface-list=WAN protocol=tcp
add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPorts_TCP2 disabled=yes dst-port=445,500,1002,1025,1026,1027,1028,1029,1030,1720,5000 in-interface-list=WAN protocol=tcp
add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPortsUDP disabled=yes dst-port=0,11,20,21,22,23,79,113,119,135,139,194,389 in-interface-list=WAN protocol=udp
add action=add-src-to-address-list address-list=DropPortProbes address-list-timeout=5d chain=prerouting comment=CaptureUnusedPorts_UDP2 disabled=yes dst-port=445,500,1002,1025,1026,1027,1028,1029,1030,1720,5000 in-interface-list=WAN protocol=udp
add action=drop chain=prerouting disabled=yes in-interface-list=WAN src-address-list=DropPortProbes
Как видишь, у меня нет правил фильтрации для захвата FORWARD-проб на 25, 53, 80, 443 и т.д. Может, добавить и их в эту схему?