Configura un servidor fwknop
L’Autorització de paquet únic de fwknop manté SSH tancat fins que arriba un paquet UDP xifrat i autenticat. Aquests passos la configuren en un servidor Debian o Ubuntu; prova-la primer des d’un ordinador i, després, afegeix les mateixes claus a Secret Knock.
1. Instal·la i genera les claus
Instal·la el servidor i el client i, després, genera un parell de claus. Conserva la sortida: les mateixes dues claus s’introdueixen a access.conf i a Secret Knock.
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. Permet SSH per als paquets SPA
access.conf indica què pot obrir un paquet vàlid i durant quant de temps.
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. Indica a fwknopd on ha d’escoltar
fwknopd captura paquets en una interfície; no necessita cap port obert. Configura la interfície que fa servir el servidor.
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. Tanca SSH per defecte
Mantén una sessió SSH oberta mentre ho fas i prova-ho des d’una segona connexió abans de tancar la sessió. fwknopd insereix la seva pròpia cadena a la part superior d’INPUT i hi afegeix un ACCEPT temporitzat per a cada paquet vàlid.
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP 5. Prova-ho i, després, afegeix la porta
Reinicia fwknop-server, envia un paquet des d’una altra màquina i connecta-t’hi:
# 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] - 1A Secret Knock: Porta nova › Comença amb una plantilla › fwknop, introdueix l’amfitrió i enganxa la sortida de fwknop --key-gen amb Enganxa les claus.
- 2Fes una trucada; la porta mostra Porta entreoberta quan el port 22 respon.
- 3Executa fwknopd -f -v al servidor si no és així; la guia de resolució de problemes enumera les causes habituals.
Tots els exemples a GitHub → Totes les configuracions d’aquesta pàgina, a punt per copiar: github.com/mobilcomm/secretknock-examples (domini públic).
Preguntes
fwknopd necessita un port obert?
No. Llegeix els paquets des de la interfície de xarxa, de manera que el port SPA pot romandre tancat al tallafoc; el paquet només ha d’arribar al servidor.
Guies per a la vostra configuració
- Port knocking explicat →
- knockd a l’iPhone, l’iPad i el Mac →
- fwknop SPA a l’iPhone, el Mac i l’Apple Watch →
- Trucada a ports de MikroTik →
- Port knocking de DrayTek Vigor →
- Amaga SSH darrere del port knocking →
- Trucada de ports a l’Apple Watch →
- Per què una trucada de port no obre →
- Exemples de knockd.conf →
- Trucada de ports, VPN o fail2ban? →