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.