Как стать автором
Обновить

Легкий способ защитить свой Mikrotik от атак

Время на прочтение 4 мин
Количество просмотров 121K
upd-2020-03-16. В свете последних событий метод остается актуальным, вырезал из статьи все лишнее, оставил только про honeypot и port-scanners.

Хочу поделиться с сообществом простым и рабочим способом, как при помощи Mikrotik защитить свою сеть и «выглядывающие» из-за него сервисы от внешних атак. А именно всего тремя правилами организовать на Микротике honeypot.

Итак, представим, что у нас небольшой офис, внешний IP за которым стоит RDP сервер, для работы сотрудников по удаленке. Первое правило это конечно сменить порт 3389 на внешнем интерфейсе на другой. Но это ненадолго, спустя пару дней журнал аудита терминального сервера начнет показывать по несколько неудачных авторизаций в секунду от неизвестных клиентов.

Другая ситуация, у Вас за Mikrotik спрятан asterisk, естественно не на 5060 udp порту, и через пару дней также начинается перебор паролей… да да, знаю, fail2ban наше вcё, но над ним еще попыхтеть придется… вот я например недавно поднял его на ubuntu 18.04 и с удивлением обнаружил, что из коробки fail2ban не содержит актуальных настроек для asterisk из той же коробки того же ubuntu дистрибутива… а гуглить быстрые настройки готовых «рецептов» уже не получается, цифры у релизов с годами растут, а статьи с «рецептами» для старых версий уже не работают, а новых почти не появляется… Но что-то я отвлекся…

Итак, что такое honeypot в двух словах — это приманка, в нашем случае какой-либо популярный порт на внешнем IP, любой запрос на этот порт от внешнего клиента отправляет src адрес в черный список. Все.

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" \
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" \
    connection-state=new dst-port=22,3389,8291 in-interface=\
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" \
    address-list-timeout=30d0h0m chain=input comment=\
    "block honeypot asterisk" connection-state=new dst-port=5060 \
    in-interface=ether4-wan protocol=udp
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
    "Honeypot Hacker"

Первое правило на популярных TCP портах 22, 3389, 8291 внешнего интерфейса ether4-wan отправляет IP «гостя» в список «Honeypot Hacker» (порты для ssh, rdp и winbox заблаговременно отключены или изменены на другие). Второе делает то же самое на популярном UDP 5060.

Третье правило на стадии прероутинга дропает пакеты «гостей» чей srs-address попал в «Honeypot Hacker».

Спустя две недели работы моего домашнего Mikrotik список «Honeypot Hacker» включил в себя около полутора тысяч IP адресов любителей «подержать за вымя» мои сетевые ресурсы (дома своя телефония, почта, nextcloud, rdp) Brute-force атаки прекратились, наступило блаженство.

upd-2020-03-16. Код по защите Микротика от сканирования портов, ранее эти правила размещались на Wiki по ссылке wiki.mikrotik.com/wiki/Drop_port_scanners

/ip firewall filter
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="Port Scanners" \
    in-interface=ether4-wan protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="NMAP FIN Stealth scan" \
    in-interface=ether4-wan protocol=tcp tcp-flags=\
    fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="SYN/FIN scan" \
    in-interface=ether4-wan protocol=tcp tcp-flags=\
    fin,syn
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="SYN/RST scan" \
    in-interface=ether4-wan protocol=tcp tcp-flags=\
    syn,rst
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="FIN/PSH/URG scan" \
    in-interface=ether4-wan protocol=tcp tcp-flags=\
    fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="ALL/ALL scan" \
    in-interface=ether4-wan protocol=tcp tcp-flags=\
    fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list="Hacker Scanners" \
    address-list-timeout=30d0h0m chain=input comment="NMAP NULL scan" \
    in-interface=ether4-wan protocol=tcp tcp-flags=\
    !fin,!syn,!rst,!psh,!ack,!urg
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list="Hacker Scanners"


На моих устройствах эта настройка работает вместе с вышеописанными honeypot правилами, неплохо их дополняя.

Из наблюдений, до 24.02.2022 в черном списке было от 1 до 5 тысяч адресов, сейчас их около 25 тыс. Выводы делайте сами.

Хочу отметить комментарии:
habr.com/ru/post/499146/#comment_21549508 про правильный port knocking.
— хорошая идея использовать Intrusion Detector на ПК с открытыми портами: habr.com/ru/post/499146/#comment_21544142
Теги:
Хабы:
+26
Комментарии 85
Комментарии Комментарии 85

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн