Difference between revisions of "FAQ french"

From Fail2ban
Jump to navigationJump to search
m (Reverted edits by 212.72.30.140 (Talk); changed back to last version by 62.147.165.84)
Line 1: Line 1:
== '''Général''' ==
+
trocouget
 +
== '''Général''' ==
  
 
=== Qu'est-ce que {{Fail2ban}}? ===
 
=== Qu'est-ce que {{Fail2ban}}? ===
  
{{Fail2ban}} lit des fichiers de ''log'' comme <tt>/var/log/pwdfail</tt> ou <tt>/var/log/apache/error_log</tt> et bannit les adresses IP qui ont obtenu un trop grand nombre d'échecs lors de l'authentification. Il met à jour les règles du pare-feu pour rejeter cette adresse IP. Ces règles peuvent êtres défines par l'utilisateur. {{Fail2ban}} peut lire plusieurs fichiers de ''log'' comme ceux de sshd ou du serveur Apache.
+
{{Fail2ban}} lit des fichiers de ''log'' comme <tt>/var/log/pwdfail</tt> ou <tt>/var/log/apache/error_log</tt> et bannit les adresses IP qui ont obtenu un trop grand nombre d'échecs lors de l'authentification. Il met à jour les règles du pare-feu pour rejeter cette adresse IP. Ces règles peuvent êtres défines par l'utilisateur. {{Fail2ban}} peut lire plusieurs fichiers de ''log'' comme ceux de sshd ou du serveur Apache.
  
 
=== Est-ce que {{Fail2ban}} est un logiciel libre? ===
 
=== Est-ce que {{Fail2ban}} est un logiciel libre? ===
  
{{Fail2ban}} est un logiciel libre; vous pouvez le distribuer et/ou le modifier sous les termes de la licence ''GNU General Public License'' comme publiée par la ''Free Software Foundation''; soit dans la version 2 de cette license, ou (selon votre choix) dans les termes d'une version postérieure.
+
{{Fail2ban}} est un logiciel libre; vous pouvez le distribuer et/ou le modifier sous les termes de la licence ''GNU General Public License'' comme publiée par la ''Free Software Foundation''; soit dans la version 2 de cette license, ou (selon votre choix) dans les termes d'une version postérieure.
  
 
=== De quoi ai-je besoin pour utiliser {{Fail2ban}}? ===
 
=== De quoi ai-je besoin pour utiliser {{Fail2ban}}? ===
  
Les prérequis sont énoncés à la section [[Requirements]].
+
Les prérequis sont énoncés à la section [[Requirements]].
  
=== Que signifient les numéros de version de Fail2ban? ===
+
=== Que signifient les numéros de version de Fail2ban? ===
  
La structure des numéros de version est ''majeur.mineur.revision''. Actuellement le chiffre ''majeur'' est 0. La politique pour ''mineur'' est:
+
La structure des numéros de version est ''majeur.mineur.revision''. Actuellement le chiffre ''majeur'' est 0. La politique pour ''mineur'' est:
  
*'''nombres impairs''' (0.5, 0.7, etc) pour les versions de développement.
+
*'''nombres impairs''' (0.5, 0.7, etc) pour les versions de développement.
 
*'''nombres pairs''' (0.6, 0.8, etc) pour les versions stables.
 
*'''nombres pairs''' (0.6, 0.8, etc) pour les versions stables.
  
Les nouvelles fonctions, reconstructions du code, configurations ou modifications de l'API sont principalement effectuées dans les versions de développement. Les versions stables contiennent des corrections relatives à la sécurité et de légères améliorations qui ont peu de chance de poser des problèmes.
+
Les nouvelles fonctions, reconstructions du code, configurations ou modifications de l'API sont principalement effectuées dans les versions de développement. Les versions stables contiennent des corrections relatives à la sécurité et de légères améliorations qui ont peu de chance de poser des problèmes.
  
