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 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 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; 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 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] - 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.
- 2Knacka. Dörren visar Dörr på glänt när port 22 svarar.
- 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
- Port knocking förklarat →
- knockd på iPhone, iPad och Mac →
- fwknop SPA på iPhone, Mac och Apple Watch →
- MikroTik-portknackning →
- DrayTek Vigor-portknackning →
- Dölj SSH bakom portknackning →
- Port knocking på Apple Watch →
- Varför en portknackning inte öppnar →
- Exempel på knockd.conf →
- Port knocking, VPN eller fail2ban? →