Tips Mengamankan SSH Server

Tips Mengamankan SSH Server

Secure Shell (SSH) adalah sebuah protokol jaringan kriptografi untuk komunikasi data yang aman, login antarmuka baris perintah, perintah eksekusi jarak jauh, dan layanan jaringan lainnya antara dua jaringan komputer wikipedia

Berikut ini langkah langkah yang dapat kita lakukan untuk mengamankan akses ssh ke server kita :

1. Disable Root Logins

Untuk alasan keamanan sebaiknya kita tidak memberikan akses root login dari ssh, kita bisa membuat nama user yang unik untuk login dari ssh dan menambahkan user tersebut kedalam sudoers.

#vim /etc/ssh/sshd_config
PermitRootLogin no
#systemctl restart sshd

2. Disable Protocol 1

Menggunakan protokol 1 SSH kurang aman. Kita harus menonaktifkannya dan selalu menggunakan protokol 2 saja.

$sudo vim /etc/ssh/sshd_config
Protocol 2
$sudo systemctl restart sshd

3. Change Default Port

Untuk settingan defaul ssh menggunakan port 22, kita bisa menggantinya untuk meningkatkan keamanan server kita, cth menggunakan port 2287

$sudo vim /etc/ssh/sshd_config
Port 2287
$sudo systemctl restart sshd

Jika anda menggunakan firewall silahkan untuk terlebih dahulu mengallow port tersebut di firewall anda cth dengan SELinux

$sudo semanage port -a -t ssh_port_t -p tcp 2287
$sudo systemctl restart sshd

4. Disable Empty Passwords Access

Dalam beberapa kasus, akun pengguna tertentu di server mungkin tidak menggunakan kata password atau memiliki password kosong.

$sudo vim /etc/ssh/sshd_config
PermitEmptyPasswords no
$sudo systemctl restart sshd

5. Disable Host-Based Authentication

Host based authentication memungkinkan host untuk mengautentikasi semua user atau beberapa user yang menggunakan public key.

$sudo vim /etc/ssh/sshd_config
HostbasedAuthentication no
$sudo systemctl restart sshd

6. Enable Informational Log Level

Ssh adalah pintu masuk ke server, kita perlu mencatal log tersebut sehingga jika suatu saat kita mengalami kendala dengan ssh, kita memiliki log untuk di analisa.

$sudo vim /etc/ssh/sshd_config
LogLevel INFO
$sudo systemctl restart sshd

7. Reduce Maximum Start Up Connection

Ini berfungsi untuk memberi tahu server jumlah user yang dapat mencoba login dlm waktu bersamaan,dalam kasus ini saya menggunakan max 3 user ini juga membantu penangan brute force ke server.

$sudo vim /etc/ssh/sshd_config
MaxStartups 3
$sudo systemctl restart sshd

8. Fail2ban

Untuk melakukan blokir otomatis terhadap ip ip yang melakukan bruto force kita bisa menggunakan fail2ban berikut penggunaanya :

  • Install fail2band

    # yum install fail2ban -y

  • Copy file konfigurasi

    # cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

  • Edit file konfigurasi

    # vim /etc/fail2ban/jail.local

  • Ignore IP : Digunakan untuk me-whitelist IP tertentu, jadi teman – teman dapat menentukan IP mana saja yang tidak akan dan bakal di blokir (banned) sama si fail2ban, setiap penambahan IP dipisahkan dengan spasi.
  • Bantime : Digunakan untuk menentukan lama IP attacker (penyerang) yang telah terblokir (banned), dari server apabila melanggar rule yang telah ditentukan sebelumnya. Waktu yang digunakan bantime yaitu second (detik), secara default bantime yang ditentukan yaitu 600 detik (10 menit)
  • Maxretry : Digunakan untuk mengatur jumlah percobaan yang dapat dilakukan oleh seseorang attacker untuk melakukan brute force, sebelum IP tersebut di blokir (banned) oleh fail2ban. Secara default di CentOS 7 fail2ban akan memblokir 5 kali percobaan (fail).
  • Findtime : Yaitu waktu yang ditentukan oleh Fail2ban apakah IP tersebut masuk dalam kategori blokir (banned) atau tidak. Hitungan yang digunakan sama dengan bantime yaitu second (detik) defaultnya 600 (10 menit). Dalam hal ini saya menggunaka nila bantime= -1 (permanent)

Kemudian ubah
backend = systemd
enabled = true

Jika sudah, save file konfigurasi,

Kemudian start service fail2ban service fail2ban start dan enable systemctl enable fail2ban

Cek fail2ban dengan perintah fail2ban-client status dan iptables -L untuk memeriksa ip yang di blokir.

Oke sekian tulisan saya mengenai cara mengamankan SSH baik dengan konfigurasi file konfig ssh dan menggunakan aplikasi.

Penulis : M. Thomson Sianturi

 

Leave a Reply

Your email address will not be published. Required fields are marked *