Seperti dikatakan di atas, mengubah nomor versi adalah
- Sulit dilakukan
- Keamanan melalui ketidakjelasan
- Tidak fleksibel
Apa yang saya sarankan adalah mengimplementasikan Port Knocking. Ini adalah teknik yang cukup sederhana untuk menyembunyikan apa pun yang berjalan di server Anda.
Berikut ini adalah implementasi yang baik:
http://www.zeroflux.org/projects/knock
Ini adalah bagaimana saya menerapkannya di server saya (nomor lain) untuk membuka SSH hanya untuk orang-orang yang tahu 'ketukan rahasia':
[openSSH]
sequence = 300,4000,32
seq_timeout = 5
command = /opencloseport.sh %IP% 2305
tcpflags = syn
Ini akan memberikan jendela 5 detik di mana 3 paket SYN perlu diterima dalam urutan yang benar. Pilih port yang jauh dari satu sama lain dan tidak berurutan. Dengan begitu, portscanner tidak dapat membuka port secara tidak sengaja. Port-port ini tidak perlu dibuka oleh iptables.
Script yang saya panggil adalah yang ini. Ini membuka port tertentu selama 5 detik untuk IP yang mengirim paket-SYN.
#!/bin/bash
/sbin/iptables -I INPUT -s $1 -p tcp --dport $2 -j ACCEPT
sleep 5
/sbin/iptables -D INPUT -s $1 -p tcp --dport $2 -j ACCEPT
Sungguh susah sekali mengirim paket-paket SYN jadi saya menggunakan skrip untuk terhubung ke SSH server saya:
#!/bin/bash
knock $1 $2
knock $1 $3
knock $1 $4
ssh $5@$1 -p $6
(Cukup jelas apa yang terjadi di sini ...)
Setelah koneksi terjalin, port dapat ditutup. Petunjuk: Gunakan otentikasi-Kunci. Kalau tidak, Anda harus sangat cepat mengetikkan kata sandi.