Enable log bruteforce MySQL

Pada database MySQL, aktivitas bruteforce biasanya tidak tercatat dalam log error MySQL yang terletak di /var/log/mysqld.log. Untuk itu, dalam panduan ini, kita akan mengonfigurasi MySQL agar dapat mencatat log aktivitas bruteforce sehingga dapat dimonitor dan diblokir melalui firewall.

Untuk menampilkan log tersebut, setting variable log_error_verbosity dengan nilai 3.

set global log_error_verbosity=3;

Atau jika melalui file my.cnf tambahkan baris berikut.

log_error_verbosity=3

Setelah service direstart, error log akan muncul seperti berikut.

2023-01-19T09:01:28.625640Z 11980 [Note] [MY-010926] [Server] Access denied for user 'root'@'157.12.111.28' (using password: NO)
2023-01-19T09:01:28.628616Z 11982 [Note] [MY-010926] [Server] Access denied for user 'root'@'157.12.111.99' (using password: YES)

Untuk mengurangi aktivitas bruteforce pada server MySQL, kita bisa mengonfigurasi variabel max_password_errors dengan nilai 3, atau menyesuaikan dengan kebutuhan.

set global max_password_errors=3;

Jika melalui file my.cnf tambahkan baris berikut.

max_password_errors=3

Anda juga bisa menggunakan bantuan firewall pihak ketiga seperti CSF atau Fail2ban.