Защита от перебора паролей VPN
Firewall mikrotik bruteforce
В последнее время всё чаще встречаемся с брутфорсом. Чаще всего атака идет на стандартные сервисы и, соответственно, стандартные порты. Такие как:
SSH – TCP 22 port
PPTP – TCP 1723 port, GRE (не имеет порт)
L2TP – UDP 1701, 4500, 500 ports
RDP – TCP 3389 port
VNC – TCP 5900 port
WINBOX – TCP 8291
Если Вы установили сложные пароли то подобрать их злоумышленнику конечно будет не легко но и Ваш роутер вместо того чтобы обрабатывать полезный траффик вынужден ещё и тратить свои ресурсы на обработку попыток злоумышленника взломать пароль.
Для этого мы настроим правила firewall для блокировки ip адресов с которых пытаются подобрать пароль.
Пример на основе PPTP
Для начало добавим скрипт в ppp профиль чтоб ip адреса (те кто удачно подключились добавлялись в success_list)
В терминале это выглядит так
[user@MikroTik] >ppp profile/add change-tcp-mss=yes local-address=172.16.8.1 name=user-pptp on-up=”/ip \
firewall address-list add list=success_list=\$\”caller-id\” ti\
meout=1d” remote-address=172.16.8.14 use-compression=no \use-encryption=yes use-upnp=no
Далее создадим правило разрешающее подключаться к VPN без проверки с адрес листа success_list
В терминале это выглядит так:
[user@MikroTik] >add action=accept chain=input dst-port=1723 protocol=tcp src-address-list=pptp_success tcp-flags=””
Настроим блокировку неудачных попыток подключения к VPN и запись в логах
В терминале это выглядит так:
[user@MikroTik] >ip firewall raw add action=drop chain=prerouting log-prefix=”warning pptp brute forcer” src-address-list=pptp_blacklist
Ну и создадим правило для попадания в этот список (pptp_blacklist) всех кто пытается подобрать пароль.
Создадим 3 stadge и при каждой неудачи ip-шник будет проходить все попытки и после этого будет блокироваться
В терминале это выглядит так:
[user@MikroTik] >ip firewall filter add action=add-src-to-address-list address-list=pptp_blacklist address-list-timeout=3d chain=input connection-state=new dst-port=1723 protocol=tcp src-address-list=pptp_stage3 tcp-flags=””
add action=add-src-to-address-list address-list=pptp_stage3 address-list-timeout=1m chain=input connection-state=new dst-port=1723 protocol=tcp src-address-list=pptp_stage2 tcp-flags=””
add action=add-src-to-address-list address-list=pptp_stage2 address-list-timeout=1m chain=input connection-state=new dst-port=1723 protocol=tcp src-address-list=pptp_stage1 tcp-flags=””
add action=add-src-to-address-list address-list=pptp_stage1 address-list-timeout=1m chain=input connection-state=new dst-port=1723 protocol=tcp tcp-flags=””
Таким же образом добавляем правила для остальных портов