Vai al contenuto
Secret Knock

Port knocking MikroTik da iPhone, iPad e Mac

RouterOS non dispone di un demone di knocking, ma il suo firewall può gestire un knock tramite address list: ogni pacchetto corrispondente inserisce l'origine in un elenco e l'ultimo elenco apre Winbox o SSH. Secret Knock invia entrambi i tipi di knock MikroTik: porte e dimensioni dei ping.

Bussa con le porte

Tre tentativi di connessione in sequenza spostano l'indirizzo da un elenco all'altro; solo un indirizzo presente nell'elenco finale raggiunge Winbox (8291). Inserisci queste regole sopra qualsiasi regola che blocchi il traffico in ingresso.

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

Bussa con le dimensioni dei ping

RouterOS può anche confrontare la dimensione delle richieste echo ICMP. packet-size corrisponde all'intero pacchetto IPv4: 20 byte di intestazione IP, 8 byte di intestazione ICMP e i dati del ping, quindi 100 byte di dati arrivano come 128. Nell'editor dei ping di Secret Knock inserisci la dimensione dei dati; vengono visualizzate le dimensioni risultanti dei pacchetti ICMP, IPv4 e IPv6 e viene mostrato un avviso oltre 1280 byte, quando i pacchetti potrebbero essere frammentati.

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

Aggiungi la porta nell'app

  1. 1Nuova porta › Inizia da un modello › MikroTik — sequenza di porte o MikroTik — dimensioni ping. Entrambi i modelli impostano Winbox (8291) come porta da verificare.
  2. 2Inserisci le porte oppure le dimensioni dei dati e il numero dei ping.
  3. 3Bussa, attendi Porta socchiusa, quindi apri Winbox.

Tutti gli esempi su GitHub → Ogni configurazione di questa pagina, pronta da copiare: github.com/mobilcomm/secretknock-examples (di pubblico dominio).

Domande

Perché il mio knock MikroTik non apre?

Controlla l'ordine delle regole (le regole di knocking devono precedere la regola di blocco), i timeout delle address list e che il router rilevi l'indirizzo da cui bussi: Secret Knock lo mostra nella schermata principale.

Guide per la tua configurazione