====== Tutorial Installasi Fail2Ban & Tips Trick ======
Fail2ban adalah applikasi bruteforce detection menggunakan file log sebagai dasar pendeteksian.
===== Installasi fail2ban di Centos =====
yum install fail2ban -y
===== Membuat Custom Log File /var/log/fail2ban.log =====
Defaultnya log fail2ban ada di /var/log/messages dan untuk membuat custom log file fail2ban sbb
nano /etc/fail2ban/fail2ban.conf
ubah logtarget menjadi seperti ini
logtarget = /var/log/fail2ban.log
===== Konfigurasi Fail2Ban Haproxy dan CSF =====
Kami menggunakan fail2ban untuk membaca log haproxy dan memblokirnya dengan CSF. Log yang kami baca adalah aktifitas login menggunakan mekanisme POST pada url wp-login.php
nano /etc/fail2ban/filter.d/haproxy-wp.conf
kami isi
[INCLUDES]
before = common.conf
[Definition]
_daemon = haproxy
failregex = ^.*haproxy\[[0-9]+\]*: :.* "POST /wp-login.php HTTP/1.1"$
ignoreregex =
Pastikan anda sudah menguji regular expresion tersebut dengan menggunakan
fail2ban-regex /var/log/haproxy.log /etc/fail2ban/filter.d/haproxy-wp.conf
dan apabila regex nya benar hasilnya seperti ini
Results
=======
Failregex: 7660 total
|- #) [# of hits] regular expression
| 1) [7660] ^.*haproxy\[[0-9]+\]*: :.* "POST /wp-login.php HTTP/1.1"$
`-
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [520991] (?:DAY )?MON Day 24hour:Minute:Second(?:\.Microseconds)?(?: Year)?
`-
Lines: 520991 lines, 0 ignored, 7660 matched, 513331 missed
[processed in 126.74 sec]
sekitar 7660 baris match dengan regex tersebut.
selanjutnya adalah membuat jail
nano /etc/fail2ban/jail.d/haproxy-wp.conf
isi dengan
[haproxy-wp]
enabled = true
bantime = 36000
findtime = 120
maxretry = 6
filter = haproxy-wp
logpath = /var/log/haproxy.log
port = http,https
action = csf-ip-deny
selanjutnya membuat action yang di integrasikan dengan CSF.
nano /etc/fail2ban/action.d/csf-ip-deny.conf
isi dengan
# CSF / fail2ban integration from The Digital FAQ (digitalFAQ.com)
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = csf -d Added by Fail2Ban for
actionunban = csf -dr
[Init]
name = haproxy-wp