1/17/2010

7 Langkah Mengamankan SSH (OpenSSH) di Linux

Mengamankan OpenSSH dalam 7 langkah sederhana. Karena ssh adalah salah satu gerbang utama ke linux server Anda, jadi pastikan instalasi openssh Anda sudah aman.
Contoh-contoh yang diberikan dijalankan di linux Ubuntu.

Pilih dan gunakan password yang baik dan aman.

Password yang baik tidak selamanya harus rumit atau panjang sekali. Password yang terlalu rumit justru bisa-bisa membuat kita susah mengingatnya. Gunakanlah kombinasi angka, huruf dan sisipkan beberapa simbol pada password Anda.
Silahkan Anda kreasikan sendiri password yang baik dan aman untuk Anda. Ingat, jangan sekali-kali Anda membuat user: admin/admin, atau test/test (atau username/password lain yang sudah umum dan mudah ditebak) di server yang terhubung langsung ke Internet.


Larang user root untuk login melalui ssh
.

Jika tidak ada keperluan khusus, set agar user root tidak bisa login melalui ssh.
Di Ubuntu, edit /etc/ssh/sshd_config, lalu cari baris PermitRootLogin yes (ini adalah konfigurasi default instalasi di Ubuntu), ubah menjadi seperti berikut:

PermitRootLogin no

Setelah itu, pastikan Anda restart service ssh.
sudo /etc/init.d/ssh restart


Batasi pengakses, hanya buka akses untuk IP atau network yang Anda percaya.

Anda bisa membatasi pengakses menggunakan tcpwrapper (hosts.allow, hosts.deny) atau menggunakan iptables.

Contoh penggunakan hosts.allow, hosts.deny untuk membatasi akses ssh hanya boleh dari ip 192.168.22.2 dan hanya untuk network 192.168.23.0/24.
Sunting berkas /etc/hosts.deny

sshd: all
Sunting berkas /etc/hosts.allow
sshd: 127.0.0.0/255.255.255.0
sshd: 192.168.22.2
sshd: 192.168.23.0/255.255.255.0

Untuk membuat rules serupa, menggunakan UFW di Ubuntu.

sudo ufw allow proto tcp from 127.0.0.0/24 to any port 22
sudo ufw allow proto tcp from 192.168.22.2 to any port 22
sudo ufw allow proto tcp from 192.168.23.0/24 to any port 22



Pasang DenyHosts.


Hampir dipastikan, setiap komputer yang terhubung ke Internet sekarang ini rentan terhadap serangan brute force. Jadi penyerang melakukan proses coba-coba login ke sistem dengan menebak username dan password. Si penyerang umumnya memiliki daftar kombinasi username dan password untuk dicobakan ke sistem yang akan diserang.
Dalam beberapa kasus proses coba-coba login ini bisa berhasil, terutama ketika dalam sistem itu ada user yang menerapkan password yang tidak aman (weak password).
Untuk mengurangi efek serangan brute force, Anda bisa menginstal aplikasi denyhosts. Di Ubuntu

Anda bisa menginstalnya dari repositori main.
sudo apt-get install denyhosts

Anda mungkin ingin menyunting /etc/denyhosts.conf agar email notifikasi dikirim ke alamat email Anda. Caranya sunting file tersebut, lalu cari baris yang diawali dengan ADMIN_EMAIL, lalu ubah menjadi:

ADMIN_EMAIL = email.anda@domain.com
Konfigurasi lainnya Anda bisa tweak lagi, atau terima default saja (dalam kasus penulis, konfigurasi default sudah cukup baik).


Ganti default port.

Ini mungkin bukan konsep security yang benar-benar baik, tapi trik ini cukup efektif menghindari serangan dari script-script yang menscan ke port 22. Jadi jangan mengasumsikan instalasi openssh Anda sudah aman jika default port Anda ganti. Ini hanya trik untuk menghindari scan ataupun serangan dari cracker pemula.

Caranya, tinggal sunting berkas /etc/ssh/sshd_config, lalu cari baris Port 22, silahkan ganti ke port yang Anda inginkan. Misal,
Port 2222

Jangan lupa untuk merestart service ssh agar konfigurasi baru diterapkan ke sistem.
sudo /etc/init.d/ssh restart

Untuk selanjutnya, Anda bisa mengakses server via ssh ke port 2222. Jika menggunakan perintah

ssh, kira-kira seperti berikut:
ssh 192.168.56.101 -l cecep -p 2222


Pasang sistem Port Knocking.

Mungkin dari sekian tips yang diberikan diartikel ini, memasang port knocking adalah tips yang paling rumit. Tapi tips ini cocok jika Anda memang benar-benar paranoid, tidak ingin membuka port 22 atau port lainnya untuk koneksi ssh, tapi Anda tetap ingin bisa mengakses server jika sewaktu-waktu Anda membutuhkan koneksi dari remote komputer.


Selalu update sistem Anda.

Sebetulnya ini adalah aspek pengamanan dasar. Setiap administrator baik di Linux, Windows atau OS lainnya harus rajin mengupdate sistemnya. Karena pada umumnya update terbaru bisa menutup dan memperbaiki celah keamanan yang sudah diketahui sebelumnya.
Di ubuntu, Anda bisa melakukannya dengan satu langkah mudah:

sudo apt-get update && sudo apt-get upgrade