Mengamankan SSH dengan Fail2ban

April 06, 2020

Disini saya akan menggunakan fail2ban untuk meminimalisir serangan brute force ke service SSH.

Update repository

Ubuntu 18.04 LTS

apt update -y
apt upgrade -y

CentOS 7

yum install epel-release -y
yum update -y
yum upgrade -y

Install Fail2ban

Ubuntu 18.04 LTS

apt install fail2ban -y

CentOS 7

yum install fail2ban -y

Start fail2ban

systemctl start fail2ban
systemctl enable fail2ban

Konfigurasi fail2ban

  • Salin file jail.conf ke jail.local

    cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  • Buat konfigurasi

    vim /etc/fail2ban/jail.local

    Masukan konfigurasi seperti berikut terlebih dahulu:

    ignoreip = 127.0.0.1/8 ::1 (pengecualian IP untuk tidak diban pada saat gagal login)
    bantime = -1 (Banned permanen IP)
    findtime = 300s (waktu yang ditentukan, apakah IP layak di ban)
    maxretry = 3 (3x percobaan gagal= banned)

    Buat konfigurasi untuk SSH:

    [sshd]
    enabled = true
    port    = ssh
    logpath = %(sshd_log)s
    backend = %(sshd_backend)s

    Simpan dan restart fail2ban

Status jail fail2ban

Untuk melihat status jail fail2ban dapat menggunakan perintah berikut:

fail2ban-client status sshd

Jail status

Masukan perintah berikut untuk melihat log fail2ban:

tail -f /var/log/fail2ban.log

Log fail2ban

Unban IP

Untuk melakukan unban IP, dapat menggunakan perintah berikut:

fail2ban-client set sshd unbanip IP_ADDRESS

Sekian dan terima kasih..