Okay, jurus diatas memang sangat efektif. Bayangkan untuk melakukan bruteforce password tersebut kira2 membutuhkan \(x^n\) iterasi dimana \(x\) adalah jumlah karakter yang mungkin untuk digunakan, dan \(n\) adalah banyak karakter. Tetapi karena kebiasaan manusia adalah mengingat sesuatu berdasarkan kata, biasanya bruteforce ini di combine dengan dictionary attack. Sesuai namanya dictionary (kamus), maka ada beberapa list kata yang akan langsung digunakan misalnya "root", "r00t", "123456", dst.
Nah, ada satu cara lain untuk menggantikan efektifitas dari password panjang dan tidak bermakna, yang dinamakan SSHKey. SSHKey ini akan menggantikan password untuk melakukan ssh ke server. Pada prinsipnya user akan menggenerate SSHKey pada komputer pribadinya, sehingga mendapatkan 2 buah key yaitu public key dan private key. Setelah itu public key akan ditaruh diserver, dan private key akan ditaruh komputer.
Langkah-langkah untuk mengubah cara login ke ssh dari password based ke sshkey based adalah sebagai berikut:
- Buat terlebih dahulu public dan private key menggunakan algoritma RSA.
keygen-keygen -t rsa
Tinggal ikuti petunjuk, maka secara default public dan private key berada di folder "~/.ssh" -
Setelah itu buat folder "~/.ssh" di server
ssh [user-name]@[host] mkdir -p .ssh
-
Upload public key ke folder .ssh pada server
cat ~/.ssh/id_rsa.pub | ssh [user-name]@[host] "cat >> .ssh/authorized_keys"
-
Ubah permission dari .ssh dan .ssh/authorized_keys pada server
ssh [user-name]@[host] "chmod 700 .ssh; chmod 600 .ssh/authorized_keys"
-
Membuat login ssh tidak boleh menggunakan password
sudo vim /etc/ssh/sshd_config
kemudian cari "PasswordAuthentication" ganti menjadi "no"
No comments:
Post a Comment