Prejsť na obsah
Secret Knock

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
Debian / Ubuntu

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
/etc/fwknop/access.conf

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;
/etc/fwknop/fwknopd.conf

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
iptables

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]
Z počítača s fwknop-client
  1. 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.
  2. 2Zaklopte; keď odpovie port 22, dvere zobrazia Pootvorené dvere.
  3. 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