Jawaban:
Alasan yang paling mungkin adalah untuk membuatnya lebih sulit bagi orang-orang yang secara acak mencoba memaksakan masuknya SSH yang dapat mereka temukan. Mesin yang menghadap internet saya menggunakan port SSH default, dan log saya dulu diisi dengan hal-hal seperti ini (disarikan dari file log aktual):
sshd[16359]: Invalid user test from 92.241.180.96
sshd[16428]: Invalid user oracle from 92.241.180.96
sshd[16496]: Invalid user backup from 92.241.180.96
sshd[16556]: Invalid user ftpuser from 92.241.180.96
sshd[16612]: Invalid user nagios from 92.241.180.96
sshd[16649]: Invalid user student from 92.241.180.96
sshd[16689]: Invalid user tomcat from 92.241.180.96
sshd[16713]: Invalid user test1 from 92.241.180.96
sshd[16742]: Invalid user test from 92.241.180.96
sshd[16746]: Invalid user cyrus from 92.241.180.96
sshd[16774]: Invalid user temp from 92.241.180.96
sshd[16790]: Invalid user postgres from 92.241.180.96
sshd[16806]: Invalid user samba from 92.241.180.96
Hari ini saya menggunakan DenyHosts untuk memblokir IP yang gagal mengotentikasi terlalu banyak, tetapi mungkin hanya mudah untuk hanya berpindah porta; hampir semua serangan brute force semacam ini tidak akan mengganggu pemindaian untuk melihat apakah sshd Anda mendengarkan di port lain, mereka hanya akan menganggap Anda tidak menjalankan satu dan melanjutkan
Tidak, ini keamanan karena ketidakjelasan taktik yang .
Jika pengaturan sshd Anda tidak cukup memadai untuk menghadapi kiddies skrip bodoh yang hanya mencoba port 22, Anda tetap memiliki masalah.
Reaksi yang lebih rasional adalah:
Beberapa orang mungkin juga terganggu oleh noise sshd yang menulis ke log sistem, misalnya:
Jan 02 21:24:24 example.org sshd[28396]: Invalid user guest from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28396]: input_userauth_request: invalid user guest [preauth]
Jan 02 21:24:24 example.org sshd[28396]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth]
Jan 02 21:24:24 example.org sshd[28398]: Invalid user ubnt from 212.129.23.128
Jan 02 21:24:24 example.org sshd[28398]: input_userauth_request: invalid user ubnt [preauth]
Jan 02 21:24:24 example.org sshd[28398]: error: Received disconnect from 212.129.23.128: 3: com.jcraft.jsch.JSchException: Auth fail [preauth
Mungkin tergoda untuk mengaburkan port sshd atau menggunakan solusi pemblokiran otomatis (seperti DenyHosts, Fail2ban, atau BlockHosts) untuk meningkatkan rasio sinyal-ke-noise lagi.
Tapi ada alternatif yang lebih baik. Sebagai contoh, Anda dapat mengkonfigurasi daemon syslog Anda sehingga kebisingan log sshd hanya ditulis untuk - katakan - /var/log/sshd-attempts.log
dan sinyal (yaitu pesan log sshd yang tersisa) ditulis ke /var/log/messages
dll seperti sebelumnya.
Penyebaran alat blocking otomatis harus dipertimbangkan secara hati-hati karena menambah kompleksitas keamanan berarti sistem yang relevan juga meningkatkan risiko dari eksploitasi . Dan memang, selama bertahun-tahun, ada beberapa laporan kerentanan DoS untuk setiap DenyHosts , Fail2ban , dan BlockHosts .
Mengubah port SSH sebagian besar adalah teater keamanan . Ini memberi Anda perasaan kabur telah melakukan sesuatu. Anda telah menyembunyikan port SSH di bawah keset.
Jika Anda menjalankan server SSH di Internet, Anda akan melihat banyak upaya gagal login di log Anda, dari bot yang mencari kata sandi yang sangat lemah , kunci yang lemah dan eksploitasi yang diketahui di server versi lama. Upaya yang gagal hanya itu: gagal upaya yang . Sejauh mengevaluasi seberapa rentan Anda, mereka sama sekali tidak relevan. Yang perlu Anda khawatirkan adalah upaya intrusi yang berhasil, dan Anda tidak akan melihatnya di log Anda.
Mengubah port default akan mengurangi jumlah hit oleh bot seperti itu, tetapi itu hanya menggagalkan penyerang paling canggih yang dihentikan oleh keamanan yang layak (pembaruan keamanan diterapkan secara teratur, kata sandi yang cukup kuat atau otentikasi kata sandi yang dinonaktifkan). Satu-satunya keuntungan adalah mengurangi volume log. Jika itu masalah, pertimbangkan sesuatu seperti Denyhosts atau Fail2ban untuk membatasi kecepatan koneksi, itu juga akan membuat bandwidth Anda bagus.
Mengubah port default memiliki kelemahan besar: itu membuat Anda cenderung tidak dapat masuk dari balik firewall. Firewall lebih memungkinkan untuk membiarkan layanan melalui port default mereka daripada pada beberapa port acak lainnya. Jika Anda tidak menjalankan server HTTPS, pertimbangkan untuk membuat SSH juga mendengarkan pada port 443 (atau mengalihkan permintaan TCP yang masuk dari port 443 ke port 22), karena beberapa firewall memungkinkan lalu lintas yang tidak dapat mereka dekode pada port 443 karena terlihat seperti HTTPS.