Vai al contenuto
Secret Knock

Un client knockd per iPhone, iPad e Mac

knockd apre una porta quando un indirizzo raggiunge in tempo una sequenza segreta di porte. Secret Knock invia quella sequenza da iPhone, iPad, Mac o Apple Watch, verifica che la porta risponda e apre l'app SSH.

Cosa invia Secret Knock

Ogni passaggio di una porta è una bussata TCP o UDP a una porta, con un ritardo facoltativo prima della bussata e, per UDP, un payload facoltativo come testo o esadecimale. Una bussata TCP è un singolo tentativo di connessione: l'app invia un unico SYN e chiude subito il tentativo, così il sistema operativo non lo ritrasmette — knockd 0.8 reimposta una sequenza in caso di SYN ripetuto.

Anche le sequenze monouso (one_time_sequences di knockd) funzionano: scegli Tipo di bussata › Sequenze monouso e inserisci l'elenco; dopo una bussata che ha aperto la porta, Secret Knock passa alla sequenza successiva. L'importazione di un knockd.conf non legge il file delle sequenze — l'importazione lo indica — quindi inserisci l'elenco manualmente.

Configura il server

Una sezione knockd minima che apre SSH per 10 secondi all'indirizzo che effettua la bussata. Scegli porte personali — non riutilizzare mai esempi pubblicati.

[options]
    UseSyslog

[openSSH]
    sequence      = 7311:tcp,8822:tcp,9133:udp
    seq_timeout   = 10
    tcpflags      = syn
    start_command = /usr/sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    cmd_timeout   = 10
    stop_command  = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
/etc/knockd.conf

Aggiungi la porta nell'app

  1. 1Nuova porta › Inizia da un modello › esempio knockd inserisce una sequenza TCP di tre porte e SSH come porta da controllare; sostituisci le porte con le tue.
  2. 2In alternativa, + › Importa da file e scegli knockd.conf: ogni sezione con una sequenza diventa una porta.
  3. 3Fissa IPv4 o IPv6 per la porta se il knockd del server è in ascolto su una sola famiglia.
  4. 4Tieni premuto il battente in ottone. La porta mostra Porta socchiusa quando la porta 22 risponde e Apri SSH passa all'app SSH.

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

Domande

Funziona con tcpflags = syn di knockd?

Sì. Ogni bussata TCP è un singolo SYN, esattamente ciò che conta tcpflags = syn.

Posso vedere la stessa bussata come comando?

Sì. L'editor della porta mostra la bussata come comando knock per il terminale, pronto da incollare.

Guide per la tua configurazione