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 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 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; 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 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] - 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.
- 2Bank; døren viser Dør på klem, når port 22 svarer.
- 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
- Port knocking forklaret →
- knockd på iPhone, iPad og Mac →
- fwknop SPA på iPhone, Mac og Apple Watch →
- MikroTik-port knocking →
- DrayTek Vigor-port knocking →
- Skjul SSH bag port knocking →
- Portbankning på Apple Watch →
- Hvorfor en portbankning ikke åbner →
- knockd.conf-eksempler →
- Port knocking, VPN eller fail2ban? →