Ota fwknop-palvelin käyttöön
fwknop Single Packet Authorization pitää SSH:n suljettuna, kunnes yksi salattu, todennettu UDP-paketti saapuu. Näillä ohjeilla otat sen käyttöön Debian- tai Ubuntu-palvelimella. Testaa ensin tietokoneelta ja lisää sitten samat avaimet Secret Knockiin.
1. Asenna ja luo avaimet
Asenna palvelin ja asiakas ja luo sitten avainpari. Säilytä tuloste: samat kaksi avainta lisätään access.conf-tiedostoon ja Secret Knockiin.
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. Salli SSH SPA-paketeille
access.conf määrittää, mitä kelvollinen paketti voi avata ja kuinka pitkäksi aikaa.
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. Määritä, missä fwknopd kuuntelee
fwknopd sieppaa paketteja verkkoliitännästä; se ei tarvitse avointa porttia. Määritä palvelimesi käyttämä liitäntä.
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. Sulje SSH oletusarvoisesti
Pidä SSH-istunto avoinna tätä tehdessäsi ja testaa toisesta yhteydestä ennen uloskirjautumista. fwknopd lisää oman ketjunsa INPUT-ketjun alkuun ja lisää siihen määräaikaisen ACCEPT-säännön jokaiselle kelvolliselle paketille.
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP 5. Testaa ja lisää sitten ovi
Käynnistä fwknop-server uudelleen, lähetä paketti toiselta laitteelta ja muodosta yhteys:
# 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] - 1Secret Knockissa: Uusi ovi › Aloita mallista › fwknop, anna isäntä ja liitä fwknop --key-gen -komennon tuloste ”Liitä avaimet komennosta fwknop --key-gen” -toiminnolla.
- 2Koputa; ovi näyttää tilan Ovi raollaan, kun portti 22 vastaa.
- 3Suorita palvelimella fwknopd -f -v, jos näin ei tapahdu — vianmääritysoppaassa luetellaan tavallisimmat syyt.
Kaikki esimerkit GitHubissa → Jokainen tämän sivun määritys valmiina kopioitavaksi: github.com/mobilcomm/secretknock-examples (public domain).
Kysymyksiä
Tarvitseeko fwknopd avoimen portin?
Ei. Se lukee paketit verkkoliitännästä, joten SPA-portti voi pysyä suljettuna palomuurissa; paketin tarvitsee vain saavuttaa palvelin.
Oppaita määritystäsi varten
- Port knocking selitetty →
- knockd iPhonessa, iPadissa ja Macissa →
- fwknop SPA iPhonessa, Macissa ja Apple Watchissa →
- MikroTik-porttikoputus →
- DrayTek Vigor -porttikoputus →
- Piilota SSH port knockingilla →
- Porttikoputus Apple Watchissa →
- Miksi porttikoputus ei avaa →
- knockd.conf-esimerkkejä →
- Port knocking, VPN vai fail2ban? →