Zum Inhalt springen
Secret Knock

MikroTik-Port-Knocking von iPhone, iPad und Mac

RouterOS hat keinen Knock-Daemon, aber seine Firewall kann eine Anklopfsequenz über Adresslisten verarbeiten: Jedes passende Paket setzt die Quelladresse auf eine Liste, und die letzte Liste öffnet Winbox oder SSH. Secret Knock sendet beide Arten von MikroTik-Anklopfsequenzen — Ports und Ping-Größen.

Mit Ports anklopfen

Drei Verbindungsversuche in der richtigen Reihenfolge verschieben die Adresse von Liste zu Liste; nur eine Adresse auf der letzten Liste erreicht Winbox (8291). Platziere diese Regeln vor jeder Regel, die eingehenden Datenverkehr verwirft.

/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

Mit Ping-Größen anklopfen

RouterOS kann auch die Größe von ICMP-Echoanfragen abgleichen. packet-size ist das gesamte IPv4-Paket: 20 Byte IP-Header, 8 Byte ICMP-Header und die Ping-Daten; 100 Byte Daten kommen also als 128 Byte an. Im Ping-Editor von Secret Knock gibst du die Datengröße ein; die App zeigt die daraus resultierenden ICMP-, IPv4- und IPv6-Paketgrößen an und warnt bei mehr als 1280 Byte, da Pakete dann fragmentiert werden können.

/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

Die Tür in der App hinzufügen

  1. 1Neue Tür › Mit einer Vorlage starten › MikroTik — Portfolge oder MikroTik — Ping-Größen. Beide legen Winbox (8291) als zu prüfenden Port fest.
  2. 2Gib deine Ports oder die Datengrößen und Anzahlen deiner Pings ein.
  3. 3Klopfe an, warte auf Tür angelehnt und öffne dann Winbox.

Alle Beispiele auf GitHub → Jede Konfiguration auf dieser Seite, kopierbereit: github.com/mobilcomm/secretknock-examples (gemeinfrei).

Fragen

Warum öffnet sich meine MikroTik-Tür nach dem Anklopfen nicht?

Prüfe die Reihenfolge der Regeln (die Anklopfregeln müssen vor der Verwerfregel stehen), die Timeouts der Adresslisten und ob der Router die Adresse sieht, von der du anklopfst — Secret Knock zeigt sie auf dem Startbildschirm an.

Anleitungen für dein Setup