Hoppa till innehållet
Secret Knock

Konfigurera en fwknop-server

fwknop Single Packet Authorization håller SSH stängt tills ett krypterat, autentiserat UDP-paket kommer fram. De här stegen konfigurerar det på en Debian- eller Ubuntu-server. Testa först från en dator och lägg sedan till samma nycklar i Secret Knock.

1. Installera och generera nycklar

Installera servern och klienten och generera sedan ett nyckelpar. Spara utdata: samma två nycklar används i access.conf och i Secret Knock.

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

2. Tillåt SSH för SPA-paket

access.conf anger vad ett giltigt paket får öppna och hur 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. Ange var fwknopd ska lyssna

fwknopd fångar paket på ett nätverksgränssnitt och behöver ingen öppen port. Ange gränssnittet som servern använder.

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

4. Stäng SSH som standard

Håll en SSH-session öppen medan du gör detta och testa från en andra anslutning innan du loggar ut. fwknopd lägger in sin egen kedja högst upp i INPUT och lägger till en tidsbegränsad ACCEPT där för varje giltigt paket.

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

5. Testa och lägg sedan till dörren

Starta om fwknop-server, skicka ett paket från en annan dator och anslut:

# 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]
Från en dator med fwknop-client
  1. 1I Secret Knock: Ny dörr › Börja med en mall › fwknop, ange värden och klistra in utdata från fwknop --key-gen med Klistra in nycklar.
  2. 2Knacka. Dörren visar Dörr på glänt när port 22 svarar.
  3. 3Kör fwknopd -f -v på servern om den inte gör det – felsökningsguiden listar de vanligaste orsakerna.

Alla exempel på GitHub → Alla konfigurationer på den här sidan, redo att kopiera: github.com/mobilcomm/secretknock-examples (public domain).

Frågor

Behöver fwknopd en öppen port?

Nej. Den läser paket från nätverksgränssnittet, så SPA-porten kan förbli stängd i brandväggen. Paketet behöver bara nå servern.

Guider för din konfiguration