Přejít na obsah
Secret Knock

Klient knockd pro iPhone, iPad a Mac

knockd otevře port, když jedna adresa včas zasáhne tajnou sekvenci portů. Secret Knock odešle tuto sekvenci z iPhonu, iPadu, Macu nebo Apple Watch, zkontroluje, zda port odpovídá, a otevře vaši aplikaci SSH.

Co Secret Knock odesílá

Každý krok dveří je zaklepání TCP nebo UDP na jeden port s volitelným zpožděním před ním a u UDP také s volitelnou datovou částí jako text nebo hex. Zaklepání TCP je jeden pokus o připojení: aplikace odešle jeden SYN a pokus ihned ukončí, takže jej operační systém znovu neodešle — knockd 0.8 resetuje sekvenci při opakovaném SYN.

Fungují i jednorázové sekvence (one_time_sequences v knockd): vyberte Typ zaklepání › Jednorázové sekvence a zadejte seznam; po zaklepání, které otevřelo dveře, Secret Knock přejde na další sekvenci. Import knockd.conf soubor se sekvencemi nenačte — import na to upozorňuje — proto tento seznam zadejte ručně.

Nastavení serveru

Minimální oddíl knockd, který otevře SSH pro zaklepávající adresu na 10 sekund. Zvolte si vlastní porty — nikdy znovu nepoužívejte zveřejněné příklady.

[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

Přidání dveří v aplikaci

  1. 1Nové dveře › Začít ze šablony › ukázka knockd vyplní tříportovou sekvenci TCP a SSH jako kontrolovaný port; porty nahraďte svými.
  2. 2Případně + › Importovat ze souboru a vyberte knockd.conf: z každého oddílu se sekvencí se vytvoří dveře.
  3. 3Pokud knockd na serveru naslouchá jen jedné rodině adres, připněte pro dveře IPv4 nebo IPv6.
  4. 4Podržte mosazné klepadlo. Jakmile port 22 odpoví, dveře zobrazí Dveře pootevřené a Otevřít SSH vás předá vaší aplikaci SSH.

Všechny příklady na GitHubu → Každá konfigurace na této stránce připravená ke zkopírování: github.com/mobilcomm/secretknock-examples (public domain).

Otázky

Funguje to s tcpflags = syn v knockd?

Ano. Každé zaklepání TCP je jeden SYN, což přesně odpovídá tomu, co tcpflags = syn počítá.

Mohu stejné zaklepání zobrazit jako příkaz?

Ano. Editor dveří zobrazuje zaklepání jako příkaz knock pro terminál, připravený k vložení.

Průvodci pro vaše nastavení