Mengamankan SSH kelas XI

Perlu kita ketahui konfigurasi default ssh sangat rentan terhadap serangan dari luar, seperti brute force attack dan sebagainya. Dapat anda bayangkan betapa bahayanya jika seseorang dapat masuk ke server/computer kita. Anda yang menjadi seorang admin network/server akan berasa malu kepada atasan anda, jika atasan anda mengetahui hal ini. Namun jika atasan anda tidak mengetahui telah terjadi penyusupan terhadap server tidak jadi masalah, tetapi masalah akan timbul jika penyusup tersebut malakukan hal-hal yang tidak diinginkan misalnya merubah konfigurasi system sehingga server/komputer anda bermasalah dan masih banyak kemungkinan lainnya.

Berikut ini adalah beberapa cara yang dapat dilakukan untuk meningkatkan keamanan SSH, yaitu :

  1. Gunakan password yang baik dan aman, karena hal ini sangat berpengaruh terhadap keamanan ssh. Bayangkan saja jika anda menggunakan user “admin” dan passwordnya “admin”, user dan password seperti ini sangat umun dan mudah ditebak. Sebaiknya gunakan kombinasi huruf, angka dan symbol pada password anda.
  2. Melarang root login via SSH. Hal ini dilakukan karena jika password root dapat dibobol maka penyusup dapat dengan mudah melakukan segala hal di dalam computer kita.PermitRootLogin no
  3. Mengubah default port ssh 22  ke port lain, misalnya port 1138.Port 1138
  4. Secara default ssh mengijinkan semua user untuk login via ssh. Kita dapat mengaturnya agar hanya user tertentu saja yang dapat login. Misalnya kita hanya mengijinkan usera yang dapat login via ssh.AllowUsers usera
  5. Batasi pengakses dengan hanya mengijinkan IP tertentu yang dapat mengakses computer via ssh. Caranya dengan mengatur konfigurasi pada /etc/hosts.deny untuk mangatur IP yang tidak diijinkan meremote dan /etc/hosts.allow untuk mengatur IP untuk yang diijinkan untuk meremote.
      • /etc/hosts.allow
        • sshd: 192.168.1.0/24

    ###jika kita mengijinkan network 192.168.1.0 untuk meremote server/komputer kita via ssh.

      • /etc/hosts.deny
        • sshd: ALL

    ### konfigurasi akan merefuse semua koneksi selain yang anda masukkan di /etc/hosts.allow

  6. Menginstall denyhosts. Jika kita mempunyai sebuah server/komputer dengan IP public, server/komputer ini sangat rentan terhadap serangan dari luar. Salah satu serangannya, biasanya dilakukan dengan memaksa masuk ke server (login) dengan kombinasi username dan password yang berbeda-beda secara berulang-ulang. Denyhosts ini akan memblok IP yang gagal melakukan log in ke komputer/server dengan batasan beberapa kali percobaan. Alamat IP tersebut otomastis akan dimasukan ke dalam file /etc/hosts.deny. Salah satu kelebihan denyhosts adalah aplikasi ini dapat mengirim report melalui email.
  7. 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 ACCEPTuntuk mengurasi bruteforce attack pada port sshiptables -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
  8. 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 sshCara untuk membuat public/private key$ ssh-keygen -t rsaSet permisi untuk key anda$ chmod 700 ~/.ssh
    $ chmod 600 ~/.ssh/id_rsaCopykan 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

sumber : https://teknojurnal.com/beberapa-cara-mengamankan-ssh/