Как бороться с подбором паролей на оборудовании Mikrotik
Способы защиты от подбора паролей
При постановке задачи ограничить возможность подбора паролей возникает как минимум 4 способа как это реализовать:
-
- VPN
- Port knocking
- Список разрешенных адресов
- Fail2ban
VPN
VPN лучший вариант – чтобы начать подбирать пароль к сервису нужно сначала подобрать к VPN, что
понятно, в процессе обнаружится и нарушитель заблокируется (вручную или каким-либо другим способом).
Port knocking
Port knocking – хороший вариант там где по каким-либо причинам не возможен (не желателен) VPN. Принцип: сетевой порт является по-умолчанию закрытым, но до тех пор, пока на него не поступит заранее определённая последовательность пакетов данных, которая «заставит» порт открыться. Например, вы можете сделать «невидимым» для внешнего мира порт SSH, и открытым только для тех, кто знает нужную последовательность.
Список разрешенных адресов – неплохой вариант, но только в паре с чем-то еще. Например, через список разрешенных адресов ограничивается доступ к VPN сервису, а целевой сервис уже доступен из VPN.
Fail2ban
Fail2ban поможет там где другие способы не возможны или не удобны. Рассмотрим его подробнее как самый популярный. Принцип: клиент подключается к сервису и при нескольких неудачных попытках входа блокируется. В mikrotik нет пакета Fail2ban, но сам механизм можно реализовать с помощью firewall и address list. Узнать, что вход неудачный можно, например, частым SYN пакетам или ответам целевого сервиса (если они не шифрованы, конечно).
Для ftp сервиса на mikrotik правила firewall могут выглядеть так (wiki mikrotik):
add chain=input protocol=tcp dst-port=21 src-address-list=ftp_blacklist action=drop \
comment=»drop ftp brute forcers»
add chain=output action=accept protocol=tcp content=»530 Login incorrect» dst-limit=1/1m,9,dst-address/1m
add chain=output action=add-dst-to-address-list protocol=tcp content=»530 Login incorrect» \
address-list=ftp_blacklist address-list-timeout=3h
Как работают эти правила: если клиент 10 раз ввел неправильны логин/пароль в течении 1 минуты, то его записывают address-list ftp_blacklist. Клиентов, находящихся в address-list ftp_blacklist первое правило в примере блокирует на 3 часа.
Пример для сервисов, использующих шифрование (wiki mikrotik):
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \comment=»drop ssh brute forcers» disabled=no add chain=input protocol=tcp dst-port=22 connection-state=new \src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \address-list-timeout=10d comment=»» disabled=no add chain=input protocol=tcp dst-port=22 connection-state=new \src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \address-list-timeout=1m comment=»» disabled=no add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment=»» disabled=no add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \address-list=ssh_stage1 address-list-timeout=1m comment=»» disabled=no
Как работают эти правила: при подключении клиент посылает SYN-пакет, который проходит через правила firewall, доходит до пятого правила, которому пакет соответствует и происходит добавление клиента в address-list ssh_stage1 на 1 минуту. Если клиент в течении 1 минуты еще раз подключится к этому сервису, то отработает уже четвертое правило и ip адрес запишется уже в ssh_stage2 на 1 минуту. Если будет еще одно подключение в течении минуты, то запишется уже ssh_stage3. В случае еще одного подключения запишется уже в ssh_blacklist, а тех кто в этом листе находится блокирует первое правило.
Важно понимать, что для правильной работы Fail2ban требуется правильный порядок правил в firewall и сделайте себе черный ход на случай если сами попадете в бан =)
По всем остальным вопросам касающимся установки, аппаратуры и оплаты вы можете обратиться к нам, нажав на кнопку «позвоните мне», о списке и стоимости услуг вы можете прочитать здесь.
Также на нашем сайте представлены другие виды работ, которые могут быть интересны.