Tips Mengamankan SSH Server Andry YudiantoJuly 26, 201501K views SSH Server OpenSSH atau SSH saat ini telah menjadi standar untuk melakukan remote access yang menggantikan fungsi telnet, dimana ssh ini memiliki beberapa kelebihan jika dibandingkan dengan telnet. SSH menggunakan koneksi yang terenkripsi dan password tidak lagi dikirim dalam bentuk plain text sehingga dapat dilihat secara kasat mata. Pentingnya untuk mengamankan sebuah ssh server tidak dapat dihindari karena dengan ssh server ini anda dapat berkomunikasi dengan server anda. Sebuah sistem yang menggunakan ssh dengan instalasi standar belum dikategorikan aman karena ada beberapa kelemahan yang bisa digunakan seperti bruteforce attack terhadap ssh server ini. Berikut ini adalah beberapa tips untuk mengamankan SSH 1. Gunakan username dan password yang baik, jika anda memiliki server serta menggunakan ssh dan terekspose didunia luar maka secara tidak langsung hacker akan mencoba melakukan port scanning dan melakukan brute-force attack untuk mendapatkan akses masuk kedalam server. Agar tidak mudah ditebak maka gunakan password dengan baik dengan : minimal 8 karakter gunakan huruf besar dan kecil gunakan angka dan huruf gunakan karakter non alphanumeric seperti ! ” $ % ^ * dan sebagainya 2. Nonaktifkan login untuk root, pada file konfigurasi /etc/ssh/sshd_config edit pada baris # Prevent root logins: PermitRootLogin no jangan lupa untuk menjalankan ulang untuk service sshd #service sshd restart Jika anda memerlukan akses ke root gunakan su atau sudo 3. Batasi user yang dapat akses ke dalam ssh, pada bagian file konfigurasi /etc/ssh/sshd_config edit pada baris AllowUser andre indri jangan lupa untuk menjalankan ulang untuk service sshd #service sshd restart 4. Matikan protokol 1, pada bagian file konfigurasi /etc/ssh/sshd_config edit pada baris # Protocol 2,1 Protocol 2 jangan lupa untuk menjalankan ulang untuk service sshd #service sshd restart 5. Jangan menggunakan port standart ssh (port 22), gunakan port yang mudah anda ingat dan ini akan mengurangi pengeksposan port ssh anda. Pada bagian file konfigurasi /etc/ssh/sshd_config edit pada baris # Run ssh on a non-standard port: Port 3113 #Change me 6. Filter akses port ssh anda hanya pada ip yang biasa anda gunakan, gunakan fasilitas iptables untuk membatasinya. iptables -A INPUT -p tcp -s x.x.x.x –dport 22 -j ACCEPT untuk mengurasi bruteforce attack pada port ssh iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –set –name ssh –rsource iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent ! –rcheck –seconds 60 –hitcount 4 –name ssh –rsource -j ACCEPT 7. Gunakan Public/Private keys untuk authentifikasi, dengan menggunakan public/private key anda tidak akan perlu lagi memasukkan password lagi ketika mengakses ssh kemudian anda juga bisa mematikan penggunaan password ketika mengakses ssh Cara untuk membuat public/private key $ ssh-keygen -t rsa Set permisi untuk key anda $ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/id_rsa Copykan key tersebut ke dalam authorized_key list $ cat id_rsa.pub >> ~/.ssh/authorized_keys Setelah anda mengkopikan public key tersebut anda dapat menghapus key dari server dan kemudian lakukan setting permission $ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/authorized_keys Pastikan pada SELinux contexts diset pada $ restorecon -Rv ~/.ssh Jika anda sudah berhasil masuk pada remote server dengan menggunakan public/private key maka anda dapat mematikan authentifikasi dengan menggunakan password pada file konfigurasi etc/ssh/sshd_config edit pada baris # Disable password authentication forcing use of keys PasswordAuthentication no