Pular para o conteúdo
Secret Knock

Port knocking no MikroTik usando iPhone, iPad e Mac

O RouterOS não tem um daemon de knock, mas seu firewall pode processar uma batida por meio de listas de endereços: cada pacote correspondente coloca a origem em uma lista, e a última lista abre o Winbox ou SSH. O Secret Knock envia os dois tipos de batida do MikroTik — portas e tamanhos de ping.

Bater usando portas

Três tentativas de conexão, na ordem correta, movem o endereço de lista em lista; somente um endereço na lista final acessa o Winbox (8291). Coloque estas regras acima de qualquer regra que descarte tráfego de entrada.

/ip firewall filter
add chain=input protocol=tcp dst-port=4311 action=add-src-to-address-list \
    address-list=knock-1 address-list-timeout=10s comment="knock 1"
add chain=input protocol=tcp dst-port=5822 src-address-list=knock-1 \
    action=add-src-to-address-list address-list=knock-2 address-list-timeout=10s comment="knock 2"
add chain=input protocol=udp dst-port=6133 src-address-list=knock-2 \
    action=add-src-to-address-list address-list=knocked address-list-timeout=1h comment="knock 3"
add chain=input protocol=tcp dst-port=8291 src-address-list=knocked action=accept comment="Winbox after the knock"
add chain=input protocol=tcp dst-port=8291 action=drop comment="Winbox for everyone else"
Terminal do RouterOS

Bater usando tamanhos de ping

O RouterOS também pode corresponder ao tamanho de solicitações de eco ICMP. packet-size corresponde ao pacote IPv4 inteiro: 20 bytes de cabeçalho IP, 8 bytes de cabeçalho ICMP e os dados do ping; portanto, 100 bytes de dados chegam como 128. No editor de ping do Secret Knock, você informa o tamanho dos dados; ele mostra os tamanhos de pacote ICMP, IPv4 e IPv6 resultantes e alerta acima de 1280 bytes, quando os pacotes podem ser fragmentados.

/ip firewall filter
add chain=input protocol=icmp packet-size=128 action=add-src-to-address-list \
    address-list=ping-1 address-list-timeout=10s comment="ping 100 bytes of data"
add chain=input protocol=icmp packet-size=308 src-address-list=ping-1 \
    action=add-src-to-address-list address-list=knocked address-list-timeout=1h comment="ping 280 bytes of data"
add chain=input protocol=tcp dst-port=8291 src-address-list=knocked action=accept
add chain=input protocol=tcp dst-port=8291 action=drop
Terminal do RouterOS

Adicione a porta no app

  1. 1Nova porta › Começar com um modelo › Sequência de portas MikroTik ou tamanhos de ping MikroTik. Ambos definem o Winbox (8291) como a porta a verificar.
  2. 2Informe suas portas ou os tamanhos dos dados e as contagens dos seus pings.
  3. 3Bater, aguarde por Porta entreaberta e abra o Winbox.

Todos os exemplos no GitHub → Todas as configurações desta página, prontas para copiar: github.com/mobilcomm/secretknock-examples (domínio público).

Perguntas

Por que minha batida no MikroTik não abre?

Verifique a ordem das regras (as regras de batida devem vir antes da regra de descarte), os tempos limite de address-list e se o roteador vê o endereço de onde você bate — o Secret Knock o mostra na tela inicial.

Guias para sua configuração