Gå til innhold
Secret Knock

Konfigurer en fwknop-server

fwknop Single Packet Authorization holder SSH stengt til én kryptert, autentisert UDP-pakke ankommer. Disse trinnene konfigurerer det på en Debian- eller Ubuntu-server. Test det først fra en datamaskin, og legg deretter til de samme nøklene i Secret Knock.

1. Installer og generer nøkler

Installer serveren og klienten, og generer deretter et nøkkelpar. Ta vare på utdataene: De samme to nøklene brukes 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. Tillat SSH for SPA-pakker

access.conf angir hva en gyldig pakke kan åpne, og hvor lenge.

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. Fortell fwknopd hvor den skal lytte

fwknopd fanger opp pakker på et grensesnitt; den trenger ikke en åpen port. Angi grensesnittet serveren bruker.

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

4. Steng SSH som standard

Hold en SSH-økt åpen mens du gjør dette, og test fra en annen tilkobling før du logger ut. fwknopd setter inn sin egen kjede øverst i INPUT og legger til en tidsbegrenset ACCEPT der for hver gyldige 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 legg deretter til døren

Start fwknop-server på nytt, send en pakke fra en annen maskin og koble til:

# 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 datamaskin med fwknop-client
  1. 1I Secret Knock: Ny dør › Start med en mal › fwknop, skriv inn verten og lim inn utdataene fra fwknop --key-gen med Lim inn nøkler.
  2. 2Bank; døren viser Dør på gløtt når port 22 svarer.
  3. 3Kjør fwknopd -f -v på serveren hvis den ikke gjør det – feilsøkingsveiledningen viser de vanlige årsakene.

Alle eksempler på GitHub → Alle konfigurasjonene på denne siden, klare til å kopiere: github.com/mobilcomm/secretknock-examples (public domain).

Spørsmål

Trenger fwknopd en åpen port?

Nei. Den leser pakker fra nettverksgrensesnittet, så SPA-porten kan forbli stengt i brannmuren. Pakken må bare nå serveren.

Veiledninger for oppsettet ditt