Ga naar inhoud
Secret Knock

MikroTik port knocking vanaf iPhone, iPad en Mac

RouterOS heeft geen knock-daemon, maar de firewall kan een klop via adreslijsten in fasen verwerken: elk overeenkomend pakket plaatst het bronadres op een lijst en de laatste lijst geeft toegang tot Winbox of SSH. Secret Knock verstuurt beide soorten MikroTik-kloppen — poorten en pinggrootten.

Kloppen met poorten

Drie verbindingspogingen in de juiste volgorde verplaatsen het adres van lijst naar lijst; alleen een adres op de laatste lijst bereikt Winbox (8291). Plaats deze regels boven elke regel die inkomend verkeer blokkeert.

/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"
RouterOS-terminal

Kloppen met pinggrootten

RouterOS kan ook filteren op de grootte van ICMP-echoverzoeken. packet-size is het volledige IPv4-pakket: 20 bytes IP-header, 8 bytes ICMP-header en de pinggegevens, dus 100 bytes gegevens komen aan als 128. In de pingeditor van Secret Knock voer je de gegevensgrootte in; deze toont de resulterende ICMP-, IPv4- en IPv6-pakketgrootten en waarschuwt boven 1280 bytes, waar pakketten mogelijk gefragmenteerd worden.

/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
RouterOS-terminal

Voeg de deur toe in de app

  1. 1Nieuwe deur › Begin met een sjabloon › MikroTik — poortvolgorde of MikroTik — pinggroottes. Beide stellen Winbox (8291) in als de te controleren poort.
  2. 2Voer je poorten in, of de gegevensgrootten en aantallen van je pings.
  3. 3Klop, wacht op Deur op een kier en open vervolgens Winbox.

Alle voorbeelden op GitHub → Elke configuratie op deze pagina, klaar om te kopiëren: github.com/mobilcomm/secretknock-examples (publiek domein).

Vragen

Waarom werkt mijn MikroTik-klop niet?

Controleer de volgorde van de regels (de klopregels moeten vóór de blokkeerregel staan), de time-outs van de adreslijsten en of de router het adres ziet waarvan je klopt — Secret Knock toont dit op het beginscherm.

Handleidingen voor je configuratie