Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321
modifications
(Surveillance de mysql) |
|||
Ligne 376 : | Ligne 376 : | ||
bantime = 600 | bantime = 600 | ||
maxretry = 10 | maxretry = 10 | ||
</pre> | |||
=== Cas particulier de mysql === | |||
Si vous souhaitez protéger un serveur mysql dont la base est ouverte sur Internet (ce qui n'est pas conseillé et pas très prudent...), voici comment faire: | |||
==== Activez les logs de mysql ==== | |||
Dans le fichier /etc/mysql/my.cnf | |||
general_log_file = /var/log/mysql/mysql.log | |||
general_log = 1 | |||
==== Patchez le fichier de support de date de fail2ban ==== | |||
Une sauvegarde: | |||
cp /usr/share/fail2ban/server/datedetector.py /usr/share/fail2ban/server/datedetector.py.sos | |||
Dans le fichier /usr/share/fail2ban/server/datedetector.py ajoutez ceci (ligne 144) | |||
''Attention, les espaces sont des tabulations'' | |||
<pre> | |||
# AAMMJJ HH:MM:SS | |||
template = DateStrptime() | |||
template.setName("YearMonthDay Hour:Minute:Second") | |||
template.setRegex("\d{2}\d{2}\d{2} \d{2}:\d{2}:\d{2}") | |||
template.setPattern("%y%m%d %H:%M:%S") | |||
self.__templates.append(template) | |||
</pre> | |||
Vous devriez obtenir ceci: | |||
<pre> | |||
# <09/16/08@05:03:30> | |||
template = DateStrptime() | |||
template.setName("<Month/Day/Year@Hour:Minute:Second>") | |||
template.setRegex("^<\d{2}/\d{2}/\d{2}@\d{2}:\d{2}:\d{2}>") | |||
template.setPattern("<%m/%d/%y@%H:%M:%S>") | |||
self.__templates.append(template) | |||
# AAMMJJ HH:MM:SS | |||
template = DateStrptime() | |||
template.setName("YearMonthDay Hour:Minute:Second") | |||
template.setRegex("\d{2}\d{2}\d{2} \d{2}:\d{2}:\d{2}") | |||
template.setPattern("%y%m%d %H:%M:%S") | |||
self.__templates.append(template) | |||
finally: | |||
self.__lock.release() | |||
</pre> | |||
==== Configurez fail2ban ==== | |||
$editor /etc/fail2ban/jail.conf | |||
<pre> | |||
[mysql] | |||
enabled = true | |||
port = 3306 | |||
filter = mysqld | |||
logpath = /var/log/mysql/mysql.log | |||
maxretry = 3 | |||
</pre> | |||
$editor /etc/fail2ban/filter.d/mysqld.conf | |||
<pre> | |||
# Fail2Ban configuration file | |||
# | |||
# Author: JOUBERT Pierre-Benoît | |||
# | |||
[Definition] | |||
failregex = Access denied for user '.*'@'<HOST>' | |||
</pre> | </pre> | ||
modifications