Вот последнее предложение интересное
Как и обещал - рассказываю про простенькую систему ids/ips на RouterOS. Сразу disclaimer - метод не претендует на полную и всеобъемлющую защиту вашего роутера от всех возможных атак. Метод не подходит тем, кто публикует свои ресурсы для массового пользования - для правильной работы метода нужно иметь связь с пользователями, или контролировать их устройства. Но Интернет, к сожалению, наполнен ботами и сканерами чуть менее, чем полностью. Поэтому применение данной системы позволяет значительно снизить злонамеренный трафик к роутеру и/или во внутреннюю сеть.
Имеем: внутреннюю сеть LAN, интерфейс в WAN с постоянным реальным IP. На нём dst-nat'ом опубликованы некие сервисы внутри сети. Хочецца: уменьшить вероятность несанкционированного подключения/сканирования/перебора и т.п.
IMHO, прежде чем начать подключение/перебор и т.п. - злоумышленники и их боты производят первичное сканирование потенциальной жертвы. Раньше сканировались диапазоны портов. Сейчас уже даже провайдеры исходящее сканироване диапазона, даже случайном порядке быстро засекают и блокируют. Поэтому сканирование ведется на известные порты, и в случае обнаружения - хост вносится в список интересных, далее начинаются разнообразные атаки - поиск уязвимостей, перебор паролей и т.п.
Предлагаемый способ защиты: внутренние сервисы публикуются только на далеких нестандартных портах. Например, наиболее распространенный сервис - RDP - публикуется на порту 53219. Остальные сервисы, если они есть, также по возможности переносятся "подальше".
Создаём правило:
/ip firewall mangle
add action=add-src-to-address-list address-list=hackers address-list-timeout=6w3d chain=prerouting dst-port=\
21,22,23,110,135,139,143,445,1194,1433,3389,5060,13389,23389,33389 log-prefix=hack_fix protocol=tcp src-address-list=!white
В данном правиле перечисляются наиболее интересные злоумышленнику порты, кроме, разумеется, тех, которые по каким-то причинам используются вами для работы системы. Повторяю - ваших легитимных клиентов вы, по возможности, настраиваете на использование нестандартного порта, на котором опубликован сервис. Напрмер, если вам надо, чтобы ваши сотрудники цеплялись снаружи к почтовому серверу внутри сети по imap4 - всего-то нужно изменить настройку со стандартного 143 (993 over SSL) на любой понравившийся, и прописать этот понравившийся на устройстве сотрудников, хоть ноутбуке с Аутлуком, хоть на мобильном телефоне. Но, даже если используете стандартный порт - ничего страшного, просто исключите его из данного правила.
В одном правиле можно прописать не более 15 портов. Поэтому если хотите усилить защиту и прописать интересные, с вашей точки зрения, хакерам порты - сделайте второе (третье, четвертое) правило.
Получаем, что при любой, ДАЖЕ ЕДИНСТВЕННОЙ, попытке установить соединение на любой порт в таком правиле IP злоумышленника/бота тут же попадает в адрес лист, в данном случае - hackers, на указанный срок - в данном случае - на 45 дней. Легитимные пользователи просто не должны обращаться на эти порты, т.к. в их устройствах программы настроены на использование портов нестандартных. И если кто-то коннектится на "интересный" порт, который мы не используем - этот кто-то с огромной вероятностью хакер/бот, и мы легким движением руки отправляем его в соответствующий адреc лист.
Чтобы блокировать любой трафик от попавшихся таким образом IP-адресов теперь достаточно добавить в цепочки input и forward правила:
add action=drop chain=input log-prefix=hackoff src-address-list=hackers
add action=drop chain=forward log-prefix=hackoff src-address-list=hackers
и поместить их выше разрешающих правил.
Всё. Теперь постороннему достаточно попытаться установить соединение на любой "интересный" порт, который мы заведомо не используем - он в банлисте на 45 дней. Из практики - chr на постоянном IP-адресе в зарубежном датацентре, в списке hackers ~45000 записей.