« Fail2ban » : différence entre les versions

Aller à la navigation Aller à la recherche
2 246 octets ajoutés ,  il y a 12 ans
Surveillance de mysql
(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>


Administrators, autoreview, Vérificateurs d’utilisateurs, checkuser-log, editor, reviewer, usersnoop
3 321

modifications

Menu de navigation