Jika kita memiliki server SSH di sebuah mesin yang terhubung dengan koneksi internet maka kita akan menerima ratusan dan bahkan ribuan percobaan login yang gagal setiap harinya.
Kelihatannya hebat bukan, tapi hal tersebut justru menunjukkan bahwa ada banyak orang di luar sana yang mencoba untuk login ke server SSH kita, yang artinya banyak orang yang mungkin tidak memiliki kepentingan mencoba masuk ke sistem komputer kita. Kita bisa lihat ratusan atau bahkan ribuan percobaan login ke server SSH tersebut melalui file log.
Jangan kaget atau gugup jika kita mengalami situasi seperti itu, lakukan tindakan yang tepat untuk mengurangi resiko keamanan yang lebih besar dengan cara mengamankan login SSH.
Berikut ini adalah enam langkah untuk membuat login SSH kita menjadi lebih aman.
1. Pilih password yang kuat
Langkah pertama untuk pertahanan adalah memilih password yang cukup kuat. Tekankan kepada diri kita dan pengguna lainnya untuk selalu menggunakan password yang tidak pendek dan hanya terdiri dari kata saja. Buat password yang lebih rumit seperti gabungan antara huruf dan angka dan jangan mengambil password dari kata-kata yang ada di dalam kamus.
Jika memiliki pengguna yang diberikan kebebasan untuk membuat dan merubah password mereka sendiri maka gunakan module PAM seperti pam_cracklib atau pam_ passwdqc untuk memaksa mereka agar memperkuat password.
2. Nonaktifkan login root secara langsung
Kita bisa mencari parameter bertuliskan PermitRootLogin di file konfigurasi sshd, (untuk Ubuntu bisa di set di /etc/sshd/sshd_config), lalu atur dengan menonaktifkan parameter tersebut agar pengguna tidak dapat login menggunakan account root secara langsung ke server. Hal ini akan memersulit mereka yang hendak macam-macam karena mereka harus menebak username dan password dari pengguna, lalu mereka pun harus meng-crack password root juga.
Pertahanan seperti ini sudah mulai diterapkan oleh Ubuntu, meskipun dengan alasan yang berbeda dengan mengunci password root.
3. Nonaktifkan login berbasis password
Meskipun SSH mendukung beberapa mekanisme otentikasi, namun hanya dua saja yang aktif secara default – password authentication dan RSA public/private key authentication. Dengan mengeset PasswordAuthentication ke no di file konfigurasi maka kita akan memaksa sshd untuk menggunakan RSA.
Sebelum kita melakukan langkah di atas, kita perlu mengcopy public key ke server. Untuk melakukannya cukup jalankan ssh-keygen untuk membangkitkan public key lalu gunakan ssh-copy-id untuk mengcopy public key ke file authorized_ keys di server.
Solusi ini cukup kuat untuk mengamankan tapi kita harus membawa private key kemana-mana jika kita secara rutin login dari komputer yang berbeda-beda. Mengenai langkah-langkah lebih lengkap bisa dilihat di link ini.
4. Jalankan SSH pada port yang bukan standar
Port standar SSH adalah 22 dan dengan kita bisa merubahnya dengan mengeset parameter Port di file konfigurasi server (/etc/sshd/sshd_config). Ubah nomer port menjadi lebih tinggi agar tidak bentrok dengan nomer port lainnya. Dan ketika kita login, maka kita perlu menyebutkan nomer port-nya juga, contoh:
$ ssh -p 20001 info@erakomputer.com
Langkah ini akan mengurangi penyerangan ke port standar SSH dimana kebanyakan program scanner mengincar port 22.
5. Blokir penyerang yang terus menerus
Program fail2ban akan memblok IP seseorang yang secara terus menerus gagal login ke server kita. Kita dapat mengkonfigurasikan maksimal sampai berapa kali percobaan seseorang (IP-nya) dapat dikategorikan untuk diblok secara permanen.
6. Batasi rata-rata waktu koneksi
Tujuannya adalah membatasi rata-rata waktu pada satu alamat IP tertentu untuk bisa membuat koneksi SSH yang baru. Jika limit sudah terpenuhi maka alamat IP akan di-blacklist dan memblok IP tersebut dalam jangka waktu satu jam atau lebih. Module terkini dari Iptables bisa melakukan hal tersebut dan mengenai topik tersebut bisa dilihat di link berikut.
Friday, March 5, 2010
6 Langkah Untuk Membuat Login SSH Menjadi Lebih Aman
Posted by Adi Wahyu Permana on Friday, March 05, 2010
0 comment:
Post a Comment