Mengamankan phpMyAdmin dengan Fail2Ban

PhpMyAdmin merupakan tools gratis yang dibuat dengan bahasa programan PHP ditujukan untuk memudahkan manajemen MySql melalui tampilan Web. phpMyAdmin sering menjadi target serangan brute force, untuk itu sangat penting untuk mengamankan phpMyAdmin karena fungsinya sangat Vital.

Fail2Ban merupakan tools yang melakukan scan terhadap log file dan memblok alamat ip yang diduga mencurigakan. Tools ini dapat digunakan untuk menangkis serangan brute force dengan memblok Alamat IP yang melakukan upaya login berkali – kali.

Artikel ini akan menjelaskan bagaimana menginstall dan mengkonfigurasi Fail2Ban untuk mengamankan phpMyAdmin. Instalasi dilakukan pada sistem operasi Ubuntu Server 18.04.

Instalasi Fail2Ban

instalasi pada OS ubuntu sangat sederhana dengan menggunakan apt.

apt-get install fail2ban

Konfigurasi File2Ban

file konfigurasi ada di dalam folder /etc/file2ban/, beberapa folder/file yang mungkin penting untuk diketahui fungsinya:

  • /etc/fail2ban/filter.d/ berisi pattern/regex yang dilakukan untuk memfilter file log, jika anda ingin membuat filter sendiri anda dapat menaruhnya di dalam folder ini.
  • /etc/fail2ban/jail.local file yang direkomendasikan untuk diedit dan berisi konfigurasi sesuai keinginan anda

jika file jail.local tidak ada, buatlah file tersebut dan isikan rule seperti dibawah ini:

[phpmyadmin]
enabled = true 
bantime = 86400 
maxretry = 5 
filter = phpmyadmin-syslog 
logpath = /var/log/auth.log

dengan konfigurasi diatas jika ada alamat ip yang gagal login sebanyak 5 kali ia akan di blok selama 1 hari (86400 detik)

Jangan lupa setelah melakukan perubahan konfigurasi reload/restart daemon fail2ban dengan perintah berikut

systemctl restart fail2ban

Jalankan perintah berikut untuk memastikan rule phpMyAdmin nya sudah jalan

fail2ban-client status

outputnya akan seperti dibawah ini, pastikan nama phpmyadmin atau nama jail nya muncul

Status 
|- Number of jail:    2 
`- Jail list: phpmyadmin, sshd

Konfigurasi phpMyAdmin

Tambahkan baris konfigurasi dibawah ini pada file konfigurasi phpMyAdmin anda (config.php)

$cfg['AuthLog'] = 'syslog';

konfigurasi diatas akan melempar log autentikasi ke syslog yang outputnya ada di /var/log/auth.log. Setelah ini cobalah melakukan login berulang kali untuk memastikan fail2ban berfungsi 😀

Kadek Jayak
Seorang Web Developer di Denpasar Bali. Nulis blog hanya sekedar iseng dan berbagi pengalaman.
%d blogger menyukai ini: