Přejít na obsah
Secret Knock

Nastavení serveru fwknop

Autorizace jedním paketem fwknop ponechává SSH zavřené, dokud nedorazí jeden šifrovaný a ověřený UDP paket. Tyto kroky slouží k nastavení na serveru s Debianem nebo Ubuntu; nejprve je otestujte z počítače a potom stejné klíče přidejte do Secret Knock.

1. Instalace a generování klíčů

Nainstalujte server i klienta a potom vygenerujte pár klíčů. Výstup si ponechte: stejné dva klíče patří do access.conf i do Secret Knock.

sudo apt install fwknop-server fwknop-client
fwknop --key-gen          # prints KEY_BASE64 and HMAC_KEY_BASE64
Debian / Ubuntu

2. Povolení SSH pro pakety SPA

access.conf určuje, co může platný paket otevřít a na jak dlouho.

SOURCE              ANY
OPEN_PORTS          tcp/22
KEY_BASE64          <output of fwknop --key-gen>
HMAC_KEY_BASE64     <output of fwknop --key-gen>
FW_ACCESS_TIMEOUT   30
/etc/fwknop/access.conf

3. Určení rozhraní pro naslouchání fwknopd

fwknopd zachytává pakety na rozhraní; nepotřebuje otevřený port. Nastavte rozhraní, které váš server používá.

# /etc/fwknop/fwknopd.conf
PCAP_INTF               eth0;
PCAP_FILTER             udp port 62201;
MAX_SPA_PACKET_AGE      120;
/etc/fwknop/fwknopd.conf

4. Ve výchozím nastavení zavřete SSH

Během tohoto postupu nechte otevřené připojení SSH a před odhlášením otestujte vše z druhého připojení. fwknopd vloží vlastní řetězec na začátek INPUT a pro každý platný paket do něj přidá časově omezené ACCEPT.

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
iptables

5. Otestujte a potom přidejte dveře

Restartujte fwknop-server, odešlete paket z jiného počítače a připojte se:

# from another machine: request SSH for the address the server sees (-R)
fwknop -A tcp/22 -R -D server.example.com \
    --key-base64-rijndael "<KEY_BASE64>" --key-base64-hmac "<HMAC_KEY_BASE64>"
ssh [email protected]
Z počítače s fwknop-client
  1. 1V Secret Knock: Nové dveře › Začít ze šablony › fwknop, zadejte hostitele a pomocí tlačítka „Vložit klíče z fwknop --key-gen“ vložte výstup příkazu fwknop --key-gen.
  2. 2Zaklepejte; když port 22 odpovídá, dveře zobrazí Dveře pootevřené.
  3. 3Pokud se tak nestane, spusťte na serveru fwknopd -f -v — průvodce řešením potíží uvádí obvyklé příčiny.

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

Potřebuje fwknopd otevřený port?

Ne. Čte pakety ze síťového rozhraní, takže port SPA může v bráně firewall zůstat zavřený; paket se pouze musí dostat na server.

Průvodci pro vaše nastavení