Инструкция по защите SSH и Winbox от брутфорс-атак на MikroTik

Для повышения безопасности подключения к вашему устройству MikroTik можно настроить фильтрацию и временную блокировку IP-адресов, которые многократно пытаются подключиться к SSH и Winbox. Важно сначала настроить white_list (белый список) IP-адресов, которые всегда будут иметь доступ, а затем применять правила для блокировки подозрительных IP.

Добавление белого списка (white_list)

Перед созданием правил защиты убедитесь, что вы добавили свои доверенные IP-адреса в white_list, чтобы случайно не заблокировать себя.

/ip firewall address-list
add list=white_list address=<ваш_доверенный_IP> comment="Trusted IP"

Примечание: Укажите ваш реальный IP-адрес вместо <ваш_доверенный_IP>. Добавьте все доверенные IP-адреса в этот список.


Защита SSH от брутфорс-атак

  1. Создание правил защиты для SSH.

    /ip firewall filter
    
    # Блокировка IP-адресов из черного списка для SSH
    add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
    comment="Block SSH brute force attackers" disabled=no
    
    # Перемещение IP-адресов из stage3 в ssh_blacklist на 10 дней
    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="Move to SSH blacklist after stage3" disabled=no
    
    # Перемещение IP-адресов из stage2 в ssh_stage3 на 30 минут
    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=30m \
    comment="Move to SSH stage3 after stage2" disabled=no
    
    # Перемещение IP-адресов из stage1 в ssh_stage2 на 10 минут
    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=10m \
    comment="Move to SSH stage2 after stage1" disabled=no
    
    # Добавление IP-адресов в ssh_stage1 на 1 минуту при первой попытке
    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 src-address-list=!white_list \
    comment="Add to SSH stage1 on first attempt" disabled=no
  2. Описание работы правил для SSH:

    • При первом подключении IP-адрес добавляется в ssh_stage1 на 1 минуту.
    • При повторных попытках IP-адрес перемещается в ssh_stage2 (на 10 минут) и ssh_stage3 (на 30 минут).
    • При третьей попытке IP-адрес попадает в ssh_blacklist, блокируя доступ по SSH на 10 дней.
    • Белый список (white_list) исключен из блокировки.

Защита Winbox от брутфорс-атак

  1. Создание правил защиты для Winbox.

    /ip firewall filter
    
    # Блокировка IP-адресов из черного списка для Winbox
    add chain=input protocol=tcp dst-port=8291 src-address-list=winbox_blacklist action=drop \
    comment="Block Winbox brute force attackers" disabled=no
    
    # Перемещение IP-адресов из stage3 в winbox_blacklist на 10 дней
    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=10d \
    comment="Move to Winbox blacklist after stage3" disabled=no
    
    # Перемещение IP-адресов из stage2 в winbox_stage3 на 30 минут
    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=30m \
    comment="Move to Winbox stage3 after stage2" disabled=no
    
    # Перемещение IP-адресов из stage1 в winbox_stage2 на 10 минут
    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=10m \
    comment="Move to Winbox stage2 after stage1" disabled=no
    
    # Добавление IP-адресов в winbox_stage1 на 1 минуту при первой попытке
    add chain=input protocol=tcp dst-port=8291 connection-state=new action=add-src-to-address-list \
    address-list=winbox_stage1 address-list-timeout=1m src-address-list=!white_list \
    comment="Add to Winbox stage1 on first attempt" disabled=no
  2. Описание работы правил для Winbox:

    • При первом подключении IP-адрес добавляется в winbox_stage1 на 1 минуту.
    • При повторных попытках IP-адрес перемещается в winbox_stage2 (на 10 минут) и winbox_stage3 (на 30 минут).
    • При третьей попытке IP-адрес попадает в winbox_blacklist, блокируя доступ к Winbox на 10 дней.
    • Белый список (white_list) исключен из блокировки.

Результат

Эти правила обеспечивают поэтапную блокировку подозрительных IP-адресов, предотвращая брутфорс-атаки на SSH и Winbox. Добавление доверенных IP-адресов в белый список исключает их из блокировки, обеспечивая стабильный доступ для администратора.