Mengamankan SSH dengan Fail2ban

0

Mengamankan SSH dengan Fail2ban – Fail2ban adalah salah satu aplikasi yang berfungsi untuk mencegah serangan brute force, serangan brute force itu sendiri merupakan metode untuk meretas password dengan cara mencoba login berkali-kali dengan beberapa kombinasi password yang ada di wordlist, fail2ban dapat mengatasi hal ini dengan memblokir IP yang melakukan brute force, selain itu fail2ban juga memblokir aktifitas mencurigakan lainnya.

Pada kesempatan kali ini saya akan membahas cara mengamankan ssh dengan fail2ban

Install fail2ban

# apt-get install fail2ban

semua konfigurasi terletak di /etc/fail2ban, untuk konfigurasi utama terletak di /etc/fail2ban/jail.conf, salin dile konfigurasi default ke file konfigurasi baru

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

Konfigurasi fail2ban

Buka file konfigurasi baru dengan editor nano atau vim

# nano /etc/fail2ban/jail.local

Lihat pada bagian [Default], pada bagian ini terdapat konfigurasi dasar fail2ban

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not
# ban a host which matches an address in this list. Several addresses can be
# defined using space separator.
ignoreip = 127.0.0.1/8 192.168.10.3/24

# External command that will take an tagged arguments to ignore, e.g. <ip>,
# and return true if the IP is to be ignored. False otherwise.
#
# ignorecommand = /path/to/command <ip>
ignorecommand =

# "bantime" is the number of seconds that a host is banned.
bantime  = 600

# A host is banned if it has generated "maxretry" during the last "findtime"

# seconds.
findtime = 600
maxretry = 3

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = report@nothinux.id

ignoreip : ip address yang di isikan disini akan diabaikan karena masuk whitelist, isikan ip address yang biasa anda gunakan untuk meremote server dengan SSH, anda dapat menambahkan beberapa IP disini, pisahkan IP dengan spasi.

findtime : ini adalah waktu yang diijinkan untuk sebuah IP atau host dalam detik, secara default 600 detik yang berarti 10 menit, anda dapat menambahnya sesuai keinginan anda.

maxretry : percobaan yang bisa dilakukan jika terjadi gagal login, secara default hanya bisa 3 kali percobaan, jika gagal login 3x berturut-turut, maka akan diblokir oleh fail2ban.

destmail : alamat email tujuan yang digunakan untuk melaporkan jika ada aktifitas mencurigakan.

Konfigurasi Layanan

Secara default, fail2ban berisi set filter yang telah ditetapkan untuk berbagai layanan. Jadi Anda tidak perlu memasukkan entri manual dalam file konfigurasi. Yang perlu Anda lakukan adalah hanya mengubah nilai-nilai aktif atau tidak, layanan masing-masing secara otomatis diawasi oleh fail2ban.

Berikut adalah contoh output pada bagian SSH dan telah diaktifkan secara default, jadi anda tidak perlu mengubahnya

[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 6

Restart fail2ban
# /etc/init.d/fail2ban restart

Anda dapat memverifikasi konfigurasi yang ditambahakan fail2ban di iptables, dengan perintah
# iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
fail2ban-ssh  tcp  --  anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere 

Untuk mengecek log, gunakan perintah
# cat /var/log/fail2ban.log

Semoga bermanfaat

Gabung Channel Telegram nothinux untuk update artikel dan informasi terbaru, Klik Disini

Share.

About Author