Várias opções para proteger contra ataques BruteForce em dispositivos MikroTik (MikroTik Fail2Ban), para conexões Winbox, Web ou SSH usando MikroTik Firewall. Bloqueio simples do endereço IP do invasor após a primeira tentativa de senha incorreta ou bloqueio do endereço IP após várias tentativas de senha. Testado na versão RouterOS 7.
Selecione a opção Fail2Ban dependendo do método de login usado, não é necessário usar todos os métodos de login disponíveis no dispositivo MikroTik (eu só uso Winbox).
Neste artigo, eu uso as cadeias Jump no MikroTik Firewall porque elas exigem menos CPU e o método de bloqueio usado no artigo é fácil de adaptar e estender.
✏️ Atenção: Como o ataque Brute Force ao dispositivo pode vir da rede interna (é importante saber disso), nas regras especificadas, todos os endereços IP de ataque serão incluídos na BlackList.
Outras línguas:
- ?? MikroTik Blocking Brute Force Attacks
- ?? MikroTik Bloqueo de ataques de BruteForce
- ?? MikroTik защита от BruteForce атаки
- ?? MikroTik Blocage des attaques par BruteForce
- ?? MikroTik blockieren von Brute-Force-Angriffen
- ?? MikroTik Brute Force aanvallen blokkeren
- ?? MikroTik Menyekat Serangan Brute Force
Fail2Ban Winbox
Protegendo o MikroTik de um ataque de força bruta ao conectar via Winbox (endereço IP) usando o MikroTik Firewall. Para cada tentativa de senha incorreta via Winbox, o MikroTik envia de volta o texto simples “invalid user name or password“.
Em formação:
- Chain: output
- Protocol: 6 (tcp)
- Src. Port: 8291
- Content: invalid user name or password
1 tentativa
Bloqueio após uma tentativa de senha errada:
/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=output comment="F2B Winbox: Login Failure -> BlackList" content="invalid user name or password" protocol=tcp src-port=8291
3 tentativas
Bloquear o endereço IP de destino após três tentativas incorretas de senha.
Descrição:
- Se o pacote corresponder às condições, o processamento do pacote é enviado para a cadeia Fail2Ban-Destination-IP;
- Se o endereço IP de destino já estiver na lista LoginFailure02, o endereço IP de destino será adicionado à BlackList por 10 minutos;
- Se o endereço IP de destino já estiver na lista LoginFailure01, o endereço IP de destino será adicionado à lista LoginFailure02 por 2 minutos;
- O endereço IP de destino é adicionado à lista LoginFailure01, por 1 minuto.
Regras:
/ip firewall filter add action=jump chain=output comment="F2B Winbox: Jump to Fail2Ban-Destination-IP chain" content="invalid user name or password" jump-target=Fail2Ban-Destination-IP protocol=tcp src-port=8291
/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=Fail2Ban-Destination-IP comment="3 Attempt --> BlackList" dst-address-list=LoginFailure02
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure02 address-list-timeout=2m chain=Fail2Ban-Destination-IP comment="2 Attempt --> LoginFailure02" dst-address-list=LoginFailure01
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure01 address-list-timeout=1m chain=Fail2Ban-Destination-IP comment="1 Attempt --> LoginFailure01"
Fail2Ban Web
Protegendo o MikroTik da senha BruteForce ao conectar através da interface da Web usando o MikroTik Firewall. Em uma tentativa de acesso inválido, o MikroTik envia uma mensagem de resposta contendo o texto simples “Error 403“.
80 é a porta padrão da interface da Web do MikroTik, recomendo alterá-la. No exemplo, uma porta não padrão é especificada – 90. No artigo “MikroTik Protection (basic device security setting)” – 80 A porta TCP é usada como uma armadilha para bloquear o scanner de porta.
Em formação:
- Chain: output
- Protocol: 6 (tcp)
- Scr. Port: Web port (exemplo: 90)
- Content: Error 403
1 tentativa
Bloqueio após uma tentativa de senha errada:
/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=output comment="F2B Web: Login Failure -> BlackList" connection-state=established content="Error 403" protocol=tcp src-port=90
3 tentativas
Bloquear o endereço IP de destino após três tentativas incorretas de senha.
Descrição:
- Se o pacote corresponder às condições, o processamento do pacote é enviado para a cadeia Fail2Ban-Destination-IP;
- Se o endereço IP de destino já estiver na lista LoginFailure02, o endereço IP de destino será adicionado à BlackList por 10 minutos;
- Se o endereço IP de destino já estiver na lista LoginFailure01, o endereço IP de destino será adicionado à lista LoginFailure02 por 2 minutos;
- O endereço IP de destino é adicionado à lista LoginFailure01, por 1 minuto.
Regras:
/ip firewall filter add action=jump chain=output comment="F2B Web: Jump to Fail2Ban-Destination-IP chain" connection-state=established content="Error 403" jump-target=Fail2Ban-Destination-IP protocol=tcp src-port=90
/ip firewall filter add action=add-dst-to-address-list address-list=BlackList address-list-timeout=10m chain=Fail2Ban-Destination-IP comment="3 Attempt --> BlackList" dst-address-list=LoginFailure02
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure02 address-list-timeout=2m chain=Fail2Ban-Destination-IP comment="2 Attempt --> LoginFailure02" dst-address-list=LoginFailure01
/ip firewall filter add action=add-dst-to-address-list address-list=LoginFailure01 address-list-timeout=1m chain=Fail2Ban-Destination-IP comment="1 Attempt --> LoginFailure01"
Fail2Ban SSH
Protegendo o MikroTik (Fail2Ban) de ataques de força bruta na conexão SSH usando o MikroTik Firewall. Para solicitar uma senha via SSH, o dispositivo MikroTik envia um pacote de 304 bytes para o endereço de destino, rastreamos a quantidade de pacotes enviados para um endereço IP específico.
✏️ Bloquear ataques BruteForce usando o status de conexão New não é confiável (muitas vezes vejo essa recomendação na Internet). O status New é atribuído a uma conexão quando conectada a um dispositivo, mas o número de possíveis tentativas de senha depende do programa. Ao inserir o login do usuário, um invasor pode inserir de 3 a 7 opções de senha diferentes antes que a conexão seja encerrada.
Em formação:
- Chain: input
- Protocol: 6 (tcp)
- Dst. Port: 22
- Connection State: estabished
- Packet Size: 304
- TCP Flags: psh, ack
1 tentativa
Bloqueio após uma tentativa de senha errada:
/ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10m chain=input comment="F2B SSH: Login Failure -> BlackList" connection-state=established dst-port=22 packet-size=304 protocol=tcp
3 tentativas
Endereço IP de origem bloqueado após 3 tentativas incorretas de senha.
Descrição:
- Se o pacote corresponder às condições, o processamento do pacote é enviado para a cadeia Fail2Ban-Source-IP;
- Se o endereço IP de origem estiver na lista LoginFailure02, o endereço IP de origem é adicionado à BlackList, por 10 minutos;
- Se o endereço IP de origem estiver na lista LoginFailure01, o endereço IP de origem será adicionado à lista LoginFailure02 por 2 minutos;
- O endereço IP de origem é adicionado à lista LoginFailure01, por 1 minuto.
Regras:
/ip firewall filter add action=jump chain=input comment="F2B SSH: Jump to Fail2Ban-Source-IP chain" connection-state=established dst-port=22 jump-target=Fail2Ban-Source-IP packet-size=304 protocol=tcp
/ip firewall filter add action=add-src-to-address-list address-list=BlackList address-list-timeout=10m chain=Fail2Ban-Source-IP comment="3 Attempt --> BlackList" src-address-list=LoginFailure02
/ip firewall filter add action=add-src-to-address-list address-list=LoginFailure02 address-list-timeout=2m chain=Fail2Ban-Source-IP comment="2 Attempt --> LoginFailure02" src-address-list=LoginFailure01
/ip firewall filter add action=add-src-to-address-list address-list=LoginFailure01 address-list-timeout=1m chain=Fail2Ban-Source-IP comment="1 Attempt --> LoginFailure01"
BlackList
Bloqueamos todos os dados de endereços IP da lista BlackList. Colocamos a regra na cadeia Firewall Raw.
/ip firewall raw
add action=drop chain=prerouting comment="Drop all" src-address-list=BlackList
? Como configurar a proteção contra ataques Brute Force (MikroTIk Fail2Ban) em um dispositivo MikroTik usando o MikroTik Firewall foi discutido neste artigo. Espero que você possa configurar a proteção Fail To Ban para conexões Winbox, Web e SSH. No entanto, se você encontrar algum problema durante a configuração, sinta-se à vontade para escrevê-lo nos comentários. Eu tentarei ajudar.