Siirry sisältöön
Secret Knock

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
Debian / Ubuntu

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
/etc/fwknop/access.conf

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;
/etc/fwknop/fwknopd.conf

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
iptables

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]
Tietokoneelta, jossa on fwknop-client
  1. 1Secret Knockissa: Uusi ovi › Aloita mallista › fwknop, anna isäntä ja liitä fwknop --key-gen -komennon tuloste ”Liitä avaimet komennosta fwknop --key-gen” -toiminnolla.
  2. 2Koputa; ovi näyttää tilan Ovi raollaan, kun portti 22 vastaa.
  3. 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