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 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 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; 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 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] - 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.
- 2Zaklepejte; když port 22 odpovídá, dveře zobrazí Dveře pootevřené.
- 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í
- Vysvětlení port knockingu →
- knockd na iPhonu, iPadu a Macu →
- fwknop SPA na iPhonu, Macu a Apple Watch →
- Klepání na porty MikroTik →
- Port knocking pro DrayTek Vigor →
- Skryjte SSH za klepáním na porty →
- Port knocking na Apple Watch →
- Proč zaklepání na port neotevře dveře →
- Příklady knockd.conf →
- Port knocking, VPN nebo fail2ban? →