Sudah sangat lama saya ingin membuat panduan singkat tentang cara mengamankan Server SSH, khususnya di Ubuntu Linux. Tutorial ini ditujukan kepada para Admin Server Linux atau Pengelola VPS Server yang ingin mengelola sendiri servernya. Tutorial ini bisa dipakai disembarang Linux walaupun di panduan kali ini menggunakan Linux Ubuntu mengingat server yang banyak saya tangani menjadikan Ubuntu sebagai Os Servernya.
Panduan mengamankan SSH sangat banyak, namun di panduan kali ini kita hanya fokus pada konfigurasi SSH server yang berada di directory /etc/ssh/sshd_config.
Point Point Penting di file tersebut yang bisa kita ubah untuk mengamankan server adalah sebagai berikut :
Mengganti Port default
#Seting default
#Port 22
#ubah menjadi port yang lain misal 2200
Port 2200
SSH berjalan di Port 22 secara default, saran saya gunakan nomor diatas 1000 misal 2022 atau 2021 atau sembarang port yang penting port yang akan kita pakai tidak dipakai oleh aplikasi lain.
Hanya Gunakan Protokol versi 2
Protocol 2
Intinya dengan hanya menggunakan Protokol versi 2, segala celah keamanan di protokol versi 1 bisa dihindari.
Perbolehkan Akses Hanya Dari Network Tertentu
Hal ini cocok jika anda mempunyai server fisik yang terhubung ke beberapa jaringan internal. Misal server anda ada 2 Networkcard dan masing masing punya ip ( 10.10.10.x dan 192.168.100.x) anda bisa seting agar SSH ini hanya bisa di akses dari jalur 192.168.10.0/24 , dengan asumsi IP server 192.168.10.254 maka tambahkan baris berikut di konfigurasi
ListenAddress 192.168.10.254
Matikan SFTP
Tahukah anda bahwa OpenSSH secara default mempunyai internal FTP server tanpa harus menggunakan program terpisah? Fitur SFTP ini sudah menempel di OpenSSH, sangat bermanfaat misal anda ingin mentransfer file dengan tool Winscp atau FTP client lain atau anda ingin Live Edit code langsung dari Code Editor yang mendukung SFTP.
Namun saya menyarakan matikanf itur ini dan hidupkan jika anda akan transfer file. Untuk server website dan sistem informasi, sangat jarang seorang Admin mentransfer data apalagi secara harian. Transfer file umumnya di lakukan saat mendeploy atau membackup data saja.
#Subsystem sftp /usr/lib/openssh/sftp-server
Beri tanda # di depan baris tersebut lalu restart
Disable Login Root lewat SSH
Jangan membiasakan mengakses server secara remote dengan akun Root, biasakan login dengan akun user biasa yang punya akses sudo. Hal ini lebih aman apalagi kalau hanya sekedar memonitor kondisi server.
PermitRootLogin No
Seting Login Grace Period
Setingan ini membatasi waktu login, terutama saat memasukan password. Jika dalam waktu tertentu ( sekian detik) password yang dimasukan tetap salah, maka akan kembali ke Halaman login username kembali. Grace period ini mirip mesin ATM, klo kita kelamaan masukan PIN atau lama masukan nomor rekening tujuan dia kan bunyi. Tujuan Grace Period ini menghindari Bruteforce attack.
#membatasi lama mengentry password saat login
LoginGraceTime 60
Seting Auto Logout
Seting ini digunakan agar jika sekian menit tidak ada aktivitas maka sistem akan logout dengan sendirinya, tujuannya agar jika kita lupa logout maka kawan kerja/ teman kantor atau pihak lain tidak bisa mengakses server lewat SSH yang sudah terlanjur terbuka. Standarnya setingnya adalah 10 menit.
#auto logout setelah 10 menit
ClientAliveInterval 600 #satuan dalam detik (60*10)
ClientAliveCountMax 0
Demikian tips singkat cara mengamankan SSH server, semoga bermanfaat