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" 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 Adicione a porta no app
- 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.
- 2Informe suas portas ou os tamanhos dos dados e as contagens dos seus pings.
- 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
- Port knocking explicado →
- knockd no iPhone, iPad e Mac →
- SPA do fwknop no iPhone, Mac e Apple Watch →
- Port knocking do DrayTek Vigor →
- Oculte o SSH com port knocking →
- Port knocking no Apple Watch →
- Por que uma batida de porta não abre →
- exemplos de knockd.conf →
- configuração do servidor fwknop →
- Port knocking, VPN ou fail2ban? →