Ves al contingut
Secret Knock

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

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

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

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
iptables

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]
Des d’un ordinador amb fwknop-client
  1. 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.
  2. 2Fes una trucada; la porta mostra Porta entreoberta quan el port 22 respon.
  3. 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ó