MemperkuatOpenSSH
OpenSSH sering digunakan untuk mengakses komputer seperti peladen? dari jarak jauh, terkadang melalui jaringan internet yang tidak aman. Walaupun SSH digunakan di jaringan "aman" seperti jaringan pribadi virtual? atau VPN beberapa panduan berikut mungkin masih tetap relevan.
Mengubah nomor port(a)
Secara bawaan peladen OpenSSH menggunakan porta 22 untuk menerima koneksi dari klien. Nomor porta 22 ini memang secara resmi digunakan untuk OpenSSH dan transfer berkas berbasis SSH seperti SCP dan SFTP?.1 Namun karena itu juga porta 22 ini sering menjadi target worms, script kiddies, dan upaya brute force lainnya. Oleh karena itu disarankan untuk mengubah porta bawaan OpenSSH ke porta acak dengan mengedit /etc/ssh/sshd_config
.
Port 34567
Untuk membantu memilih port alternatif yang belum ditetapkan untuk layanan umum, tinjau daftar nomor port TCP dan UDP. Informasi tentang port juga dapat ditemukan secara lokal di /etc/services
. Perubahan port dari port default 22 akan mengurangi jumlah entri log yang disebabkan oleh upaya autentikasi otomatis, tetapi tidak akan menghilangkannya. Lihat Port Knocking? untuk informasi terkait.
Kompresi setelah autentikasi
Disarankan untuk mengaktifkan kompresi hanya setelah autentikasi. Buka /etc/ssh/sshd_config
dan pastikan nilai berikut dikonfigurasi:
Compression delayed
Cegah koneksi tanpa pengawasan
Jika pengguna dapat log masuk melalui SSH, seringkali disarankan untuk mengatur interval waktu idle untuk menghindari sesi ssh tanpa pengawasan. Buka /etc/ssh/sshd_config
dan pastikan nilai berikut dikonfigurasi:
ClientAliveInterval 300 ClientAliveCountMax 0
Aktifkan strict mode
Dengan menggunakan Strict Mode, Anda dapat memberlakukan beberapa pemeriksaan pada berkas-berkas penting di dalam direktori rumah pengguna yang memiliki hak istimewa dan kepemilikan yang tepat, daemon SSH hanya akan mengizinkan pengguna jarak jauh untuk masuk jika pemeriksaan lolos. Disarankan untuk mengaktifkan mode ketat dengan mengedit berkas /etc/ssh/sshd_config
dan mengaktifkan StrictModes
:
StrictModes yes
Mengaktifkan Warning Banner
Aktifkan Warning Banner dengan memperbaharui /etc/ssh/sshd_config
dengan:
Banner /etc/issue
Pengaturan ini hanya disarankan pada server yang menghadap intranet. Jika Anda menggunakan banner khusus pada sistem yang berhadapan dengan internet, Anda mengungkapkan beberapa jenis informasi dan cukup mudah untuk sidik jari dan melacak sistem Anda. Sebagai contoh, bayangkan server SSH Anda yang “rawan sidik jari” yang dipublikasikan sebagai simpul tersembunyi. Siapa pun dapat menghubungkan spanduk unik tersebut dengan Anda.
Matikan .rhosts
SSH dapat dikonfigurasi untuk meniru perilaku perintah rsh yang sudah usang yang menghormati file .rhosts
. Hal ini secara historis tidak aman dan disarankan untuk menonaktifkannya dengan mengedit /etc/ssh/sshd_config
dan menonaktifkan IgnoreRhosts
:
IgnoreRhosts yes
Matikan Challenge Response
Anda juga harus menonaktifkan autentikasi challenge-response, jika versi OpenSSH Anda menggunakan PAM untuk mengautentikasi. Disarankan untuk mengedit /etc/ssh/sshd_config
dan menonaktifkan ChallengeResponseAuthentication
:
ChallengeResponseAuthentication no
Matikan login jarak jauh dengan kata sandi kosong
Anda perlu secara eksplisit melarang login jarak jauh dari akun dengan kata sandi kosong, perbarui /etc/ssh/sshd_config
dengan baris berikut:
PermitEmptyPasswords no
Matikan host-based authentication
Disarankan untuk menonaktifkan autentikasi berbasis hos, karena autentikasi berbasis .rhost
bukan autentikasi yang kokoh. Untuk menonaktifkan autentikasi berbasis host, edit file /etc/ssh/sshd_config
dan nonaktifkan HostbasedAuthentication
:
HostbasedAuthentication no
Matikan autentikasi berbasis kata sandi
Secara default SSH dapat menggunakan kunci SSH atau kata sandi untuk menyediakan autentikasi, kata sandi rentan terhadap serangan ''brute force. Oleh karena itu disarankan untuk menggunakan kunci SSH saja dan menonaktifkan login berbasis kata sandi sepenuhnya. Untuk menghentikan autentikasi berbasis kata sandi, sunting file /etc/ssh/sshd_config
dan nonaktifkan PasswordAuthentication
:
PasswordAuthentication no
Matikan SSH forwarding
Penerusan port melalui SSH (SSH tunneling) menciptakan koneksi yang aman antara komputer lokal dan mesin jarak jauh yang melaluinya layanan dapat diteruskan. Jika tidak menggunakan fitur ini, disarankan untuk menonaktifkan fitur ini dengan menambahkan baris berikut di /etc/ssh/sshd_config
:
AllowTcpForwarding no
Sebagai alternatif, SSH forwarding juga dapat diaktifkan hanya untuk pengguna tertentu. Sebagai contoh, untuk mengaktifkan SSH forwarding untuk pengguna Alice, tambahkan baris berikut pada /etc/ssh/sshd_config
:
AllowTcpForwarding no Match User foobar AllowTcpForwarding yes
Disable TCP Forwarding
SSH mendukung “traffic tunneling”, yang digunakan untuk meneruskan lalu lintas TCP melalui protokol SSH. Jika tidak menggunakan fitur ini, disarankan untuk menonaktifkannya. Untuk menonaktifkan penerusan TCP, sunting file sshd_config
dan nonaktifkan AllowTcpForwarding
:
AllowTcpForwarding no1 Lihat https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml.