<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://kerlinux.org/w/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://kerlinux.org/w/index.php?feed=atom&amp;namespace=0&amp;title=Sp%C3%A9cial%3ANouvelles_pages</id>
		<title>Wiki - Nouvelles pages [fr]</title>
		<link rel="self" type="application/atom+xml" href="http://kerlinux.org/w/index.php?feed=atom&amp;namespace=0&amp;title=Sp%C3%A9cial%3ANouvelles_pages"/>
		<link rel="alternate" type="text/html" href="http://kerlinux.org/wiki/Sp%C3%A9cial:Nouvelles_pages"/>
		<updated>2026-04-14T15:42:23Z</updated>
		<subtitle>De Wiki.</subtitle>
		<generator>MediaWiki 1.16.0</generator>

	<entry>
		<id>http://kerlinux.org/wiki/Tmux</id>
		<title>Tmux</title>
		<link rel="alternate" type="text/html" href="http://kerlinux.org/wiki/Tmux"/>
				<updated>2013-03-18T16:13:38Z</updated>
		
		<summary type="html">&lt;p&gt;SLiX : A protégé « Tmux » ([edit=sysop] (infini) [move=sysop] (infini)) [protection en cascade]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
[http://tmux.sourceforge.net/ Tmux] est un multiplexeur de terminal. Il permet de découper un terminal en plusieurs sessions de travail avec des fenêtres et panneaux, tout en permettant de les détacher. C'est une sorte de super [http://www.gnu.org/software/screen/ Screen]&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Quelques éléments de configuration, à mettre dans ~/.tmux.conf&lt;br /&gt;
&lt;br /&gt;
=== Couleurs des bordures ===&lt;br /&gt;
Pour que toutes les bordures soient vertes, et que celle du panneau actif soit épaisse:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Set pane divider&lt;br /&gt;
#set -g pane-border-bg black&lt;br /&gt;
set -g pane-border-fg green&lt;br /&gt;
set -g pane-active-border-bg green&lt;br /&gt;
set -g pane-active-border-fg green&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Applications]]&lt;/div&gt;</summary>
		<author><name>SLiX</name></author>	</entry>

	<entry>
		<id>http://kerlinux.org/wiki/Varnish</id>
		<title>Varnish</title>
		<link rel="alternate" type="text/html" href="http://kerlinux.org/wiki/Varnish"/>
				<updated>2013-03-01T15:10:30Z</updated>
		
		<summary type="html">&lt;p&gt;SLiX : A protégé « Varnish » ([edit=sysop] (infini) [move=sysop] (infini)) [protection en cascade]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
[https://www.varnish-cache.org/ Varnish] est un cache HTTP. Il permet d'améliorer les performances de sites Web dynamiques en gardant en mémoire (ou sur un stockage persistent) des versions statiques d'objets générés (PHP, HTML, CSS, JS, images, ...).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Varnishd ==&lt;br /&gt;
&lt;br /&gt;
La configuration des règles de Varnish se fait grâce à un langage appelé VCL, dont voici quelques exemples d'utilisations.&lt;br /&gt;
&lt;br /&gt;
=== Nettoyage de l'en-tête Host ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
    # Suppression des points finaux (.) et ports superflus (ex: kerlinux.org.:80 -&amp;gt; kerlinux.org)&lt;br /&gt;
    set req.http.host = regsub(req.http.host, &amp;quot;\.*(:\d+)*$&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gérer l'en-tête X-Forwarded-For ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
    if (req.restarts == 0) {&lt;br /&gt;
        if (req.http.x-forwarded-for) {&lt;br /&gt;
            set req.http.X-Forwarded-For = req.http.X-Forwarded-For + &amp;quot;, &amp;quot; + client.ip;&lt;br /&gt;
        } else {&lt;br /&gt;
            set req.http.X-Forwarded-For = client.ip;&lt;br /&gt;
        }   &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Normaliser l'en-tête Accept-Encoding ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_rec {&lt;br /&gt;
    if (req.http.Accept-Encoding) {&lt;br /&gt;
        if (req.url ~ &amp;quot;\.(pdf|jpeg|jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$&amp;quot;) {&lt;br /&gt;
            remove req.http.Accept-Encoding;&lt;br /&gt;
        } elsif (req.http.User-Agent ~ &amp;quot;MSIE 6&amp;quot;) {&lt;br /&gt;
            unset req.http.Accept-Encoding;&lt;br /&gt;
        } elsif (req.http.Accept-Encoding ~ &amp;quot;gzip&amp;quot;) {&lt;br /&gt;
            set req.http.Accept-Encoding = &amp;quot;gzip&amp;quot;;&lt;br /&gt;
        } elsif (req.http.Accept-Encoding ~ &amp;quot;deflate&amp;quot;) {&lt;br /&gt;
            set req.http.Accept-Encoding = &amp;quot;deflate&amp;quot;;&lt;br /&gt;
        } elsif (req.http.Accept-Encoding ~ &amp;quot;sdch&amp;quot;) {&lt;br /&gt;
            set req.http.Accept-Encoding = &amp;quot;sdch&amp;quot;;&lt;br /&gt;
        } else {&lt;br /&gt;
            remove req.http.Accept-Encoding;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supprimer certains cookies entrants ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
    if (req.http.Cookie) {&lt;br /&gt;
        # Suppression des cookies &amp;quot;__utm?&amp;quot; de suivi des utilisateurs (Google Analytics)&lt;br /&gt;
        set req.http.Cookie = regsuball(req.http.Cookie, &amp;quot;(^|; ) *__utm.=[^;]*;? *&amp;quot;, &amp;quot;\1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        # Suppression du cookie nommé exactement &amp;quot;MYCOOKIE&amp;quot;&lt;br /&gt;
        set req.http.Cookie = regsuball(req.http.Cookie, &amp;quot;(^|; ) *MYCOOKIE=[^;]*;? *&amp;quot;, &amp;quot;\1&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        # Nettoyage de début et fin de valeur de Cookie&lt;br /&gt;
        set req.http.Cookie = regsuball(req.http.Cookie, &amp;quot;^[; ]+|[; ]+$&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        # Si finalement, il n'y a plus de cookie, suppression de l'en-tête&lt;br /&gt;
        if (req.http.Cookie ~ &amp;quot;^\s*$&amp;quot;) {&lt;br /&gt;
            remove req.http.Cookie;&lt;br /&gt;
        }   &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Activer la gestion des ESI ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
    set req.http.Surrogate-Capability = &amp;quot;abc=ESI/1.0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub sub_fetch {&lt;br /&gt;
    if (beresp.http.Surrogate-Control ~ &amp;quot;ESI/1.0&amp;quot;) {&lt;br /&gt;
        unset beresp.http.Surrogate-Control;&lt;br /&gt;
        set beresp.do_esi = true;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gérer la méthode PURGE ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl purge {&lt;br /&gt;
    &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
    &amp;quot;192.168.0.0&amp;quot;/24;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
   if (req.request == &amp;quot;PURGE&amp;quot;)  {&lt;br /&gt;
        if (!client.ip ~ purge) {&lt;br /&gt;
            error 405 &amp;quot;Not allowed.&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return(lookup);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_hit {&lt;br /&gt;
    if (req.request == &amp;quot;PURGE&amp;quot;) {&lt;br /&gt;
        purge;&lt;br /&gt;
        error 200 &amp;quot;Purged&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_miss {&lt;br /&gt;
    if (req.request == &amp;quot;PURGE&amp;quot;) {&lt;br /&gt;
        error 200 &amp;quot;Not in cache&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilisation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl -X PURGE -H &amp;quot;Host: site-ou-purger&amp;quot; http://varnish-server/url_a_purger.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gérer les méthodes PURGE et BAN ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl purge {&lt;br /&gt;
    &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
    &amp;quot;192.168.0.0&amp;quot;/24;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
   if (req.request == &amp;quot;PURGE&amp;quot; || req.request == &amp;quot;BAN&amp;quot;)  {&lt;br /&gt;
        if (!client.ip ~ purge) {&lt;br /&gt;
            error 405 &amp;quot;Not allowed.&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        if (req.request == &amp;quot;PURGE&amp;quot;) {&lt;br /&gt;
            return (lookup);&lt;br /&gt;
&lt;br /&gt;
        } elsif (req.request == &amp;quot;BAN&amp;quot;) {&lt;br /&gt;
            ban (&amp;quot;req.http.host == &amp;quot; + req.http.host + &amp;quot; &amp;amp;&amp;amp; req.url == &amp;quot; + req.url);&lt;br /&gt;
            error 200 &amp;quot;Ban added&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_hit {&lt;br /&gt;
    if (req.request == &amp;quot;PURGE&amp;quot;) {&lt;br /&gt;
        purge;&lt;br /&gt;
        error 200 &amp;quot;Purged&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_miss {&lt;br /&gt;
    if (req.request == &amp;quot;PURGE&amp;quot;) {&lt;br /&gt;
        error 200 &amp;quot;Not in cache&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilisation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl -X PURGE -H &amp;quot;Host: site-ou-purger&amp;quot; http://varnish-server/url_a_purger.html&lt;br /&gt;
$ curl -X BAN -H &amp;quot;Host: site-ou-bannir&amp;quot; http://varnish-server/url_a_bannir.html&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gérer la méthode BAN avec en-tête pour Regexp ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl purge {&lt;br /&gt;
    &amp;quot;127.0.0.1&amp;quot;;&lt;br /&gt;
    &amp;quot;192.168.0.0&amp;quot;/24;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
   if (req.request == &amp;quot;BAN&amp;quot;)  {&lt;br /&gt;
        if (!client.ip ~ purge) {&lt;br /&gt;
            error 405 &amp;quot;Not allowed.&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if (req.http.x-ban-regexp) {&lt;br /&gt;
            ban (&amp;quot;req.http.host == &amp;quot; + req.http.host + &amp;quot; &amp;amp;&amp;amp; req.url ~ &amp;quot; + req.http.x-ban-regexp);&lt;br /&gt;
            unset req.http.x-ban-regexp;&lt;br /&gt;
&lt;br /&gt;
        } else {&lt;br /&gt;
            ban (&amp;quot;req.http.host == &amp;quot; + req.http.host + &amp;quot; &amp;amp;&amp;amp; req.url == &amp;quot; + req.url);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        error 200 &amp;quot;Ban added&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Utilisation:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ curl -X BAN -H &amp;quot;Host: site-ou-bannir&amp;quot; http://varnish-server/url_a_bannir.html&lt;br /&gt;
$ curl -X BAN -H &amp;quot;Host: site-ou-bannir&amp;quot; -H &amp;quot;X-Ban-Regexp: ^/regexp_a_bannir.*&amp;quot; http://varnish-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Créer une URL de test ===&lt;br /&gt;
Pour pouvoir tester facilement que Varnish est disponible, il est possible de créer une page d'erreur spéciale:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sub vcl_recv {&lt;br /&gt;
    if (req.url == &amp;quot;/varnish-status&amp;quot;) {&lt;br /&gt;
        error 200 &amp;quot;Varnish UP&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Varnishncsa ==&lt;br /&gt;
&lt;br /&gt;
=== Séparer les logs par site avec vlogger ===&lt;br /&gt;
&lt;br /&gt;
Voici une méthode permettant de générer un fichier de logs par site à partir d'un seul démon ''varnishncsa'' grâce à ''vlogger'':&lt;br /&gt;
&lt;br /&gt;
* Installer vlogger (exemple Debian et compagnie):&lt;br /&gt;
 # apt-get install vlogger&lt;br /&gt;
&lt;br /&gt;
* Modifier le format de log afin d'avoir le contenu de l'en-tête ''Host'' en début de ligne:&lt;br /&gt;
&lt;br /&gt;
Dans '''/etc/init.d/varnishncsa''':&lt;br /&gt;
 if start-stop-daemon --start --quiet --pidfile ${PIDFILE} \&lt;br /&gt;
     --chuid $USER --exec ${DAEMON} -- ${DAEMON_OPTS} \&lt;br /&gt;
devient&lt;br /&gt;
 if start-stop-daemon --start --quiet --pidfile ${PIDFILE} \&lt;br /&gt;
     --chuid $USER --exec ${DAEMON} -- ${DAEMON_OPTS} -F &amp;quot;${LOG_FORMAT}&amp;quot; \&lt;br /&gt;
&lt;br /&gt;
Dans '''/etc/default/varnishncsa''', ajouter:&lt;br /&gt;
 LOG_FORMAT=&amp;quot;%{Host}i %h %l %u %t \&amp;quot;%m %U%q %H\&amp;quot; %s %b \&amp;quot;%{Referer}i\&amp;quot; \&amp;quot;%{User-agent}i\&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Puis redémarrer le service ''varnishncsa'':&lt;br /&gt;
 # service varnishncsa restart&lt;br /&gt;
&lt;br /&gt;
* Créer un script '''/usr/local/sbin/varnishncsa_vlogger.sh''':&lt;br /&gt;
&lt;br /&gt;
 # vi /usr/local/sbin/varnishncsa_vlogger.sh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang='bash'&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
TAIL=&amp;quot;tail -F -n0 /var/log/varnish/varnishncsa.log&amp;quot;&lt;br /&gt;
VLOGGER=&amp;quot;vlogger -u varnishlog -g varnishlog -a -t access-%Y-%m-%d.log -s access.log /var/log/varnish&amp;quot;&lt;br /&gt;
&lt;br /&gt;
exec $TAIL | ( $VLOGGER; pkill -P $$ )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 # chmod 755 /usr/local/sbin/varnishncsa_vlogger.sh&lt;br /&gt;
&lt;br /&gt;
* Activer ce script via ''init'':&lt;br /&gt;
Dans '''/etc/inittab''', ajouter à la fin:&lt;br /&gt;
 vl:23:respawn:/usr/local/sbin/varnishncsa_vlogger.sh&lt;br /&gt;
&lt;br /&gt;
Recharger ''init'':&lt;br /&gt;
 # init q&lt;br /&gt;
&lt;br /&gt;
* Il ne reste plus qu'à consulter les logs dans les sous-répertoires de /var/log/varnish !&lt;br /&gt;
&lt;br /&gt;
== Commandes utiles ==&lt;br /&gt;
&lt;br /&gt;
=== varnishlog ===&lt;br /&gt;
&lt;br /&gt;
* Afficher les URLs &amp;quot;backend&amp;quot; et &amp;quot;client&amp;quot; en temps réél:&lt;br /&gt;
 $ varnishlog | awk '/xURL/ { url=$4 } /Host: / { printf(&amp;quot;%s http://%s%s\n&amp;quot;, $3, $5, url); }'&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Applications]]&lt;/div&gt;</summary>
		<author><name>SLiX</name></author>	</entry>

	<entry>
		<id>http://kerlinux.org/wiki/Fail2ban</id>
		<title>Fail2ban</title>
		<link rel="alternate" type="text/html" href="http://kerlinux.org/wiki/Fail2ban"/>
				<updated>2013-02-03T13:02:45Z</updated>
		
		<summary type="html">&lt;p&gt;SLiX : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
[http://www.fail2ban.org/ Fail2ban] est un outil permettant de surveiller des fichiers journaux et de déclencher des actions sur la récurrence de certains événements. L'utilisation classique consiste à surveiller les échecs d'authentification (ex: SSH, HTTP, ...) et de bannir (via IPtables) l'adresse IP pendant une période définie.&lt;br /&gt;
&lt;br /&gt;
== Configurations ==&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples de configuration (testés sous Debian GNU/Linux 6.0 &amp;quot;squeeze&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
=== Apache HTTPd ===&lt;br /&gt;
==== Wordpress login ====&lt;br /&gt;
&lt;br /&gt;
Dans /etc/fail2ban/filter.d/apache-wp-login.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = &amp;lt;HOST&amp;gt;.*] &amp;quot;POST\s+/wp-login.php\s+HTTP/1\..&amp;quot;\s+200\s+&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et dans /etc/fail2ban/jail.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[apache-wp-login]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = http,https&lt;br /&gt;
filter  = apache-wp-login&lt;br /&gt;
logpath = /var/log/apache*/access*.log&lt;br /&gt;
maxretry = 5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wordpress login avec authentification HTTP ====&lt;br /&gt;
&lt;br /&gt;
Si vous protégez /wp-admin et /wp-login.php avec en plus de l'authentification HTTP, il est possible d'identifier au premier essai les tentatives automatisées car celles-ci vont produirent un code 401 avecméthode POST:&lt;br /&gt;
&lt;br /&gt;
Dans /etc/fail2ban/filter.d/apache-wp-login.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = &amp;lt;HOST&amp;gt;.*] &amp;quot;POST\s+/wp-login.php\s+HTTP/1\..&amp;quot;\s+401\s+&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et dans /etc/fail2ban/jail.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[apache-wp-login]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = http,https&lt;br /&gt;
filter  = apache-wp-login&lt;br /&gt;
logpath = /var/log/apache*/access*.log&lt;br /&gt;
maxretry = 1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Wordpress commentaires ====&lt;br /&gt;
&lt;br /&gt;
Dans /etc/fail2ban/filter.d/apache-wp-comments.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = &amp;lt;HOST&amp;gt;.*] &amp;quot;POST\s+/wp-comments-post.php\s+HTTP/1\..&amp;quot;\s+&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et dans /etc/fail2ban/jail.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[apache-wp-comments]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = http,https&lt;br /&gt;
filter  = apache-wp-comments&lt;br /&gt;
logpath = /var/log/apache*/access*.log&lt;br /&gt;
maxretry = 5&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ampache login ====&lt;br /&gt;
&lt;br /&gt;
Dans /etc/fail2ban/filter.d/apache-ampache-www.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = &amp;lt;HOST&amp;gt;.*] &amp;quot;POST\s+/ampache/login.php\s+HTTP/1\..&amp;quot;\s+200\s+&lt;br /&gt;
ignoreregex =&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et dans /etc/fail2ban/jail.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[apache-ampache-www]&lt;br /&gt;
enabled = true&lt;br /&gt;
port    = http,https&lt;br /&gt;
filter  = apache-ampache-www&lt;br /&gt;
logpath = /var/log/apache*/access*.log&lt;br /&gt;
maxretry = 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fail2ban ===&lt;br /&gt;
&lt;br /&gt;
==== Fail2ban week ====&lt;br /&gt;
&lt;br /&gt;
Fail2ban peut bien sûr surveiller ses journaux, ce qui permet de faire ce genre de règles: bannir sur tous les ports et pendant une semaine les adresses IP bannies plusieurs fois par jour.&lt;br /&gt;
&lt;br /&gt;
Dans /etc/fail2ban/filter.d/fail2ban.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[Definition]&lt;br /&gt;
failregex = fail2ban.actions:\s+WARNING\s+\[(?:.*)\]\s+Ban\s+&amp;lt;HOST&amp;gt;&lt;br /&gt;
ignoreregex = fail2ban.actions:\s+WARNING\s+\[fail2ban\]\s+Ban\s+&amp;lt;HOST&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Et dans /etc/fail2ban/jail.local&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=ini&amp;gt;&lt;br /&gt;
[fail2ban]&lt;br /&gt;
enabled  = true&lt;br /&gt;
filter   = fail2ban&lt;br /&gt;
action   = iptables-allports[name=fail2ban,protocol=all]&lt;br /&gt;
logpath  = /var/log/fail2ban.log&lt;br /&gt;
maxretry = 3&lt;br /&gt;
# Find-time: 1 day&lt;br /&gt;
findtime = 86400&lt;br /&gt;
# Ban-time: 1 week&lt;br /&gt;
bantime = 604800&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Références ==&lt;br /&gt;
&lt;br /&gt;
* http://www.fail2ban.org/wiki/index.php/MANUAL_0_8&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Applications]]&lt;/div&gt;</summary>
		<author><name>SLiX</name></author>	</entry>

	</feed>