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 😀
Good mas, bekerja dengan baik…
selain fail2ban apa ada proteksi lain seperti captcha ya?
soalnya saya udah baca baca dan nerapin gak work
PhpMyadmin support Google Recaptcha mas, cukup tambahin api key nya saja di config.inc nya
https://docs.phpmyadmin.net/en/latest/config.html#cfg_CaptchaLoginPublicKey
iya mas udah,
kemarin udah ngoprek2 ternyata gak compatible sama captcha v2, compatiblenya sama v3…
thanks