Gå til indhold
Secret Knock

MikroTik-port knocking fra iPhone, iPad og Mac

RouterOS har ingen knock-daemon, men firewallen kan opbygge en bankesekvens gennem adresselister: Hver matchende pakke placerer kilden på en liste, og den sidste liste åbner Winbox eller SSH. Secret Knock sender begge typer MikroTik-bank — porte og pingstørrelser.

Bank med porte

Tre forbindelsesforsøg i rækkefølge flytter adressen fra liste til liste. Kun en adresse på den sidste liste kan nå Winbox (8291). Placér disse regler over enhver regel, der afviser indgående trafik.

/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

Bank med pingstørrelser

RouterOS kan også matche størrelsen på ICMP-echoanmodninger. packet-size er hele IPv4-pakken: 20 byte IP-header, 8 byte ICMP-header og pingdataene, så 100 byte data ankommer som 128. I Secret Knocks pingeditor indtaster du datastørrelsen. Den viser de resulterende ICMP-, IPv4- og IPv6-pakkestørrelser og advarer over 1280 byte, hvor pakker kan blive fragmenteret.

/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

Tilføj døren i appen

  1. 1Ny dør › Start med en skabelon › MikroTik — portsekvens eller MikroTik — pingstørrelser. Begge angiver Winbox (8291) som den port, der skal kontrolleres.
  2. 2Indtast dine porte eller datastørrelserne og antallene for dine ping.
  3. 3Bank, vent på Dør på klem, og åbn derefter Winbox.

Alle eksempler på GitHub → Alle konfigurationer på denne side, klar til kopiering: github.com/mobilcomm/secretknock-examples (public domain).

Spørgsmål

Hvorfor åbner min MikroTik-bank ikke?

Kontrollér rækkefølgen af reglerne (bankereglerne skal komme før afvisningsreglen), timeoutene for address-list, og at routeren ser den adresse, du banker fra — Secret Knock viser den på hjemmeskærmen.

Vejledninger til din opsætning