Искам да споделя с общността прост и работещ начин как да защитим мрежата си и "изглеждащите" от нея услуги от външни атаки с помощта на Mikrotik. Всичко това може да се организира с три прости правила за настройка на honeypot в Mikrotik.
Представете си, че имаме малък офис с външен IP адрес, зад който стои RDP сървър за работа на служителите от разстояние. Първото правило е разбира се да сменим порта 3389 на външния интерфейс с друг. Но това не е за дълго, след няколко дни журналът на терминалния сървър ще започне да показва по няколко неуспешни опита за авторизация в секунда от неизвестни клиенти.
В друга ситуация, зад Mikrotik имате asterisk, естествено не на 5060 UDP порта, и след няколко дни започват хакери да пробват пароли... да, знам, че fail2ban е решението, но е нужно малко усилия, за да настроите всичко... например, наскоро инсталирах fail2ban на ubuntu 18.04 и с учудване открих, че от кутията fail2ban не съдържа актуални настройки за asterisk от същата версия на ubuntu дистрибутива... с гуглене на бързи настройки на готови "рецепти" вече не успях да намеря, цифрите на версиите през годините растат, а стари рецепти с настройки не работят, а нови почти не излизат... Но нека не се отклонявам...
Така че, какво е honeypot с две думи — това е капан, в нашия случай някой популярен порт на външния IP адрес, всеки опит за достъп до този порт от външен клиент дава IP адреса на "гост" в черния списък. Това е всичко.
/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.
Третото правило на етапа на прерентиране блокира пакетите от "гостите", чиито IP адреси са попаднали в "Honeypot Hacker".
След две седмици работа на моя домашен Mikrotik, списъкът "Honeypot Hacker" включва около хиляда и петстотин IP адреса на любители да "поддържат за ципа" моите мрежови ресурси (у дома имам собствена телефония, поща, nextcloud, rdp). Атаките с brute-force спряха, настъпи блаженство.
На работа нещата не са толкова прости, там 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
Удаленному клиенту дается только 12 новых «запросов» к RDP за 4 минуты. сървърОдна попытка входа — это от 1 до 4 «запросов». При 12-ом «запросе» — блокировка на 15 минут. В моем случае злоумышленники не перестали пытаться взломать сервер, они адаптировались к таймерам и сейчас делают это очень медленно; такая скорость подбора сводит эффективность атаки к нулю. Сотрудники компании не испытывают значительных неудобств от принятых мер.
Еще одна небольшая хитрость
Это правило включается по расписанию в час ночи и отключается в 5, когда живые люди спят, а автоматизированные подбирающие продолжат работать.
/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 от сетевых сканеров.
На моих устройствах эта настройка работает в комбинации с ранее описанными правилами honeypot, хорошо их дополняя.
UPD: Как подсказали в комментариях, правило дропа пакетов перемещено в RAW, чтобы снизить нагрузку на роутер.
Източник: habr.com
