Tips dan Trik Sederhana Mengamankan SSH


Masih diseputar pembahasan SSH. Tulisan, sebelumnya kita membahas tentang teori pengenalan SSH, lalu kemudian pemasangannya. Sekarang, kita memasuki tahapan konfigurasi untuk kebutuhan akan sekuriti.

Tulisan kali ini saya akan berbagi sedikit tips dan trik cara mengamankan SSH, dengan teknik yang sederhana seperti menonaktifkan akun root; mengganti port default dari SSH yakni port 22, ke port lainnya; membatasi user dan lain sebagainya.

Pertama-tama Anda login terlebih dahulu server Anda dengan akun yang biasa root terlebih dahulu. Contoh:

$ ssh root@192.168.1.1

Kemudian kita sunting berkas sshd_config di /etc/ssh, dengan editor nano, vim atau vi. Saya lebih menyarankan gunakan vi, mengapa? Karena vi hampir di seluruh distro GNU/Linux pasti ada. Beda dengan editor lainnya seperti nano dan vim, sebagian distro tidak menyertakan secara default, jadi Anda harus memasangnya terlebih dahulu.

# vi /etc/ssh/sshd_config

Kemudian ganti konfigurasinya seperti berikut:

  1. Mengganti Port.
    Port 2232
    
    Pastikan firewall  Anda membuka port tersebut, dan pastikan pula port tidak bentrok atau belum dipakai oleh aplikasi lain.
  2. Menonaktifkan akun root.
    PermitRootLogin no
  3. Membatasi pengguna tertentu yang boleh login.
    AllowUsers ali abdul razak
    Catatan: Spasi untuk memasukan list nama-nama pengguna. Contoh di atas hanya tiga orang yang boleh mengakses.
  4. Menggunakan Protocol 2. Menurut informasi bahwa protocol 1 itu adalah protocol yang lebih lama, dan kurang aman, disarankan menggunakan protocol 2.
  5. Menggunakan SSH Key dan Menonaktifkan Password. Menggunakan SSH Key jauh lebih aman dari pada menggunakan password, mengapa? Dikarenakan password dapat di brute-force. Untuk di localhost, kita buat SSH key-nya dengan perintah berikut:
    $ ssh-keygen -t rsa
    Kemudian masukan beberapa persyaratan yang ia butuhkan. Jika Anda diminta passphrase, ada dua pilihan Anda bisa mengabaikannya dengan menekan tombor <ENTER> atau mengisinya. Saya lebih menyarankan Anda untuk mengisi passphrase, untuk melindungi key Anda. Kemudian kita atur permission nya.
    $ chmod 700 ~/.ssh
    $ chmod 600 ~/.ssh/id_rsa
    Lalu kita copy-kan public key kita ke server: Pertama-tama tampilkan isi dari berkas id_rsa.pub:
    $ cat ~/.ssh/id_rsa.pub
    Kemudian copy key-nya, dan login SSH Anda dengan user yang boleh login (jangan pakai root):
    $ ssh user@hostname.com
    $ mkdir ~/.ssh
    $ vi ~/.ssh/authorized_keys
    Adapun cara termudah Anda bisa menggunakan, cara di bawah ini:
    $ cat ~/.ssh/id_rsa.pub | ssh user@hostname.com 'umask 0077; mkdir -p .ssh; cat >> .ssh/authorized_keys && echo "Key ter-copy"'
    Atau lebih singkat gunakan ssh-copy-id:
    $ ssh-copy-id user@hostname.com
    Jangan lupa kita disable agar jangan menggunakan passsword di /etc/ssh/sshd_config.
     PasswordAuthentication no

Sumber

  • https://wiki.centos.org/HowTos/Network/SecuringSSH
  • Gambar: https://www.farinspace.com/assets/secure_ssh.jpg