Sediakan pelayan fwknop
Kebenaran Paket Tunggal fwknop memastikan SSH kekal tertutup sehingga satu paket UDP yang disulitkan dan disahkan tiba. Langkah ini menyediakannya pada pelayan Debian atau Ubuntu; uji dahulu daripada komputer, kemudian tambahkan kekunci yang sama ke Secret Knock.
1. Pasang dan jana kekunci
Pasang pelayan dan klien, kemudian jana sepasang kekunci. Simpan output: dua kekunci yang sama dimasukkan ke dalam access.conf dan ke dalam Secret Knock.
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. Benarkan SSH untuk paket SPA
access.conf menetapkan perkara yang boleh dibuka oleh paket sah dan tempoh ia dibuka.
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. Beritahu fwknopd tempat untuk mendengar
fwknopd menangkap paket pada antara muka; ia tidak memerlukan port terbuka. Tetapkan antara muka yang digunakan oleh pelayan anda.
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. Tutup SSH secara lalai
Kekalkan sesi SSH terbuka semasa anda melakukan ini, dan uji daripada sambungan kedua sebelum anda log keluar. fwknopd memasukkan rantaian sendiri di bahagian atas INPUT dan menambahkan ACCEPT berhad masa di situ bagi setiap paket sah.
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP 5. Uji, kemudian tambahkan Pintu
Mulakan semula fwknop-server, hantar paket daripada mesin lain dan sambungkan:
# 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] - 1Dalam Secret Knock: Pintu baharu › Mulakan daripada templat › fwknop, masukkan hos, dan tampalkan output fwknop --key-gen menggunakan Tampal kekunci.
- 2Ketuk; Pintu menunjukkan Pintu terbuka sedikit apabila port 22 menjawab.
- 3Jalankan fwknopd -f -v pada pelayan jika tidak — panduan penyelesaian masalah menyenaraikan punca lazim.
Semua contoh di GitHub → Setiap konfigurasi pada halaman ini, sedia untuk disalin: github.com/mobilcomm/secretknock-examples (domain awam).
Soalan
Adakah fwknopd memerlukan port terbuka?
Tidak. Ia membaca paket daripada antara muka rangkaian, jadi port SPA boleh kekal tertutup dalam firewall; paket hanya perlu sampai ke pelayan.
Panduan untuk persediaan anda
- Penjelasan port knocking →
- knockd pada iPhone, iPad dan Mac →
- fwknop SPA pada iPhone, Mac dan Apple Watch →
- Ketukan port MikroTik →
- Port knocking DrayTek Vigor →
- Sembunyikan SSH di sebalik ketukan port →
- Port knocking pada Apple Watch →
- Mengapa ketukan port tidak membuka →
- Contoh knockd.conf →
- Port knocking, VPN atau fail2ban? →