Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
abills:docs:nas:mikrotik:fail2ban [2015/08/04 14:41]
anton создано
abills:docs:nas:mikrotik:fail2ban [2016/09/02 09:29] (текущий)
anton [Mikrotik: Блокировка брутфорса]
Строка 1: Строка 1:
-==== Mikrotik: Блокировка брутфорса ====+===== Mikrotik: Блокировка брутфорса ​=====
 **В консоли:​** **В консоли:​**
 <​code>​ <​code>​
Строка 12: Строка 12:
 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=20s 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=20s
  
-add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=20s+add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=20s ​src-address=!172.16.0.0/​13
  
 </​code>​ </​code>​
 +
 +Скрипт работает в четыре стадии:​ \\
 + ​**1-я стадия.** Если есть созданное соединение и это не наша внутренняя сеть **(src-address=!172.16.0.0/​13)**,​ добавить IP в список ''​ssh_stage1''​ на 20 секунд \\
 + ​**2-я стадия.** Если есть созданное соединение и адрес уже в списке ''​ssh_stage1'',​ добавить в ''​ssh_stage2''​ на 20 секунд \\
 + ​**3-я стадия.** Если есть созданное соединение и адрес уже в списке ''​ssh_stage2'',​ добавить в ''​ssh_stage3''​ на 20 секунд \\
 + ​**4-я стадия.** Если есть созданное соединение и адрес уже в списке ''​ssh_stage3'',​ добавить в ''​ssh_blacklist''​ на 1 час \\
 +
 +Все пакеты с src-address,​ которые в списке ''​ssh_blacklist''​ сбрасываются
 +
 +Таким образом правильность ввода пароля не проверяется,​ а даётся 3 попытки ввести пароль (3 раза создать соединение на указаный порт) не чаще, чем раз в 20 с.
 +
 +==== Ограничение количества соединений winbox ====
 +<​code>​
 +/ip firewall filter
 +
 +add chain=input protocol=tcp dst-port=8291 src-address-list=winbox_blacklist action=drop comment="​drop winbox bruteforces"​
 +
 +add chain=input protocol=tcp dst-port=8291 connection-state=new src-address-list=winbox_stage3 action=add-src-to-address-list address-list=winbox_blacklist address-list-timeout=1h
 +
 +add chain=input protocol=tcp dst-port=8291 connection-state=new src-address-list=winbox_stage2 action=add-src-to-address-list address-list=winbox_stage3 address-list-timeout=20s
 +
 +add chain=input protocol=tcp dst-port=8291 connection-state=new src-address-list=winbox_stage1 action=add-src-to-address-list address-list=winbox_stage2 address-list-timeout=20s
 +
 +add chain=input protocol=tcp dst-port=8291 connection-state=new action=add-src-to-address-list address-list=winbox_stage1 address-list-timeout=20s src-address=!172.16.0.0/​13
 +</​code>​
 +