Nastavenie servera fwknop
Autorizácia jedným paketom fwknop ponechá SSH zatvorené, kým nepríde jeden šifrovaný a overený paket UDP. Tieto kroky slúžia na nastavenie na serveri Debian alebo Ubuntu; najprv ich otestujte z počítača a potom pridajte rovnaké kľúče do Secret Knock.
1. Nainštalujte a vygenerujte kľúče
Nainštalujte server a klienta a potom vygenerujte pár kľúčov. Výstup si ponechajte: rovnaké dva kľúče vložte do access.conf aj do Secret Knock.
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. Povoľte SSH pre pakety SPA
access.conf určuje, čo môže platný paket otvoriť a na ako dlho.
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čite, kde má fwknopd počúvať
fwknopd zachytáva pakety na rozhraní; nepotrebuje otvorený port. Nastavte rozhranie, ktoré používa váš server.
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. Predvolene zatvorte SSH
Počas tohto postupu ponechajte otvorenú reláciu SSH a pred odhlásením otestujte pripojenie z druhej relácie. fwknopd vloží vlastný reťazec na začiatok INPUT a pre každý platný paket tam pridá časovo obmedzené 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 pridajte dvere
Reštartujte fwknop-server, odošlite paket z iného zariadenia a pripojte sa:
# 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é dvere › Začať zo šablóny › fwknop, zadajte hostiteľa a pomocou možnosti Vložiť kľúče vložte výstup príkazu fwknop --key-gen.
- 2Zaklopte; keď odpovie port 22, dvere zobrazia Pootvorené dvere.
- 3Ak sa tak nestane, na serveri spustite fwknopd -f -v — sprievodca riešením problémov uvádza bežné príčiny.
Všetky príklady na GitHube → Každá konfigurácia z tejto stránky pripravená na skopírovanie: github.com/mobilcomm/secretknock-examples (voľné dielo).
Otázky
Potrebuje fwknopd otvorený port?
Nie. Číta pakety zo sieťového rozhrania, takže port SPA môže zostať vo firewalle zatvorený; paket sa musí iba dostať na server.
Návody pre vašu konfiguráciu
- Vysvetlenie techniky port knocking →
- knockd na iPhone, iPade a Macu →
- fwknop SPA na iPhone, Macu a Apple Watch →
- Port knocking pre MikroTik →
- Zaklopanie na porty DrayTek Vigor →
- Skryte SSH pomocou port knockingu →
- Port knocking na Apple Watch →
- Prečo zaklopanie neotvorí port →
- Príklady knockd.conf →
- Port knocking, VPN alebo fail2ban? →