Proteksi WordPress dengan Fail2Ban

Proteksi terhadap WordPress atau Open Source CMS lainnya adalah mutlak diperlukan, karena sifatnya yang memiliki kode terbuka dan bebas dilihat oleh para pengembang perangkat lunak, membuat tingkat keamanan menjadi suatu hal yang sangat penting.

Berikut ini akan dibahas mengenai pengamanan WordPress dengan Fail2Ban yang dapat digunakan untuk me-minimalisir WordPress dari serangan Brute Force. Untuk pemasangan Fail2Ban sendri dapat dilihat pada artikel sebelumnya disini.

Setelah Fail2Ban terpasang dalam sistem anda, langkah selanjutnya adalah membuat WordPress berinteraksi dengan Fail2Ban melalui authentication log file/var/log/auth.log“. Untuk melakukan hal tersebut, install plugins WP fail2ban kemudian aktifkan plugins tersebut.

Selanjutnya lakukan SSH keserver untuk mengkonfigurasi Fail2Ban, edit file “/etc/fail2ban/jail.conf” dengan editor favorit anda.

$ sudo pico /etc/fail2ban/jail.conf

tambahkan baris berikut pada file tersebut

...

[wordpress-hard]
enabled = true
filter = wordpress-hard
logpath = /var/log/auth.log
maxretry = 1
port = http,https

[wordpress-soft]
enabled = true
filter = wordpress-soft
logpath = /var/log/auth.log
maxretry = 3
port = http,https

Selanjutnya buat file “/etc/fail2ban/filter.d/wordpress-hard.conf” dengan perintah berikut

$ sudo pico /etc/fail2ban/filter.d/wordpress-hard.conf

Masukan baris berikut dalam file tersebut

[INCLUDES]
before = common.conf

[Definition]
_daemon = (?:wordpress|wp)

failregex = ^%(__prefix_line)sAuthentication attempt for unknown user .* from $
            ^%(__prefix_line)sBlocked user enumeration attempt from $
            ^%(__prefix_line)sBlocked authentication attempt for .* from $
            ^%(__prefix_line)sPingback error .* generated from $
            ^%(__prefix_line)sSpam comment \d+ from $
            ^%(__prefix_line)sXML-RPC authentication attempt for unknown user .* from $
            ^%(__prefix_line)sXML-RPC multicall authentication failure from $

ignoreregex =

Simpan file dan lanjutkan dengan membuat file “/etc/fail2ban/filter.d/wordpress-soft.conf” dengan perintah berikut

$ sudo pico /etc/fail2ban/filter.d/wordpress-soft.conf

Masukan baris berikut dalam file tersebut

[INCLUDES]
before = common.conf

[Definition]
_daemon = (?:wordpress|wp)

failregex = ^%(__prefix_line)sAuthentication failure for .* from $
            ^%(__prefix_line)sXML-RPC authentication failure from $

ignoreregex =

Simpan file, kemudian restart service fail2ban dengan perintah berikut

$ sudo service fail2ban restart

Jika semua proses diatas telah dilakukan dengan benar, sekarang website WordPress anda sudah diproteksi dengan Fail2Ban.

Selamat mencoba

Leave a Reply

Close