Gå til indhold
Secret Knock

Opsæt en fwknop-server

fwknop Autorisation med én pakke holder SSH lukket, indtil én krypteret, godkendt UDP-pakke ankommer. Disse trin sætter det op på en Debian- eller Ubuntu-server; test det først fra en computer, og tilføj derefter de samme nøgler i Secret Knock.

1. Installer og generer nøgler

Installer serveren og klienten, og generer derefter et nøglepar. Gem outputtet: De samme to nøgler skal ind i access.conf og i Secret Knock.

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

2. Tillad SSH for SPA-pakker

access.conf angiver, hvad en gyldig pakke må åbne, og hvor længe.

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. Fortæl fwknopd, hvor den skal lytte

fwknopd opfanger pakker på en netværksgrænseflade; den behøver ikke en åben port. Angiv den grænseflade, som din server bruger.

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

4. Luk SSH som standard

Hold en SSH-session åben, mens du gør dette, og test fra en anden forbindelse, før du logger ud. fwknopd indsætter sin egen kæde øverst i INPUT og tilføjer der en tidsbegrænset ACCEPT for hver gyldig pakke.

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

5. Test, og tilføj derefter døren

Genstart fwknop-server, send en pakke fra en anden computer, og opret forbindelse:

# 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]
Fra en computer med fwknop-client
  1. 1I Secret Knock: Ny dør › Start med en skabelon › fwknop, indtast værten, og indsæt outputtet fra fwknop --key-gen med Indsæt nøgler.
  2. 2Bank; døren viser Dør på klem, når port 22 svarer.
  3. 3Kør fwknopd -f -v på serveren, hvis den ikke gør det — fejlfindingsvejledningen viser de sædvanlige årsager.

Alle eksempler på GitHub → Alle konfigurationer på denne side, klar til kopiering: github.com/mobilcomm/secretknock-examples (public domain).

Spørgsmål

Har fwknopd brug for en åben port?

Nej. Den læser pakker fra netværksgrænsefladen, så SPA-porten kan forblive lukket i firewallen; pakken skal blot nå frem til serveren.

Vejledninger til din opsætning