Uma maneira fácil de proteger seu Mikrotik de ataques

Quero compartilhar com a comunidade uma maneira simples e prática de como usar o Mikrotik para proteger minha rede e os serviços que “ficam de olho” por causa de ataques externos. Ou seja, com apenas três regras, organize um honeypot no Mikrotik.

Então, vamos imaginar que temos um pequeno escritório, um IP externo atrás do qual é um servidor RDP, para que os funcionários trabalhem remotamente. A primeira regra é, obviamente, alterar a porta 3389 na interface externa para outra. Mas isso não dura muito tempo, depois de alguns dias, o log de auditoria do servidor de terminal começará a mostrar várias autorizações com falha por segundo de clientes desconhecidos.

Outra situação, você tem um asterisco escondido atrás do Mikrotik, é claro, não na porta 5060 udp, e depois de alguns dias a suposição de senha também começa ... sim sim, eu sei, fail2ban é tudo, mas ainda tenho que bufá-lo ... por exemplo, levantei-o recentemente para o ubuntu Em 18 de abril, fiquei surpreso ao descobrir que o fail2ban não contém as configurações reais do asterisco da mesma caixa da mesma distribuição do ubuntu ... mas o Google não consegue pesquisar rapidamente configurações rápidas de "receitas" prontas, o número de lançamentos cresce ao longo dos anos e artigos com " receitas ”para as versões antigas não funcionam mais, mas quase não existem novas ... Mas algo que discordo ...

Então, o que é honeypot em poucas palavras - é uma isca, no nosso caso, alguma porta popular em um IP externo, qualquer solicitação para essa porta de um cliente externo envia o endereço src para a lista negra. Todos.

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" \
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" \
    connection-state=new dst-port=22,3389,8291 in-interface=\
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" \
    address-list-timeout=30d0h0m chain=input comment=\
    "block honeypot asterisk" connection-state=new dst-port=5060 \
    in-interface=ether4-wan protocol=udp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
    "Honeypot Hacker"

A primeira regra nas populares portas TCP 22, 3389, 8291 da interface externa ether4-wan envia o IP do convidado para a lista Honeypot Hacker (as portas para ssh, rdp e winbox são desabilitadas antecipadamente ou alteradas para outras). O segundo faz o mesmo no popular UDP 5060.

A terceira regra no estágio de pré-roteamento descarta pacotes dos "convidados" cujo endereço srs entrou no "Honeypot Hacker".

Depois de duas semanas do trabalho de Mikrotik em minha casa, a lista Honeypot Hacker incluiu cerca de um mil e quinhentos endereços IP de fãs compatíveis com o úbere dos meus recursos de rede (telefonia residencial, correio, nextcloud, rdp).

No trabalho, nem tudo acabou sendo tão simples, eles continuam a quebrar o servidor rdp com senhas de força bruta.

Aparentemente, o número da porta foi determinado pelo scanner muito antes da ativação do honeypot e, durante a quarentena, não é tão fácil reconfigurar mais de 100 usuários, dos quais 20% têm mais de 65 anos. No caso em que a porta não pode ser alterada, há uma pequena receita de trabalho. Conheci similar na Internet, mas há um ajuste final e preciso:

Regras para configurar o Knocking de portas
 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist \
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist \
    connection-state=new dst-port=3389 protocol=tcp src-address-list=\
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=\
    3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=\
    3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
rdp_blacklist

Em 4 minutos, o cliente remoto pode fazer apenas 12 novas “solicitações” ao servidor RDP. Uma tentativa de login é de 1 a 4 "solicitações". No 12º "pedido" - uma fechadura por 15 minutos. No meu caso, os invasores não pararam de invadir o servidor, eles se adaptaram aos cronômetros e agora o fazem muito lentamente, uma velocidade de seleção que reduz a eficiência do ataque a zero. Os funcionários da empresa praticamente não experimentam qualquer inconveniente no trabalho realizado.

Outro pequeno truque
5, , .

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist \
    address-list-timeout=1w0d0h0m chain=forward comment=\
    "night_rdp_blacklist" connection-state=new disabled=\
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

8 IP . !

Bem, além do exposto, adicionarei um link para o artigo da Wiki, com a configuração de trabalho para proteger o Mikrotik de scanners de rede. wiki.mikrotik.com/wiki/Drop_port_scanners

Nos meus dispositivos, essa configuração funciona em conjunto com as regras de honeypot descritas acima, complementando-as bem.

UPD: Conforme sugerido nos comentários, a regra de queda de pacotes foi movida para RAW para reduzir a carga no roteador.

All Articles