<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Commentaires sur : Bannir définitivement les IP bannies fréquemment par Fail2ban	</title>
	<atom:link href="https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/</link>
	<description>Où l&#039;on parle de site internet, blog, serveur dédié et d&#039;informatique en général</description>
	<lastBuildDate>Fri, 23 Jun 2017 10:22:52 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>
		Par : Piotr58		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-371</link>

		<dc:creator><![CDATA[Piotr58]]></dc:creator>
		<pubDate>Fri, 23 Jun 2017 10:22:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-371</guid>

					<description><![CDATA[Ola,

Je pense avoir compris ce qui se passe.
Sur mon serveur Stretch, j&#039;ai à la fois des ligne &quot;WARNING&quot; et des lignes &quot;NOTICE&quot; dans les logs fail2ban. Avec les lignes &quot;WARNING&quot; le n° IP des bannissement est le 7ème champ. Par contre, dans les lignes &quot;NOTICE&quot;, c&#039;est le 8ème…

Si je pars du principe que tu test les lignes WARNING, je propose de les extraire du log avant de lancer le script :
 # grep &#039; WARNING &#039; /var/log/fail2ban &#062; [Fichier temporaire]
 # ./ban-them.py -v -s [Fichier temporaire]

Cela permet également de jumeler la recherche des IP bannies dans les 2 derniers fichiers de log. On peut lancer ça dans le cron :
0 * * * * (cat /var/log/fail2ban{,.1} &#062; /chemin/vers/le/script/fail2ban.log &#038;&#038; /chemin/vers/le/script/ban-them -s /chemin/vers/le/script/fail2ban.log)

A+]]></description>
			<content:encoded><![CDATA[<p>Ola,</p>
<p>Je pense avoir compris ce qui se passe.<br />
Sur mon serveur Stretch, j&rsquo;ai à la fois des ligne « WARNING » et des lignes « NOTICE » dans les logs fail2ban. Avec les lignes « WARNING » le n° IP des bannissement est le 7ème champ. Par contre, dans les lignes « NOTICE », c&rsquo;est le 8ème…</p>
<p>Si je pars du principe que tu test les lignes WARNING, je propose de les extraire du log avant de lancer le script :<br />
 # grep &lsquo; WARNING &lsquo; /var/log/fail2ban &gt; [Fichier temporaire]<br />
 # ./ban-them.py -v -s [Fichier temporaire]</p>
<p>Cela permet également de jumeler la recherche des IP bannies dans les 2 derniers fichiers de log. On peut lancer ça dans le cron :<br />
0 * * * * (cat /var/log/fail2ban{,.1} &gt; /chemin/vers/le/script/fail2ban.log &amp;&amp; /chemin/vers/le/script/ban-them -s /chemin/vers/le/script/fail2ban.log)</p>
<p>A+</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Piotr58		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-370</link>

		<dc:creator><![CDATA[Piotr58]]></dc:creator>
		<pubDate>Fri, 23 Jun 2017 08:29:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-370</guid>

					<description><![CDATA[Dommage, ça avait pourtant bien commencé…

Voici la forme des lignes générée par le script &quot;sort-fail2ban-log.sh&quot; avec les champs 6 et 8 :
./sort-fail2ban-log.sh /var/log/fail2ban.log
      3 [sshd] 
      3 [recidive] 
      2 [ssh-iptables-ipset6] 

Je pensais que c&#039;était bon, ben non, voilà ce que ça donne :
# ./ban-them.py -v
iptables v1.6.0: host/network `Ban&#039; not found
Try `iptables -h&#039; or &#039;iptables --help&#039; for more information.
Traceback (most recent call last):
  File &quot;./ban-them.py&quot;, line 171, in 
    main(sys.argv[1:])
  File &quot;./ban-them.py&quot;, line 163, in main
    ipt_result = subprocess.check_output([&quot;/sbin/iptables&quot;, &quot;-A&quot;, &quot;ban-them&quot;, &quot;-s&quot;, row[1], &quot;-j&quot;, &quot;DROP&quot;])
  File &quot;/usr/lib/python3.5/subprocess.py&quot;, line 316, in check_output
    **kwargs).stdout
  File &quot;/usr/lib/python3.5/subprocess.py&quot;, line 398, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command &#039;[&#039;/sbin/iptables&#039;, &#039;-A&#039;, &#039;ban-them&#039;, &#039;-s&#039;, &#039;Ban&#039;, &#039;-j&#039;, &#039;DROP&#039;]&#039; returned non-zero exit status 2]]></description>
			<content:encoded><![CDATA[<p>Dommage, ça avait pourtant bien commencé…</p>
<p>Voici la forme des lignes générée par le script « sort-fail2ban-log.sh » avec les champs 6 et 8 :<br />
./sort-fail2ban-log.sh /var/log/fail2ban.log<br />
      3 [sshd]<br />
      3 [recidive]<br />
      2 [ssh-iptables-ipset6] </p>
<p>Je pensais que c&rsquo;était bon, ben non, voilà ce que ça donne :<br />
# ./ban-them.py -v<br />
iptables v1.6.0: host/network `Ban&rsquo; not found<br />
Try `iptables -h&rsquo; or &lsquo;iptables &#8211;help&rsquo; for more information.<br />
Traceback (most recent call last):<br />
  File « ./ban-them.py », line 171, in<br />
    main(sys.argv[1:])<br />
  File « ./ban-them.py », line 163, in main<br />
    ipt_result = subprocess.check_output([« /sbin/iptables », « -A », « ban-them », « -s », row[1], « -j », « DROP »])<br />
  File « /usr/lib/python3.5/subprocess.py », line 316, in check_output<br />
    **kwargs).stdout<br />
  File « /usr/lib/python3.5/subprocess.py », line 398, in run<br />
    output=stdout, stderr=stderr)<br />
subprocess.CalledProcessError: Command &lsquo;[&lsquo;/sbin/iptables&rsquo;, &lsquo;-A&rsquo;, &lsquo;ban-them&rsquo;, &lsquo;-s&rsquo;, &lsquo;Ban&rsquo;, &lsquo;-j&rsquo;, &lsquo;DROP&rsquo;]&rsquo; returned non-zero exit status 2</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Piotr58		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-369</link>

		<dc:creator><![CDATA[Piotr58]]></dc:creator>
		<pubDate>Fri, 23 Jun 2017 07:51:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-369</guid>

					<description><![CDATA[Bonjour et merci de ta réponse,

Voici le genre de lignes contenue à l&#039;exécution de ta commande :
./sort-fail2ban-log.sh /var/log/fail2ban.log
    105 NOTICE Ban

Et voici un exemple de contenu du log :
...
2017-06-22 21:07:01,976 fail2ban.actions        [790]: NOTICE  [sshd] Ban 
2017-06-22 21:07:01,988 fail2ban.filter         [790]: INFO    [recidive] Found 
2017-06-22 21:07:09,227 fail2ban.actions        [790]: NOTICE  [sshd] Unban 
...
2017-06-23 00:46:01,901 fail2ban.actions        [790]: NOTICE  [recidive] [NNN.NNN.NNN.NNN]
...
2017-06-23 00:46:35,732 fail2ban.actions        [766]: NOTICE  [recidive] Ban [NNN.NNN.NNN.NNN]
...

Visiblement il y a eu un décalage dans l&#039;ordre du log. J&#039;ai pris les champs 6 et 8 à la place des champs 5 et 7 et tout est rentré dans l&#039;ordre.

Merci]]></description>
			<content:encoded><![CDATA[<p>Bonjour et merci de ta réponse,</p>
<p>Voici le genre de lignes contenue à l&rsquo;exécution de ta commande :<br />
./sort-fail2ban-log.sh /var/log/fail2ban.log<br />
    105 NOTICE Ban</p>
<p>Et voici un exemple de contenu du log :<br />
&#8230;<br />
2017-06-22 21:07:01,976 fail2ban.actions        [790]: NOTICE  [sshd] Ban<br />
2017-06-22 21:07:01,988 fail2ban.filter         [790]: INFO    [recidive] Found<br />
2017-06-22 21:07:09,227 fail2ban.actions        [790]: NOTICE  [sshd] Unban<br />
&#8230;<br />
2017-06-23 00:46:01,901 fail2ban.actions        [790]: NOTICE  [recidive] [NNN.NNN.NNN.NNN]<br />
&#8230;<br />
2017-06-23 00:46:35,732 fail2ban.actions        [766]: NOTICE  [recidive] Ban [NNN.NNN.NNN.NNN]<br />
&#8230;</p>
<p>Visiblement il y a eu un décalage dans l&rsquo;ordre du log. J&rsquo;ai pris les champs 6 et 8 à la place des champs 5 et 7 et tout est rentré dans l&rsquo;ordre.</p>
<p>Merci</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Etienne		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-368</link>

		<dc:creator><![CDATA[Etienne]]></dc:creator>
		<pubDate>Fri, 23 Jun 2017 07:06:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-368</guid>

					<description><![CDATA[En réponse à &lt;a href=&quot;https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-366&quot;&gt;Piotr58&lt;/a&gt;.

Bonjour Piotr58,

Merci pour ton commentaire.

La ligne qui pose problème est celle qui ajoute les adresses IP à bannir à IPTables. Il semblerait dans ton cas qu’une donnée autre qu’une adresse IP a été transmise à la commande (« Ban » dans l’erreur que tu as fourni).

Peux-tu exécuter la commande suivante depuis le répertoire où tu as installé mon script : &lt;code&gt;./sort-fail2ban-log.sh /var/log/fail2ban.log&lt;/code&gt;

Le résultat devrait être une suite de lignes du genre « 15 [ssh] une_adresse_ip ». Si le résultat n’est pas celui-là, je pense que Debian a modifié les logs de Fail2ban dans Debian 9. Dans ce cas, peux-tu me transmettre un extrait des logs de /var/log/fail2ban.log ? Je verrai ensuite comment il faut adapter mon script.]]></description>
			<content:encoded><![CDATA[<p>En réponse à <a href="https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-366">Piotr58</a>.</p>
<p>Bonjour Piotr58,</p>
<p>Merci pour ton commentaire.</p>
<p>La ligne qui pose problème est celle qui ajoute les adresses IP à bannir à IPTables. Il semblerait dans ton cas qu’une donnée autre qu’une adresse IP a été transmise à la commande (« Ban » dans l’erreur que tu as fourni).</p>
<p>Peux-tu exécuter la commande suivante depuis le répertoire où tu as installé mon script : <code>./sort-fail2ban-log.sh /var/log/fail2ban.log</code></p>
<p>Le résultat devrait être une suite de lignes du genre « 15 [ssh] une_adresse_ip ». Si le résultat n’est pas celui-là, je pense que Debian a modifié les logs de Fail2ban dans Debian 9. Dans ce cas, peux-tu me transmettre un extrait des logs de /var/log/fail2ban.log ? Je verrai ensuite comment il faut adapter mon script.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Piotr58		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-366</link>

		<dc:creator><![CDATA[Piotr58]]></dc:creator>
		<pubDate>Thu, 22 Jun 2017 23:25:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-366</guid>

					<description><![CDATA[Bonjour,

C&#039;est vraiment bien mais voici ce que j&#039;ai avec Debian 9 stretch :
# ./ban-them.py -v
iptables v1.6.0: host/network `Ban&#039; not found
Try `iptables -h&#039; or &#039;iptables --help&#039; for more information.
Traceback (most recent call last):
  File &quot;./ban-them.py&quot;, line 170, in 
    main(sys.argv[1:])
  File &quot;./ban-them.py&quot;, line 162, in main
    ipt_result = subprocess.check_output([&quot;/sbin/iptables&quot;, &quot;-A&quot;, &quot;ban-them&quot;, &quot;-s&quot;, row[1], &quot;-j&quot;, &quot;DROP&quot;])
  File &quot;/usr/lib/python3.5/subprocess.py&quot;, line 316, in check_output
    **kwargs).stdout
  File &quot;/usr/lib/python3.5/subprocess.py&quot;, line 398, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command &#039;[&#039;/sbin/iptables&#039;, &#039;-A&#039;, &#039;ban-them&#039;, &#039;-s&#039;, &#039;Ban&#039;, &#039;-j&#039;, &#039;DROP&#039;]&#039; returned non-zero exit status 2

Avec Jessie, ça fonctionne bien semble t&#039;il. Où est l&#039;erreur ? Une idée ?]]></description>
			<content:encoded><![CDATA[<p>Bonjour,</p>
<p>C&rsquo;est vraiment bien mais voici ce que j&rsquo;ai avec Debian 9 stretch :<br />
# ./ban-them.py -v<br />
iptables v1.6.0: host/network `Ban&rsquo; not found<br />
Try `iptables -h&rsquo; or &lsquo;iptables &#8211;help&rsquo; for more information.<br />
Traceback (most recent call last):<br />
  File « ./ban-them.py », line 170, in<br />
    main(sys.argv[1:])<br />
  File « ./ban-them.py », line 162, in main<br />
    ipt_result = subprocess.check_output([« /sbin/iptables », « -A », « ban-them », « -s », row[1], « -j », « DROP »])<br />
  File « /usr/lib/python3.5/subprocess.py », line 316, in check_output<br />
    **kwargs).stdout<br />
  File « /usr/lib/python3.5/subprocess.py », line 398, in run<br />
    output=stdout, stderr=stderr)<br />
subprocess.CalledProcessError: Command &lsquo;[&lsquo;/sbin/iptables&rsquo;, &lsquo;-A&rsquo;, &lsquo;ban-them&rsquo;, &lsquo;-s&rsquo;, &lsquo;Ban&rsquo;, &lsquo;-j&rsquo;, &lsquo;DROP&rsquo;]&rsquo; returned non-zero exit status 2</p>
<p>Avec Jessie, ça fonctionne bien semble t&rsquo;il. Où est l&rsquo;erreur ? Une idée ?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Etienne Grisel		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-363</link>

		<dc:creator><![CDATA[Etienne Grisel]]></dc:creator>
		<pubDate>Thu, 25 May 2017 16:41:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-363</guid>

					<description><![CDATA[En réponse à &lt;a href=&quot;https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-362&quot;&gt;Martial Fitamant&lt;/a&gt;.

Merci Martial :)]]></description>
			<content:encoded><![CDATA[<p>En réponse à <a href="https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-362">Martial Fitamant</a>.</p>
<p>Merci Martial 🙂</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		Par : Martial Fitamant		</title>
		<link>https://www.cybernaute.ch/bannir-definitivement-ip-bannies-frequemment-fail2ban/#comment-362</link>

		<dc:creator><![CDATA[Martial Fitamant]]></dc:creator>
		<pubDate>Thu, 25 May 2017 14:45:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.cybernaute.ch/?p=148#comment-362</guid>

					<description><![CDATA[Excellent script !!!]]></description>
			<content:encoded><![CDATA[<p>Excellent script !!!</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>
