Siapkan server fwknop
Otorisasi Paket Tunggal fwknop menjaga SSH tetap tertutup hingga satu paket UDP terenkripsi dan terautentikasi tiba. Langkah-langkah ini menyiapkannya pada server Debian atau Ubuntu; uji terlebih dahulu dari komputer, lalu tambahkan kunci yang sama ke Secret Knock.
1. Instal dan buat kunci
Instal server dan klien, lalu buat pasangan kunci. Simpan outputnya: dua kunci yang sama dimasukkan ke access.conf dan ke Secret Knock.
sudo apt install fwknop-server fwknop-client
fwknop --key-gen # prints KEY_BASE64 and HMAC_KEY_BASE64 2. Izinkan SSH untuk paket SPA
access.conf menentukan apa yang dapat dibuka oleh paket yang valid dan untuk berapa lama.
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. Tentukan tempat fwknopd mendengarkan
fwknopd menangkap paket pada sebuah antarmuka; fwknopd tidak memerlukan port terbuka. Atur antarmuka yang digunakan server Anda.
# /etc/fwknop/fwknopd.conf
PCAP_INTF eth0;
PCAP_FILTER udp port 62201;
MAX_SPA_PACKET_AGE 120; 4. Tutup SSH secara default
Biarkan sesi SSH tetap terbuka saat melakukan ini, dan uji dari koneksi kedua sebelum Anda keluar. fwknopd menyisipkan chain-nya sendiri di bagian atas INPUT dan menambahkan ACCEPT berjangka waktu di sana untuk setiap paket yang valid.
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP 5. Uji, lalu tambahkan pintu
Mulai ulang fwknop-server, kirim paket dari mesin lain, lalu 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] - 1Di Secret Knock: Pintu baru › Mulai dari templat › fwknop, masukkan host, lalu tempelkan output fwknop --key-gen dengan Tempel kunci.
- 2Ketuk; pintu menampilkan Pintu terbuka sedikit saat port 22 merespons.
- 3Jalankan fwknopd -f -v di server jika tidak — panduan pemecahan masalah mencantumkan penyebab yang umum.
Semua contoh di GitHub → Setiap konfigurasi di halaman ini, siap disalin: github.com/mobilcomm/secretknock-examples (domain publik).
Pertanyaan
Apakah fwknopd memerlukan port terbuka?
Tidak. fwknopd membaca paket dari antarmuka jaringan, sehingga port SPA dapat tetap tertutup di firewall; paket hanya perlu mencapai server.
Panduan untuk pengaturan Anda
- Penjelasan port knocking →
- knockd di iPhone, iPad, dan Mac →
- fwknop SPA di iPhone, Mac, dan Apple Watch →
- Port knocking MikroTik →
- Port knocking DrayTek Vigor →
- Sembunyikan SSH di balik port knocking →
- Port knocking di Apple Watch →
- Mengapa ketukan port tidak membuka →
- contoh knockd.conf →
- Ketukan port, VPN, atau fail2ban? →