Skip to main content

Configuração de Port Knocking no Mikrotik

Port Knocking é uma técnica bastante interessante para incrementar a segurança do seu firewall. Consiste basicamente em criar um conjunto de duas ou mais portas tcp/udp que, quando acionadas na ordem correta, vão permitir a conexão ao firewall a partir daquele endereço IP que fez o “toc toc” nas portas e na ordem correta.

Esta técnica abre um leque muito grande de opções, não só de acesso ao firewall propriamente dito, mas qualquer tipo de regra pode ser habilitada.

Em um equipamento Mikrotik podemos configurar este recurso com três comandos (no caso o knock knock vai ser apenas em duas portas).

Agora vamos configurar para nosso primeiro knock ser na porta 9524/tcp. O IP que tentar acessar esta porta, vai ser adicionado a lista “port:9524” com um timeout de 1 minuto.

/ip firewall filter add action=add-src-to-address-list address-list="port:9524" address-list-timeout=1m chain=input dst-port=9524 protocol=tcp comment="teste: primeiro knock"

O próximo passo é definir nosso segundo knock, e será na porta 9425/udp. Agora o IP que tentar acessar esta porta só vai ser adicionado a lista “knock-seguro” se também estiver na lista “port:9524”, ou seja, a ordem das portas deve ser sempre mantida, caso contrário o acesso não será concedido.

/ip firewall filter add action=add-src-to-address-list address-list="knock-seguro" address-list-timeout=1m chain=input dst-port=9425 protocol=udp src-address-list="port:9524" comment="teste: segundo knock"

Agora sim podemos concluir que um IP estiver na lsita “knock-seguro” é, muito provavelmente, confiável, então vamos criar outra regra que permita o acesso destes endereços.

A regra a seguir permite o tráfego SSH para o Mikrotik apenas para endereços que estiverem na lista “knock-seguro”.

/ip firewall filter add chain=input src-address-list="knock-seguro" dst-port=22 protocol=tcp action=accept

NOTA: tenha certeza que esta regra está acima de qualquer outra regra que bloqueie o tráfego de entrada.

E pronto, nosso knock-knock está configurado.

Para testar podemos utilizar o nmap, o telnet (apenas tcp), ou então instalar o knockd:

apt install knockd

Com o knockd o comando para abrirmos a porta SSH seria o seguinte:

$ knock <host> 9524:tcp 9425:udp

Agora você tem 1 minuto para estabelecer a conexão SSH, caso contrário vai precisar refazer o knock.

Até a próxima!

Outros detalhes no Wiki da Mikrotik.