Les révisions sont appelées ''alpha'', ''beta'', ''release candidate'' et ''stable''. Les versions stables, même en version mineur sont toujours appelées ''stable''. Les versions de développement sont d'abord appelées ''alpha'', puis quand leur stabilité s'améliore, ''beta'' et finalement ''release candidate'' quand l'application est proche de la stabilité.
+
Les révisions sont appelées ''alpha'', ''beta'', ''release candidate'' et ''stable''. Les versions stables, même en version mineur sont toujours appelées ''stable''. Les versions de développement sont d'abord appelées ''alpha'', puis quand leur stabilité s'améliore, ''beta'' et finalement ''release candidate'' quand l'application est proche de la stabilité.
  
 
=== Comment demander de l'aide ou signaler un bug, ou proposer une nouvelle fonction? ===
 
=== Comment demander de l'aide ou signaler un bug, ou proposer une nouvelle fonction? ===
  
Premièrement, essayez de trouver une réponse sur ce site. Lisez la [[FAQ]], le [[Manuel]] et regardez les [[HOWTOs]]. Recherchez sur les archives des [http://sourceforge.net/mail/?group_id=121032 mailing lists] et regardez sur les [http://sourceforge.net/tracker/?group_id=121032 trackers]. Si vous ne trouvez aucune réponse, inscrivez-vous à cette [https://lists.sourceforge.net/lists/listinfo/fail2ban-users mailing list] et posez votre question. L'inscription est obligatoire afin d'éviter le spam.
+
Premièrement, essayez de trouver une réponse sur ce site. Lisez la [[FAQ]], le [[Manuel]] et regardez les [[HOWTOs]]. Recherchez sur les archives des [http://sourceforge.net/mail/?group_id=121032 mailing lists] et regardez sur les [http://sourceforge.net/tracker/?group_id=121032 trackers]. Si vous ne trouvez aucune réponse, inscrivez-vous à cette [https://lists.sourceforge.net/lists/listinfo/fail2ban-users mailing list] et posez votre question. L'inscription est obligatoire afin d'éviter le spam.
  
Si vous êtes convaincu d'avoir trouvé un bug, vous pouvez créer directement un nouveau billet [http://sourceforge.net/tracker/?group_id=121032&atid=689044 ici].
+
Si vous êtes convaincu d'avoir trouvé un bug, vous pouvez créer directement un nouveau billet [http://sourceforge.net/tracker/?group_id=121032&atid=689044 ici].
  
Si vous voulez demander une nouvelle fonction, créez un nouveau billet [http://sourceforge.net/tracker/?group_id=121032&atid=689047 ici].
+
Si vous voulez demander une nouvelle fonction, créez un nouveau billet [http://sourceforge.net/tracker/?group_id=121032&atid=689047 ici].
  
Dans les deux cas, merci de vérifier d'abord qu'aucun bug similaire ou qu'une telle demande n'aie déjà été faite.
+
Dans les deux cas, merci de vérifier d'abord qu'aucun bug similaire ou qu'une telle demande n'aie déjà été faite.
  
 
Dans n'importe quel cas, si vous demandez de l'aide, merci de donner les informations suivantes:
 
Dans n'importe quel cas, si vous demandez de l'aide, merci de donner les informations suivantes:
Line 38: Line 39:
 
* La version de {{Fail2ban}} que vous utilisez (essayez '''-V''' ou '''--version''')
 
* La version de {{Fail2ban}} que vous utilisez (essayez '''-V''' ou '''--version''')
 
* Votre version de Python
 
* Votre version de Python
* La façon dont vous avez installé {{Fail2ban}} (sources, .deb, .rpm, etc)
+
* La façon dont vous avez installé {{Fail2ban}} (sources, .deb, .rpm, etc)
 
* Les parties importantes de vos fichiers de configuration de {{Fail2ban}}
 
* Les parties importantes de vos fichiers de configuration de {{Fail2ban}}
 
* Le contenu des logs de {{Fail2ban}} en utilisant le mode DEBUG ('''-vvv''' et '''loglevel = 4''')
 
* Le contenu des logs de {{Fail2ban}} en utilisant le mode DEBUG ('''-vvv''' et '''loglevel = 4''')
  
Et bien sûr, n'oubliez pas de décrire clairement votre problème.
+
Et bien sûr, n'oubliez pas de décrire clairement votre problème.
  
 
== Installation ==
 
== Installation ==
Line 48: Line 49:
 
=== Existe-t-il des paquets RPM/DEB pour {{Fail2ban}}? ===
 
=== Existe-t-il des paquets RPM/DEB pour {{Fail2ban}}? ===
  
Évidemment. Merci de regarder la section [[Downloads]].
+
Évidemment. Merci de regarder la section [[Downloads]].
  
 
=== Comment est-ce que je peux installer {{Fail2ban}} depuis un paquet RPM/DEB/gentoo? ===
 
=== Comment est-ce que je peux installer {{Fail2ban}} depuis un paquet RPM/DEB/gentoo? ===
Line 60: Line 61:
 
  rpm --rebuild fail2ban-X.X.X.src.rpm
 
  rpm --rebuild fail2ban-X.X.X.src.rpm
  
Après ceci, un rpm binaire sera placé dans le répertoire <tt>/usr/src/RPM/RPMS/ix86</tt>.
+
Après ceci, un rpm binaire sera placé dans le répertoire <tt>/usr/src/RPM/RPMS/ix86</tt>.
  
 
  rpm -ihv /usr/src/RPM/RPMS/ix86/fail2ban-X.X.X.rpm
 
  rpm -ihv /usr/src/RPM/RPMS/ix86/fail2ban-X.X.X.rpm
  
Contrôlez au préalable que votre PATH correspond bien à <tt>/usr/src/RPM/RPMS/ix86/</tt> avant d'effectuer une autre opération
+
Contrôlez au préalable que votre PATH correspond bien à <tt>/usr/src/RPM/RPMS/ix86/</tt> avant d'effectuer une autre opération
  
Si vous désirez installer {{Fail2ban}} à l'aide d'un paquet .deb :
+
Si vous désirez installer {{Fail2ban}} à l'aide d'un paquet .deb :
  
 
  dpkg -i fail2ban-X.X.X.deb
 
  dpkg -i fail2ban-X.X.X.deb
  
Si vous désirez installer {{Fail2ban}} sur gentoo:
+
Si vous désirez installer {{Fail2ban}} sur gentoo:
  
 
  emerge fail2ban
 
  emerge fail2ban
Line 76: Line 77:
 
=== Comment est-ce que je peux lancer {{Fail2ban}} sans l'installer? ===
 
=== Comment est-ce que je peux lancer {{Fail2ban}} sans l'installer? ===
  
Il est possible de lancer {{Fail2ban}} sans l'installer? {{Fail2ban}} est écrit en Python et ne nécessite pas d'être compilé. Si vous voulez tester rapidement {{Fail2ban}} ou si vous l'avez déjà installé et voulez tester une nouvelle version, suivez ces instructions (pour les versions supérieures ou égales à la 0.7.x):
+
Il est possible de lancer {{Fail2ban}} sans l'installer? {{Fail2ban}} est écrit en Python et ne nécessite pas d'être compilé. Si vous voulez tester rapidement {{Fail2ban}} ou si vous l'avez déjà installé et voulez tester une nouvelle version, suivez ces instructions (pour les versions supérieures ou égales à la 0.7.x):
  
* [[Downloads|Téléchargez]] la source (release ou nightly)
+
* [[Downloads|Téléchargez]] la source (release ou nightly)
* Décompressez-la quelque part dans votre système.
+
* Décompressez-la quelque part dans votre système.
* Vous devriez obtenir un dossier nommé ''fail2ban-*''. Entrez dans ce dossier.
+
* Vous devriez obtenir un dossier nommé ''fail2ban-*''. Entrez dans ce dossier.
 
* Modifiez la configuration dans ''config/''.
 
* Modifiez la configuration dans ''config/''.
 
** Modifiez l'option '''socket''' dans ''fail2ban.conf''.
 
** Modifiez l'option '''socket''' dans ''fail2ban.conf''.
 
** Modifiez l'option '''logtarget''' dans ''fail2ban.conf''.
 
** Modifiez l'option '''logtarget''' dans ''fail2ban.conf''.
** N'oubliez pas de modifier ''jail.conf'' également.
+
** N'oubliez pas de modifier ''jail.conf'' également.
* Utilisez ''fail2ban-client'' pour démarrer ''fail2ban-server''. N'oubliez pas de lui indiquer trouver la configuration:
+
* Utilisez ''fail2ban-client'' pour démarrer ''fail2ban-server''. N'oubliez pas de lui indiquer où trouver la configuration:
 
  ./fail2ban-client -c config/ start
 
  ./fail2ban-client -c config/ start
* Utilisez toujours l'option '''-c''' pour d'autres appels à ''fail2ban-client''. N'oubliez pas non plus le '''./''' avant. Voici un autre exemple:
+
* Utilisez toujours l'option '''-c''' pour d'autres appels à ''fail2ban-client''. N'oubliez pas non plus le '''./''' avant. Voici un autre exemple:
 
  ./fail2ban-client -c config/ status
 
  ./fail2ban-client -c config/ status
* Arrêtez {{Fail2ban}} avec:
+
* Arrêtez {{Fail2ban}} avec:
 
  ./fail2ban-client -c config/ stop
 
  ./fail2ban-client -c config/ stop
  
Les gens souhaitant bidouiller {{Fail2ban}} peuvent également suivre cette procédure pour tester rapidement leurs modifications.
+
Les gens souhaitant bidouiller {{Fail2ban}} peuvent également suivre cette procédure pour tester rapidement leurs modifications.
  
 
== '''Configuration''' ==
 
== '''Configuration''' ==
Line 98: Line 99:
 
=== Quel est le principal fichier de configuration de {{Fail2ban}}? ===
 
=== Quel est le principal fichier de configuration de {{Fail2ban}}? ===
  
Le processus de configuration de {{Fail2ban}} est très simple. Il n'y a qu'un fichier de configuration, {{Fail2ban}} peut être entièrement configuré; ce fichier est: <tt>/etc/fail2ban.conf</tt>
+
Le processus de configuration de {{Fail2ban}} est très simple. Il n'y a qu'un fichier de configuration, où {{Fail2ban}} peut être entièrement configuré; ce fichier est: <tt>/etc/fail2ban.conf</tt>
  
Vous pouvez modifier ce fichier en utilisant l'éditeur de votre choix: vim, emacs, joe, ae...
+
Vous pouvez modifier ce fichier en utilisant l'éditeur de votre choix: vim, emacs, joe, ae...
  
Le fichier de configuration doit être modifié par le '''root'''.
+
Le fichier de configuration doit être modifié par le '''root'''.
  
 
=== Comment dois-je faire pour configurer {{Fail2ban}}? ===
 
=== Comment dois-je faire pour configurer {{Fail2ban}}? ===
  
Cette étape est entièrement décrite dans le chapitre [[HOWTOs]].
+
Cette étape est entièrement décrite dans le chapitre [[HOWTOs]].
  
== Sécurité ==
+
== Sécurité ==
  
 
=== A quoi dois-je faire attention quand j'utilise {{Fail2ban}}? ===
 
=== A quoi dois-je faire attention quand j'utilise {{Fail2ban}}? ===
  
Particulièrement sur les systèmes qui donnent accès aux services SSH/CGI/PHP à des utilisateurs inconnus, il est possible de bloquer d'autres utilisateurs de SSH et probablement d'autres services. Comment un utilisateur ferait-il? Cela pourrait ressembler à:
+
Particulièrement sur les systèmes qui donnent accès aux services SSH/CGI/PHP à des utilisateurs inconnus, il est possible de bloquer d'autres utilisateurs de SSH et probablement d'autres services. Comment un utilisateur ferait-il? Cela pourrait ressembler à:
  
 
  logger -p auth.warning -t 'sshd[123]' 'Illegal user user1 from 1.2.3.4'
 
  logger -p auth.warning -t 'sshd[123]' 'Illegal user user1 from 1.2.3.4'
  
Ou bien l'utilisateur malveillant pourrait écrire via la fonction <tt>openlog()/syslog()</tt> de PHP vers le syslog.
+
Ou bien l'utilisateur malveillant pourrait écrire via la fonction <tt>openlog()/syslog()</tt> de PHP vers le syslog.
  
'''Solution #1''': Ce problème de sécurité peut être réglé via l'appartenance/les permissions de ''/dev/log'', qui par défaut autorise le logging à tous les utilisateurs. Créez simplement un groupe log, et tous les démons de ce groupe ainsi que le root en seront ravis.
+
'''Solution #1''': Ce problème de sécurité peut être réglé via l'appartenance/les permissions de ''/dev/log'', qui par défaut autorise le logging à tous les utilisateurs. Créez simplement un groupe log, et tous les démons de ce groupe ainsi que le root en seront ravis.
  
 
=== Qu'en est-il du ''log injection''? ===
 
=== Qu'en est-il du ''log injection''? ===
  
{{Fail2ban}} analyse les fichiers de log d'autres services et il peut ainsi être vulnérable au ''log injection''. Daniel.B Cid décrit ce type de problème dans [http://www.ossec.net/en/attacking-loganalysis.html Attacking Log analysis tools]. Je vous recommande fortement de lire cet article. Nous essaierons toujours de fournir les meilleurs fichiers de configuration. Cependant, vous pouvez utiliser '''fail2ban-regex''' pour vérifier si votre configuration résiste à ce type d'attaque.
+
{{Fail2ban}} analyse les fichiers de log d'autres services et il peut ainsi être vulnérable au ''log injection''. Daniel.B Cid décrit ce type de problème dans [http://www.ossec.net/en/attacking-loganalysis.html Attacking Log analysis tools]. Je vous recommande fortement de lire cet article. Nous essaierons toujours de fournir les meilleurs fichiers de configuration. Cependant, vous pouvez utiliser '''fail2ban-regex''' pour vérifier si votre configuration résiste à ce type d'attaque.
  
== Dépannage ==
+
== Dépannage ==
  
=== J'utilise Postfix sur mon système mais je n'ai pas de commande "mail". Comment recevoir les notifications par mail? ===
+
=== J'utilise Postfix sur mon système mais je n'ai pas de commande "mail". Comment recevoir les notifications par mail? ===
  
 
Vous disposez probablement de la commande ''sendmail''. Copiez ''/etc/fail2ban/action.d/mail-whois.conf'' vers ''/etc/fail2ban/action.d/mail-whois.local'', modifiez ce fichier et remplacez ''mail'' par ''sendmail''. Voici un exemple:
 
Vous disposez probablement de la commande ''sendmail''. Copiez ''/etc/fail2ban/action.d/mail-whois.conf'' vers ''/etc/fail2ban/action.d/mail-whois.local'', modifiez ce fichier et remplacez ''mail'' par ''sendmail''. Voici un exemple:
Line 141: Line 142:
 
             Fail2Ban"|sendmail -t
 
             Fail2Ban"|sendmail -t
  
''mail.conf'' peut être également modifié.
+
''mail.conf'' peut être également modifié.
  
=== Pouquoi les utilisateurs de mon CVS qui utilisent SSH sont bloqués? ===
+
=== Pouquoi les utilisateurs de mon CVS qui utilisent SSH sont bloqués? ===
  
Si vous utilisez l'intégration SSH de Eclipse CVS, alors chaque accès au CVS entraîne un échec de connexion avant qu'une bonne connexion soit établie. Par conséquent les utilisateurs de votre CVS sont bloqués de temps en temps.
+
Si vous utilisez l'intégration SSH de Eclipse CVS, alors chaque accès au CVS entraîne un échec de connexion avant qu'une bonne connexion soit établie. Par conséquent les utilisateurs de votre CVS sont bloqués de temps en temps.
  
 
=== J'ai l'erreur "Please check the format and your locale settings" ===
 
=== J'ai l'erreur "Please check the format and your locale settings" ===
  
L'erreur ressemble à ceci:
+
L'erreur ressemble à ceci:
  
 
  ERROR: time data did not match format: data=Mar 21 10:00:50 fmt=%b %d %H:%M:%S
 
  ERROR: time data did not match format: data=Mar 21 10:00:50 fmt=%b %d %H:%M:%S
 
  ERROR: Please check the format and your locale settings.
 
  ERROR: Please check the format and your locale settings.
  
C'est un bug connu. Depuis la version 0.6.1, {{Fail2ban}} utilise vos paramètres locaux pour déterminer le format de la date et de l'heure. Cependant, certains démons ne prennent pas ces paramètres en compte et écrivent leurs logs en utilisant le standard POSIX. Jetez un coup d'oeuil à ce [http://sourceforge.net/tracker/index.php?func=detail&aid=1457620&group_id=121032&atid=689044 bug] pour plus de détails.
+
C'est un bug connu. Depuis la version 0.6.1, {{Fail2ban}} utilise vos paramètres locaux pour déterminer le format de la date et de l'heure. Cependant, certains démons ne prennent pas ces paramètres en compte et écrivent leurs logs en utilisant le standard POSIX. Jetez un coup d'oeuil à ce [http://sourceforge.net/tracker/index.php?func=detail&aid=1457620&group_id=121032&atid=689044 bug] pour plus de détails.
  
 
Vous pouvez essayer d'outrepasser la variable LANG:
 
Vous pouvez essayer d'outrepasser la variable LANG:
Line 164: Line 165:
 
  # locale -a
 
  # locale -a
  
=== Comment augmenter la verbosité? ===
+
=== Comment augmenter la verbosité? ===
  
Pour rendre {{Fail2ban}} plus bavard, vous pouvez utiliser l'option '''-vvv''' avec '''fail2ban-client''' et '''fail2ban''' (seulement pour la version 0.6.x). Paramètrez ''loglevel'' à ''4'' dans ''/etc/fail2ban/fail2ban.conf'' (seulement pour les versions > 0.6.x).
+
Pour rendre {{Fail2ban}} plus bavard, vous pouvez utiliser l'option '''-vvv''' avec '''fail2ban-client''' et '''fail2ban''' (seulement pour la version 0.6.x). Paramètrez ''loglevel'' à ''4'' dans ''/etc/fail2ban/fail2ban.conf'' (seulement pour les versions > 0.6.x).
  
 
[[Category:Documentation]]
 
[[Category:Documentation]]

Revision as of 21:06, 10 October 2007

trocouget

Général

Qu'est-ce que Fail2ban?

Fail2ban lit des fichiers de log comme /var/log/pwdfail ou /var/log/apache/error_log et bannit les adresses IP qui ont obtenu un trop grand nombre d'échecs lors de l'authentification. Il met à jour les règles du pare-feu pour rejeter cette adresse IP. Ces règles peuvent êtres défines par l'utilisateur. Fail2ban peut lire plusieurs fichiers de log comme ceux de sshd ou du serveur Apache.

Est-ce que Fail2ban est un logiciel libre?

Fail2ban est un logiciel libre; vous pouvez le distribuer et/ou le modifier sous les termes de la licence GNU General Public License comme publiée par la Free Software Foundation; soit dans la version 2 de cette license, ou (selon votre choix) dans les termes d'une version postérieure.

De quoi ai-je besoin pour utiliser Fail2ban?

Les prérequis sont énoncés à la section Requirements.

Que signifient les numéros de version de Fail2ban?

La structure des numéros de version est majeur.mineur.revision. Actuellement le chiffre majeur est 0. La politique pour mineur est:

  • nombres impairs (0.5, 0.7, etc) pour les versions de développement.
  • nombres pairs (0.6, 0.8, etc) pour les versions stables.

Les nouvelles fonctions, reconstructions du code, configurations ou modifications de l'API sont principalement effectuées dans les versions de développement. Les versions stables contiennent des corrections relatives à la sécurité et de légères améliorations qui ont peu de chance de poser des problèmes.

Les révisions sont appelées alpha, beta, release candidate et stable. Les versions stables, même en version mineur sont toujours appelées stable. Les versions de développement sont d'abord appelées alpha, puis quand leur stabilité s'améliore, beta et finalement release candidate quand l'application est proche de la stabilité.

Comment demander de l'aide ou signaler un bug, ou proposer une nouvelle fonction?

Premièrement, essayez de trouver une réponse sur ce site. Lisez la FAQ, le Manuel et regardez les HOWTOs. Recherchez sur les archives des mailing lists et regardez sur les trackers. Si vous ne trouvez aucune réponse, inscrivez-vous à cette mailing list et posez votre question. L'inscription est obligatoire afin d'éviter le spam.

Si vous êtes convaincu d'avoir trouvé un bug, vous pouvez créer directement un nouveau billet ici.

Si vous voulez demander une nouvelle fonction, créez un nouveau billet ici.

Dans les deux cas, merci de vérifier d'abord qu'aucun bug similaire ou qu'une telle demande n'aie déjà été faite.

Dans n'importe quel cas, si vous demandez de l'aide, merci de donner les informations suivantes:

  • La version de Fail2ban que vous utilisez (essayez -V ou --version)
  • Votre version de Python
  • La façon dont vous avez installé Fail2ban (sources, .deb, .rpm, etc)
  • Les parties importantes de vos fichiers de configuration de Fail2ban
  • Le contenu des logs de Fail2ban en utilisant le mode DEBUG (-vvv et loglevel = 4)

Et bien sûr, n'oubliez pas de décrire clairement votre problème.

Installation

Existe-t-il des paquets RPM/DEB pour Fail2ban?

Évidemment. Merci de regarder la section Downloads.

Comment est-ce que je peux installer Fail2ban depuis un paquet RPM/DEB/gentoo?

Si vous utilisez rpm :

rpm -ivh fail2ban-X.X.X.rpm

Si vous devez installer un src.rpm (paquet source), utilisez les instructions suivantes :

rpm --rebuild fail2ban-X.X.X.src.rpm

Après ceci, un rpm binaire sera placé dans le répertoire /usr/src/RPM/RPMS/ix86.

rpm -ihv /usr/src/RPM/RPMS/ix86/fail2ban-X.X.X.rpm

Contrôlez au préalable que votre PATH correspond bien à /usr/src/RPM/RPMS/ix86/ avant d'effectuer une autre opération

Si vous désirez installer Fail2ban à l'aide d'un paquet .deb :

dpkg -i fail2ban-X.X.X.deb

Si vous désirez installer Fail2ban sur gentoo:

emerge fail2ban

Comment est-ce que je peux lancer Fail2ban sans l'installer?

Il est possible de lancer Fail2ban sans l'installer? Fail2ban est écrit en Python et ne nécessite pas d'être compilé. Si vous voulez tester rapidement Fail2ban ou si vous l'avez déjà installé et voulez tester une nouvelle version, suivez ces instructions (pour les versions supérieures ou égales à la 0.7.x):

  • Téléchargez la source (release ou nightly)
  • Décompressez-la quelque part dans votre système.
  • Vous devriez obtenir un dossier nommé fail2ban-*. Entrez dans ce dossier.
  • Modifiez la configuration dans config/.
    • Modifiez l'option socket dans fail2ban.conf.
    • Modifiez l'option logtarget dans fail2ban.conf.
    • N'oubliez pas de modifier jail.conf également.
  • Utilisez fail2ban-client pour démarrer fail2ban-server. N'oubliez pas de lui indiquer où trouver la configuration:
./fail2ban-client -c config/ start
  • Utilisez toujours l'option -c pour d'autres appels à fail2ban-client. N'oubliez pas non plus le ./ avant. Voici un autre exemple:
./fail2ban-client -c config/ status
  • Arrêtez Fail2ban avec:
./fail2ban-client -c config/ stop

Les gens souhaitant bidouiller Fail2ban peuvent également suivre cette procédure pour tester rapidement leurs modifications.

Configuration

Quel est le principal fichier de configuration de Fail2ban?

Le processus de configuration de Fail2ban est très simple. Il n'y a qu'un fichier de configuration, où Fail2ban peut être entièrement configuré; ce fichier est: /etc/fail2ban.conf

Vous pouvez modifier ce fichier en utilisant l'éditeur de votre choix: vim, emacs, joe, ae...

Le fichier de configuration doit être modifié par le root.

Comment dois-je faire pour configurer Fail2ban?

Cette étape est entièrement décrite dans le chapitre HOWTOs.

Sécurité

A quoi dois-je faire attention quand j'utilise Fail2ban?

Particulièrement sur les systèmes qui donnent accès aux services SSH/CGI/PHP à des utilisateurs inconnus, il est possible de bloquer d'autres utilisateurs de SSH et probablement d'autres services. Comment un utilisateur ferait-il? Cela pourrait ressembler à:

logger -p auth.warning -t 'sshd[123]' 'Illegal user user1 from 1.2.3.4'

Ou bien l'utilisateur malveillant pourrait écrire via la fonction openlog()/syslog() de PHP vers le syslog.

Solution #1: Ce problème de sécurité peut être réglé via l'appartenance/les permissions de /dev/log, qui par défaut autorise le logging à tous les utilisateurs. Créez simplement un groupe log, et tous les démons de ce groupe ainsi que le root en seront ravis.

Qu'en est-il du log injection?

Fail2ban analyse les fichiers de log d'autres services et il peut ainsi être vulnérable au log injection. Daniel.B Cid décrit ce type de problème dans Attacking Log analysis tools. Je vous recommande fortement de lire cet article. Nous essaierons toujours de fournir les meilleurs fichiers de configuration. Cependant, vous pouvez utiliser fail2ban-regex pour vérifier si votre configuration résiste à ce type d'attaque.

Dépannage

J'utilise Postfix sur mon système mais je n'ai pas de commande "mail". Comment recevoir les notifications par mail?

Vous disposez probablement de la commande sendmail. Copiez /etc/fail2ban/action.d/mail-whois.conf vers /etc/fail2ban/action.d/mail-whois.local, modifiez ce fichier et remplacez mail par sendmail. Voici un exemple:

actionban = echo -en "From:root <fail2ban>
            To: <dest>
            Subject: [Fail2Ban] <name>: banned <ip>
            Hi,\n
            The IP <ip> has just been banned by Fail2Ban after
            <failures> attempts against <name>.\n\n
            Here are more information about <ip>:\n
            `whois <ip>`\n
            Regards,\n
            Fail2Ban"|sendmail -t

mail.conf peut être également modifié.

Pouquoi les utilisateurs de mon CVS qui utilisent SSH sont bloqués?

Si vous utilisez l'intégration SSH de Eclipse CVS, alors chaque accès au CVS entraîne un échec de connexion avant qu'une bonne connexion soit établie. Par conséquent les utilisateurs de votre CVS sont bloqués de temps en temps.

J'ai l'erreur "Please check the format and your locale settings"

L'erreur ressemble à ceci:

ERROR: time data did not match format: data=Mar 21 10:00:50 fmt=%b %d %H:%M:%S
ERROR: Please check the format and your locale settings.

C'est un bug connu. Depuis la version 0.6.1, Fail2ban utilise vos paramètres locaux pour déterminer le format de la date et de l'heure. Cependant, certains démons ne prennent pas ces paramètres en compte et écrivent leurs logs en utilisant le standard POSIX. Jetez un coup d'oeuil à ce bug pour plus de détails.

Vous pouvez essayer d'outrepasser la variable LANG:

# LANG=en_US /etc/init.d/fail2ban restart

Vous pouvez afficher toutes les valeurs possibles pour locale avec:

# locale -a

Comment augmenter la verbosité?

Pour rendre Fail2ban plus bavard, vous pouvez utiliser l'option -vvv avec fail2ban-client et fail2ban (seulement pour la version 0.6.x). Paramètrez loglevel à 4 dans /etc/fail2ban/fail2ban.conf (seulement pour les versions > 0.6.x).