Лесен начин да защитите вашия Mikrotik от атаки

Искам да споделя с общността прост и работещ начин как да използвате Mikrotik, за да защитите вашата мрежа и услугите, които „надничат“ зад нея от външни атаки. А именно, само три правила за организиране на меден съд в Mikrotik.

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

Друга ситуация, имате звездичка, скрита зад Mikrotik, разбира се, не на udp порт 5060, и след няколко дни започва и търсенето на парола... да, да, знам, fail2ban е нашето всичко, но все още трябва да работим на него... например наскоро го инсталирах на ubuntu 18.04 и с изненада открих, че фаил2бан извън кутията не съдържа текущи настройки за звездичка от същата кутия на същата дистрибуция на ubuntu... и гугъл бързи настройки за готовите „рецепти“ вече не работят, броят на изданията нараства с годините и статии с „рецепти“ за стари версии вече не работят, а нови почти никога не се появяват... Но аз се отклоних...

И така, какво е honeypot накратко - това е 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-адрес е включен в „Honeypot Hacker“.

След две седмици работа с домашния ми Mikrotik, списъкът „Honeypot Hacker“ включваше около хиляди и половина IP адреса на тези, които обичат да „държат вимето“ на моите мрежови ресурси (у дома има собствена телефония, поща, nextcloud, rdp).Атаките с груба сила спряха, дойде блаженството.

На работа не всичко се оказа толкова просто, там те продължават да разбиват rdp сървъра чрез грубо налагане на пароли.

Очевидно номерът на порта е определен от скенера много преди honeypot да бъде включен и по време на карантина не е толкова лесно да се преконфигурират повече от 100 потребители, от които 20% са на възраст над 65 години. В случай, че портът не може да бъде променен, има малка работеща рецепта. Виждал съм нещо подобно в интернет, но има някои допълнителни добавки и фина настройка:

Правила за конфигуриране на Port Knocking

 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist 
    connection-state=new dst-port=3389 protocol=tcp src-address-list=
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist

За 4 минути отдалеченият клиент има право да направи само 12 нови „заявки“ към RDP сървъра. Един опит за влизане е от 1 до 4 „заявки“. На 12-то „заявка“ - блокиране за 15 минути. В моя случай нападателите не спряха да хакват сървъра, те се приспособиха към таймерите и сега го правят много бавно, такава скорост на избор намалява ефективността на атаката до нула. Служителите на компанията практически не изпитват неудобства на работа от предприетите мерки.

Още един малък трик
Това правило се включва по график в 5 сутринта и се изключва в XNUMX сутринта, когато реалните хора определено спят, а автоматизираните събирачи продължават да са будни.

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=1w0d0h0m chain=forward comment=
    "night_rdp_blacklist" connection-state=new disabled=
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

Още при 8-та връзка IP адресът на нападателя е в черния списък за една седмица. красота!

Е, в допълнение към горното, ще добавя връзка към Wiki статия с работеща настройка за защита на Mikrotik от мрежови скенери. wiki.mikrotik.com/wiki/Drop_port_scanners

На моите устройства тази настройка работи заедно с описаните по-горе правила на honeypot, като ги допълва добре.

UPD: Както се предлага в коментарите, правилото за изпускане на пакети е преместено в RAW, за да се намали натоварването на рутера.

Източник: www.habr.com

Добавяне на нов коментар