docong1010 wrote:
Nếu là một site của apache thì cho mình hỏi khi query database thì chắc log của nó phải save trong mysqld.log. Nhưng mình không thấy nó ghi thông tin gì . Mình mới lam quen với thằng PHP nên hơi gà mờ. hii
Nếu bạn đang dùng MySQL 5.5.x _http://bugs.mysql.com/bug.php?id=25822 và muốn failed login được log vào mysqld.log, thì bạn phải set `log-warnings` lớn hơn 1:
Code:
mysql> select @@log_warnings;
+----------------+
| @@log_warnings |
+----------------+
| 2 |
+----------------+
1 row in set (0.00 sec)
Còn muốn log insert, update, ... query thì đọc: http://dev.mysql.com/doc/refman/5.5/en/query-log.html
docong1010 wrote:
Vì mình đang dùng Fail2ban nên muốn test thử trên phpmyadmin. Nhưng nó toàn căn cứ log của apache để Ban IP. Nhưng trong khi nó mình thử login false thì nó chả thông báo gì trong error_log.
Sau khi đã set `log-warnings` lớn hơn 1 rồi, login thử với wrong password bạn sẽ thấy:
120228 22:52:08 [Warning] Access denied for user 'alice'@'192.168.3.118' (using password: YES)
Ở đây, MySQL dùng timestamp kiểu: yymmdd HH:MM:SS. Do vậy, phải dùng cái patch này _http://www.fail2ban.org/wiki/index.php/Fail2ban:Community_Portal#Add_support_for_MySQL_general_log_timestamps để fail2ban có thể hiểu được.
Giờ thì bạn thử viết regex cho cái warning trên để ban 192.168.3.118 xem .