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.

Contoh tampilan Sessi SSH

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

Categories: Linux

Candra Adi Putra

Candra Adi Putra S.Kom adalah Alumni STMIK AKAKOM Yogyakarta. hubungi saya di candraadiputra (at) gmail (dot) com