Mengamankan SSH Server

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

Related posts

Mengisi Daya Ponsel dengan Cepat

Skill troubleshooting yang harus dimiliki

Google password checkup