User Tools

Site Tools


linux:fail2ban

This is an old revision of the document!


Tutorial Installasi Fail2Ban & Tips Trick

Fail2ban adalah applikasi bruteforce detection berdasarkan log file.

Installasi fail2ban di Centos

yum install fail2ban -y

Konfigurasi Fail2Ban

Kami menggunakan fail2ban untuk membaca log haproxy. Log yang kami baca adalah aktifitas login menggunakan mekanisme POST pada url wp-login.php

nano nano /etc/fail2ban/filter.d/haproxy-wp.conf

kami isi

[INCLUDES]
before = common.conf

[Definition]
_daemon = haproxy

failregex = ^.*haproxy\[[0-9]+\]*: <HOST>:.* "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]+\]*: <HOST>:.* "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 <ip> Added by Fail2Ban for <name>
actionunban = csf -dr <ip>

[Init]
name = haproxy-wp

Layanan

Harga Domain .COM | Harga Domain .ID | Shared Hosting | Email Hosting | MySQL Hosting |
linux/fail2ban.1520156427.txt.gz · Last modified: 2018/03/04 04:40 by kbadmin

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki