Een fwknop-server instellen
fwknop Single Packet Authorization houdt SSH gesloten totdat één versleuteld, geauthenticeerd UDP-pakket aankomt. Met deze stappen stel je het in op een Debian- of Ubuntu-server; test het eerst vanaf een computer en voeg daarna dezelfde sleutels toe aan Secret Knock.
1. Installeren en sleutels genereren
Installeer de server en de client en genereer vervolgens een sleutelpaar. Bewaar de uitvoer: dezelfde twee sleutels komen in access.conf en in Secret Knock.
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. SSH toestaan voor SPA-pakketten
access.conf bepaalt wat een geldig pakket mag openen en hoelang.
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. Vertel fwknopd waar het moet luisteren
fwknopd onderschept pakketten op een interface; er is geen open poort nodig. Stel de interface in die je server gebruikt.
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. SSH standaard blokkeren
Houd een SSH-sessie open terwijl je dit doet en test vanaf een tweede verbinding voordat je uitlogt. fwknopd voegt zijn eigen keten bovenaan INPUT in en voegt daar voor elk geldig pakket tijdelijk een ACCEPT-regel toe.
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP 5. Testen en daarna de deur toevoegen
Start fwknop-server opnieuw, stuur een pakket vanaf een andere machine en maak verbinding:
# 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] - 1In Secret Knock: Nieuwe deur › Begin met een sjabloon › fwknop, voer de host in en plak de uitvoer van fwknop --key-gen met 'Sleutels plakken vanuit fwknop --key-gen'.
- 2Klop; de deur toont Deur op een kier wanneer poort 22 antwoordt.
- 3Voer fwknopd -f -v uit op de server als dat niet gebeurt — de probleemoplossingsgids vermeldt de gebruikelijke oorzaken.
Alle voorbeelden op GitHub → Elke configuratie op deze pagina, klaar om te kopiëren: github.com/mobilcomm/secretknock-examples (publiek domein).
Vragen
Heeft fwknopd een open poort nodig?
Nee. Het leest pakketten vanaf de netwerkinterface, dus de SPA-poort kan gesloten blijven in de firewall; het pakket hoeft alleen de server te bereiken.
Handleidingen voor je configuratie
- Port knocking uitgelegd →
- knockd op iPhone, iPad en Mac →
- fwknop SPA op iPhone, Mac en Apple Watch →
- MikroTik port knocking →
- DrayTek Vigor-port knocking →
- Verberg SSH achter port knocking →
- Port knocking op Apple Watch →
- Waarom een poortklop de deur niet opent →
- voorbeelden van knockd.conf →
- Port knocking, VPN of fail2ban? →