<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le Blog du grand loup Zeur &#187; mod-security</title>
	<atom:link href="http://blog.gaetan-grigis.eu/tag/mod-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.gaetan-grigis.eu</link>
	<description>Le blog qui vous fait connaitre ce que vous savez déjà</description>
	<lastBuildDate>Tue, 17 Jan 2012 08:43:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Sécurité : Coupler l&#8217;IDS Prelude avec mod_security</title>
		<link>http://blog.gaetan-grigis.eu/systeme/securite-coupler-lids-prelude-avec-mod_security/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/securite-coupler-lids-prelude-avec-mod_security/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 14:57:29 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[ids]]></category>
		<category><![CDATA[mod-security]]></category>
		<category><![CDATA[prelude]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=473</guid>
		<description><![CDATA[Bijour &#8230; Une (très)+ petite suite avec l&#8217;IDS Prelude (toujours pas snort ^^), pour pouvoir profiter des logs qu&#8217;écrit le mod-security, il faut mettre à jour un fichier : /etc/prelude-lml/ruleset/modsecurity.rules et le remplacer par celui que l&#8217;on peut trouver ici Pour ce faire : Il faut modifier le fichier /etc/prelude-lml/prelude-lml.conf Cherchez la ligne : qui [...]]]></description>
			<content:encoded><![CDATA[<p>Bijour &#8230;</p>
<p>Une (très)+ petite suite avec l&#8217;IDS Prelude (toujours pas snort ^^), pour pouvoir profiter des logs qu&#8217;écrit le mod-security, il faut mettre à jour un fichier :<br />
/etc/prelude-lml/ruleset/modsecurity.rules<br />
et le remplacer par celui que l&#8217;on peut trouver <a href="https://dev.prelude-ids.com/repositories/browse/prelude-lml/plugins/pcre/ruleset">ici</a></p>
<p>Pour ce faire :<br />
Il faut modifier le fichier /etc/prelude-lml/prelude-lml.conf<br />
Cherchez la ligne :<br />
qui correspond à  :<br />
file = /var/log/apache2/access.log<br />
copiez-là en-dessous et changez access par error<br />
ce qui devrait vous donner :<br />
file = /var/log/apache2/access.log<br />
file = /var/log/apache2/error.log<br />
Puis : </p>
<pre class="brush: bash">
cd /etc/prelude-lml/ruleset/
mv modsecurity.rules modsecurity.rules.bak
wget https://dev.prelude-ids.com/repositories/entry/prelude-lml/plugins/pcre/ruleset/modsecurity.rules?format=raw --no-check-certificate
mv modsecurity.rules\?format\=raw modsecurity.rules
/etc/init.d/prelude-lml restart
</pre>
<p>Et ensuite, en allant sur l&#8217;url de votre prewikka (installé précédemment), vous devriez voir apparaitre toutes les erreurs/tentatives de hack/&#8230; qui sont effectuées sur votre serveur web.</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=473">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/securite-ids-prelude-et-snort/" rel="bookmark" title="Permanent Link: Sécurité : IDS Prelude et SNORT">Sécurité : IDS Prelude et SNORT</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/open-source-reseau-dentreprise-securise-ou-pas/" rel="bookmark" title="Permanent Link: Open-Source : Réseau d&#8217;entreprise sécurisé &#8230; ou pas">Open-Source : Réseau d&#8217;entreprise sécurisé &#8230; ou pas</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/securite-installation-de-lids-prelude-sur-debian/" rel="bookmark" title="Permanent Link: Sécurité : Installation de l&#8217;IDS Prelude sur debian">Sécurité : Installation de l&#8217;IDS Prelude sur debian</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/tentative-de-hack-quand-les-kikoolols-attaquent/" rel="bookmark" title="Permanent Link: Tentative de Hack &#8230; quand les kikoolols attaquent!!!">Tentative de Hack &#8230; quand les kikoolols attaquent!!!</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/nouvelle-version-de-prewikka-sur-debian-testing/" rel="bookmark" title="Permanent Link: Nouvelle version de Prewikka sur debian testing">Nouvelle version de Prewikka sur debian testing</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/securite-coupler-lids-prelude-avec-mod_security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ModSecurity mise en place de restrictions sur les règles de restrictions ^^</title>
		<link>http://blog.gaetan-grigis.eu/systeme/administration/modsecurity-mise-en-place-de-restrictions-sur-les-regles-de-restrictions/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/administration/modsecurity-mise-en-place-de-restrictions-sur-les-regles-de-restrictions/#comments</comments>
		<pubDate>Sat, 16 May 2009 21:31:35 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod-security]]></category>
		<category><![CDATA[restriction]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=409</guid>
		<description><![CDATA[Bonsoir &#8230; Bé voilà, si vous avez installé la dernière version de ModSecurity (&#62;2.5) avec les generic_attack en filtre, vous avez sûrement remarqué que phpMyAdmin ne fonctionne plus (hé oui, ça fait du SQL Injection :p), mais les blogs peuvent aussi ne plus fonctionner (XSS, voir Command/File Injection si vous tentez de poster du code [...]]]></description>
			<content:encoded><![CDATA[<p>Bonsoir &#8230;</p>
<p>Bé voilà, si vous avez installé la dernière version de ModSecurity (&gt;2.5) avec les generic_attack en filtre, vous avez sûrement remarqué que phpMyAdmin ne fonctionne plus (hé oui, ça fait du SQL Injection :p), mais les blogs peuvent aussi ne plus fonctionner (XSS, voir Command/File Injection si vous tentez de poster du code sur votre blog), ce n&#8217;est que dernièrement, que j&#8217;ai remarqué ces erreurs, sans trop y faire gaffe (à part que là, ben ça remplissait les logs avec une IP que je connaissait très bien &#8230; la mienne, <em>le méchant pirate, je vais porter plainte sur 127.0.0.1 ^^, je suis sûr que la procédure judiciaire passerait <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em>).</p>
<p>Donc pour remédier à ce problème, les gars qui ont dév la bête sont intelligent, ils avaient prévu le coup avec :</p>
<p><a href="http://www.modsecurity.org/documentation/modsecurity-apache/2.5.9/modsecurity2-apache-reference.html#N10A8B" target="_blank">SecRuleRemoveById</a> et <a href="http://www.modsecurity.org/documentation/modsecurity-apache/2.5.9/modsecurity2-apache-reference.html#N10AB5" target="_blank">SecRuleRemoveByMsg</a></p>
<p>Ce qui donnent donc pour PhpMyAdmin :</p>
<div class="geshi no bash">
<div class="head">&lt;Location /phpmyadmin/&gt;</div>
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;Blind SQL Injection Attack&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;SQL Injection Attack&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&amp;</span>lt;<span class="sy0">/</span>Location<span class="sy0">&amp;</span>gt;</div>
</li>
</ol>
</div>
<p>et pour WordPress (partie administration)</p>
<div class="geshi no bash">
<div class="head">&lt;Location /wp-admin/&gt;</div>
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;Blind SQL Injection Attack&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;SQL Injection Attack&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;Cross-site Scripting (XSS) Attack&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;Remote File Access Attempt&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;SecRuleRemoveByMsg <span class="st0">&quot;System Command Injection&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">&amp;</span>lt;<span class="sy0">/</span>Location<span class="sy0">&amp;</span>gt;</div>
</li>
</ol>
</div>
<p>Pour la partie commentaires &#8230; à voir suivant la confiance que vous avez en vos visiteurs ^^ (tentez pas de poster des commentaires sur mon blog avec des commandes systèmes &#8230; vous seriez surpris sur mon niveau de confiance <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8230; y&#8217;a quand même des gars qu&#8217;ont tenter de brute-forcer mon phpmyadmin, bande de naab!!!).</p>
<p>A mettre dans l&#8217;un de vos fichiers de conf d&#8217;apache, et vous ne tomberez plus sur les erreurs 501 (protocole non implémenté) que cela générait.</p>
<p>Voilà &#8230; Bonne nuit</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=409">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/securite/defcon17-slides-sur-le-cross-site-scripting-xss-reminder/" rel="bookmark" title="Permanent Link: [DEFCON17] Slides sur le Cross Site Scripting (XSS reminder)">[DEFCON17] Slides sur le Cross Site Scripting (XSS reminder)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/securite-coupler-lids-prelude-avec-mod_security/" rel="bookmark" title="Permanent Link: Sécurité : Coupler l&#8217;IDS Prelude avec mod_security">Sécurité : Coupler l&#8217;IDS Prelude avec mod_security</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/contourner-les-restrictions-de-connexions-sur-un-serveur-ovh/" rel="bookmark" title="Permanent Link: Contourner les restrictions de connexions sur un serveur OVH">Contourner les restrictions de connexions sur un serveur OVH</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/protection-ddos-soft/" rel="bookmark" title="Permanent Link: Protection Ddos (soft)">Protection Ddos (soft)</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/ossec-et-sshbannissement-ip-definitif-de-cracker/" rel="bookmark" title="Permanent Link: [OSSEC et SSH]Bannissement ip définitif de cracker">[OSSEC et SSH]Bannissement ip définitif de cracker</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/administration/modsecurity-mise-en-place-de-restrictions-sur-les-regles-de-restrictions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Analyse automatisée des logs apache</title>
		<link>http://blog.gaetan-grigis.eu/systeme/analyse-automatisee-des-logs-apache/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/analyse-automatisee-des-logs-apache/#comments</comments>
		<pubDate>Fri, 15 May 2009 17:00:46 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[mod-security]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=405</guid>
		<description><![CDATA[Bonjour à tous &#8230; [la traduction du terme analyse dans le texte est GREP ^^ faut pas s'attendre à une analyse mathématique !!] Bé voilà, comme j&#8217;adore raconter ma vie, voici un petit truc sympa : Aujourd&#8217;hui on a eu droit à un cours &#8230; le premier depuis des mois!!! L&#8217;ennui se faisant sentir (un [...]]]></description>
			<content:encoded><![CDATA[<p>Bonjour à tous &#8230;<br />
[la traduction du terme analyse dans le texte est GREP ^^ faut pas s'attendre à une analyse mathématique !!]</p>
<p>Bé voilà, comme j&#8217;adore raconter ma vie, voici un petit truc sympa :</p>
<p>Aujourd&#8217;hui on a eu droit à un cours &#8230; le premier depuis des mois!!! L&#8217;ennui se faisant sentir (un cours sur les tests &#8230; déjà vu en DUT), je me connecte à mon serveur et après un petit tour du proprio &#8230; comme d&#8217;hab koi ^^ Je lis les logs de mon serveur &#8230; (c&#8217;est grave docteur ??) et là horreur plein de ligne du ModSecurity m&#8217;indiquant pleins de tentatives diverses et variées (XSS, SQL Injection, &#8230;).</p>
<p>Un petit aperçu d&#8217;une ligne du log :</p>
<div class="geshi no bash">
<div class="head">[Fri May 15 16:36:35 2009] [error] [client 74.55.32.34] ModSecurity: Access denied with code 501 (phase 2).</div>
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>msg <span class="st0">&quot;Remote File Access Attempt&quot;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>severity <span class="st0">&quot;CRITICAL&quot;</span><span class="br0">&#93;</span> <span class="br0">&#91;</span>tag <span class="st0">&quot;WEB_ATTACK/FILE_INJECTION&quot;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span><span class="kw2">hostname</span> <span class="st0">&quot;blog.gaetan-grigis.eu&quot;</span><span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>unique_id <span class="st0">&quot;Sg1981diuFsAADJ2ypYAAAAC&quot;</span><span class="br0">&#93;</span></div>
</li>
</ol>
</div>
<p>Le genre du truc qu&#8217;en terminal on aime pas trop lire (surtout sur l&#8217;écran du téléphone portable) &#8230; et pis y&#8217;en avais une bonne cinquantaine &#8230; et là mes venu la superbe idée (j&#8217;imagine que plein d&#8217;admins l&#8217;on déjà fait, mais bon ^^ au cas où si ça vous intéresse), j&#8217;ai crée un petit script qui analyse le log d&#8217;erreur d&#8217;apache (par grep quoi ^^) et envoi un mail avec les lignes incriminées, ce qui donne donc (il vous faudra bien sûr le mod_security d&#8217;installé &#8230; cf. mon blog <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<div class="geshi no bash">
<div class="head">#!/bin/sh</div>
<ol>
<li class="li1">
<div class="de1"><span class="re2">LOG_ERROR=</span><span class="st0">&quot;/var/log/apache2/error.log&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">LOG_MODSEC=</span>`<span class="kw2">cat</span> <span class="re1">$LOG_ERROR</span> <span class="sy0">|</span>grep ModSecurity <span class="sy0">|</span> <span class="kw2">wc</span> -l`</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re1">$LOG_MODSEC</span> -gt <span class="nu0">0</span> <span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">SEVERITY_ALERT=</span>`<span class="kw2">cat</span> <span class="re1">$LOG_ERROR</span> <span class="sy0">|</span> <span class="kw2">grep</span> <span class="st0">&quot;severity <span class="es0">\&quot;</span>ALERT<span class="es0">\&quot;</span>&quot;</span> <span class="sy0">|</span> <span class="kw2">wc</span> -l`</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re2">SEVERITY_CRITI=</span>`<span class="kw2">cat</span> <span class="re1">$LOG_ERROR</span> <span class="sy0">|</span> <span class="kw2">grep</span> <span class="st0">&quot;severity <span class="es0">\&quot;</span>CRITICAL<span class="es0">\&quot;</span>&quot;</span> <span class="sy0">|</span> <span class="kw2">wc</span> -l`</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re1">$SEVERITY_ALERT</span> -gt <span class="nu0">0</span> <span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">cat</span> <span class="re1">$LOG_ERROR</span> <span class="sy0">|</span> <span class="kw2">grep</span> <span class="st0">&quot;severity <span class="es0">\&quot;</span>ALERT<span class="es0">\&quot;</span>&quot;</span> <span class="sy0">|</span>mail -s <span class="st0">&quot;[LOG]HTTP ALERT&quot;</span> addr<span class="sy0">@</span>gmail.com</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;NB ALERT : $SEVERITY_ALERT&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#91;</span> <span class="re1">$SEVERITY_CRITI</span> -gt <span class="nu0">0</span> <span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">then</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">cat</span> <span class="re1">$LOG_ERROR</span> <span class="sy0">|</span>grep <span class="st0">&quot;severity <span class="es0">\&quot;</span>CRITICAL<span class="es0">\&quot;</span>&quot;</span> <span class="sy0">|</span> mail -s <span class="st0">&quot;[LOG]HTTP CRITICAL&quot;</span> addr<span class="sy0">@</span>mail.com</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">echo</span> <span class="st0">&quot;NB CRITICAL : $SEVERITY_CRITI&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">fi</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">fi</span></div>
</li>
</ol>
</div>
<p>et voila passionnante ma vie ^^, en ASM ça se résumerait ainsi : (MOV al,1 XOR ebx,ebx, int 0&#215;80), reste plus qu&#8217;à exécuter le script avant le rotatelog histoire d&#8217;avoir le résumé des attaques de la journée/semaine &#8230;<br />
Je vais peut être en profiter pour faire des graphiques suivant les types d&#8217;attaque, leurs nombres, leurs provenances, &#8230; ou pas</p>
<p>Petit ajout du 17 mai &#8230; pour rajouter un script du genre celui donné plus haut, il faut aller voir dans le fichier <strong>/etc/logrotate.d/apache2</strong> et ajouter les lignes suivantes :</p>
<div class="geshi no bash">
<div class="head">prerotate</div>
<ol>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">sh</span> <span class="sy0">/</span>scripts<span class="sy0">/</span>logAnalyzer.<span class="kw2">sh</span> <span class="sy0">&amp;</span>gt; <span class="sy0">/</span>dev<span class="sy0">/</span>null</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; endscript</div>
</li>
</ol>
</div>
<p>après la ligne <strong>sharedscripts</strong> et hop, on envoi les mails avant la rotation des logs, comme ça on passe pas pour le nolife-ki-li-ses-logs-apache-pendant-les-cours devant ses camarades de classe.</p>
<p>Voilà &#8230; bon we <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=405">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/ossec-et-stats-sur-munin/" rel="bookmark" title="Permanent Link: Ossec et stats sur munin">Ossec et stats sur munin</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/modsecurity-mise-en-place-de-restrictions-sur-les-regles-de-restrictions/" rel="bookmark" title="Permanent Link: ModSecurity mise en place de restrictions sur les règles de restrictions ^^">ModSecurity mise en place de restrictions sur les règles de restrictions ^^</a></li><li><a href="http://blog.gaetan-grigis.eu/securite/analyse-de-malware-avec-cwsandbox/" rel="bookmark" title="Permanent Link: Analyse de malware avec CWSandBox">Analyse de malware avec CWSandBox</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/reduire-la-consommation-de-bande-passante-apache-mod_deflate/" rel="bookmark" title="Permanent Link: Réduire la consommation de bande passante (Apache mod_deflate)">Réduire la consommation de bande passante (Apache mod_deflate)</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/analyse-automatisee-des-logs-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Administration de serveurs apache : modsecurity2</title>
		<link>http://blog.gaetan-grigis.eu/systeme/administration-de-serveurs-apache-modsecurity2/</link>
		<comments>http://blog.gaetan-grigis.eu/systeme/administration-de-serveurs-apache-modsecurity2/#comments</comments>
		<pubDate>Sat, 14 Feb 2009 13:22:36 +0000</pubDate>
		<dc:creator>Gaëtan</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Système]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod-security]]></category>
		<category><![CDATA[serveur]]></category>

		<guid isPermaLink="false">http://blog.gaetan-grigis.eu/?p=307</guid>
		<description><![CDATA[Bijour Bé voilà vé parler du modsecurity2 &#8230; pourquoi ?? Ben on trouve pas mal de tut&#8217;s sur le net, mais c&#8217;est que pour le mod_security (sans le 2 ^^), et la syntaxe à malheureusement changée depuis. Donc voilà &#8230; Il faut tout d&#8217;abord rajouter un dépôt (le mien ^^) au fichier /etc/apt/sources.list : deb [...]]]></description>
			<content:encoded><![CDATA[<p>Bijour</p>
<p>Bé voilà vé parler du modsecurity<em><strong>2</strong></em> &#8230; pourquoi ?? Ben on trouve pas mal de tut&#8217;s sur le net, mais c&#8217;est que pour le mod_security (sans le 2 ^^), et la syntaxe à <a href="http://www.modsecurity.org/documentation/ModSecurity-Migration-Matrix.pdf" target="_blank">malheureusement changée depuis</a>.</p>
<p>Donc voilà &#8230;</p>
<p>Il faut tout d&#8217;abord rajouter un dépôt (le mien ^^) au fichier /etc/apt/sources.list :</p>
<div class="geshi no config">
<ol>
<li class="li1">
<div class="de1">deb http://ppa.launchpad.net/cipher.16/ppa/ubuntu intrepid main</div>
</li>
</ol>
</div>
<p>et rajouter la clé associée au dépôt :</p>
<div class="geshi no config">
<ol>
<li class="li1">
<div class="de1">sudo apt-key adv &#8211;recv-keys &#8211;keyserver keyserver.ubuntu.com DA27D37831F6D1C0BC85566CDD2A2A8817FB9A87</div>
</li>
</ol>
</div>
<p>Ensuite faire un <strong>apt-get install modsecurity2 &amp;&amp; a2enmode mod-security2</strong>.</p>
<p><strong>Pourquoi préférer cette version à celle de inittab</strong> (proposé par la doc de modsecurity) <strong>??</strong> &#8230; parce que c&#8217;est la dernière version stable (2.5.7, qui permet des trucs sympa &#8230; cf. la fin de l&#8217;article <img src='http://blog.gaetan-grigis.eu/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> )</p>
<p>Par défaut, tous les fichiers de configuration liés au modsecurity2 sont bazardés dans le dossier <strong>/usr/share/apache/mod_security2_rules</strong> (je suis pas assez doué pour faire du post-install dans mes paquets &#8230;), vous pouvez soit les déplacer dans le dossier  <strong>/etc/apache2/conf.d/</strong>, mais il faudra un peu les retoucher (surtout le modsecurity_crs_10_config.conf en modifiant les fichiers de logs, sinon des erreurs apparaitront lors du démarrage du serveur).</p>
<p><strong>Pour utiliser les fichiers de configuration fournit par le paquet :</strong></p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">cat</span> <span class="sy0">/</span>usr<span class="sy0">/</span>share<span class="sy0">/</span>apache2<span class="sy0">/</span>mod_security2_rules<span class="sy0">/*</span>.conf <span class="sy0">&gt;&gt;</span> <span class="sy0">/</span>etc<span class="sy0">/</span>apache2<span class="sy0">/</span>conf.d<span class="sy0">/</span>security</div>
</li>
</ol>
</div>
<p>et modifier toutes les lignes en rapport avec les logs, pour cela, remplacez :</p>
<p><strong>SecAuditLog logs/modsec_audit.log</strong> par SecAuditLog /var/log/apaches2/modsec_audit.log<br />
<strong>SecDebugLog logs/modsec_debug.log</strong> par SecDebugLog /var/log/apache2/modsec_debug.log</p>
<p>Ou bien, <strong>vous pouvez faire votre propre fichier de configuration</strong>, grâce à la <a href="http://www.modsecurity.org/documentation/modsecurity-apache/2.5.7/modsecurity2-apache-reference.html" target="_blank">superbe doc</a>.</p>
<p>Pour cela, allez dans le dossier <strong>/etc/apache2/conf.d/</strong> et modifiez le fichier <strong>security.conf</strong>, ou bien en créer un nommé &#8230; du nom que vous voulez.</p>
<p>Dans lequel il faudra mettre (au minimum, histoire de faire propre) :</p>
<div class="geshi no config">
<div class="head">&lt;IfModule mod_security2.c&gt;</div>
<ol>
<li class="li1">
<div class="de1">ServerTokens Full
</div>
</li>
<li class="li1">
<div class="de1">ServerSignature On
</div>
</li>
<li class="li1">
<div class="de1">TraceEnable Off
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">SecRuleEngine On
</div>
</li>
<li class="li1">
<div class="de1">SecRequestBodyAccess On
</div>
</li>
<li class="li1">
<div class="de1">SecResponseBodyAccess On
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">SecAuditLog /var/log/apache2/mod_secure.log
</div>
</li>
<li class="li1">
<div class="de1">## RESTE DE LA CONFIG A METTRE ICI
</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">## NE PAS TOUCHER PLUS LOIN
</div>
</li>
<li class="li1">
<div class="de1">&lt;/IfModule&gt;</div>
</li>
</ol>
</div>
<h2>Et on met quoi dans cette configuration ???</h2>
<p>Plein de choses diverses et variées (on peut aussi rajouter quelque lignes des fichiers d&#8217;exemple dans /usr/share/apache2/mod_security2_rules, qui peuvent être très intéressante pour bloquer les injections, &#8230;).<br />
<strong>Pour induire en erreurs/bloquer certains scanners :</strong></p>
<p>Changement de la signature du serveur (un peu grossié ^^ mais ça peut induire en erreur les n00b &#8230; ça fait toujours ça de moins) :</p>
<div class="geshi no config">
<div class="head">SecServerSignature &laquo;&nbsp;Windows 2003 IIS/6.0&#8243;</div>
<ol>
<li class="li1">
<div class="de1">SecRule REQUEST_HEADERS:User-Agent &quot;.*perl.*&quot; &quot;t:none,msg:&#39;Perl based user agent identified&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule REQUEST_HEADERS:User-Agent &quot;.*nikto.*&quot; &quot;t:none,msg:&#39;Nikto Scanners Identified&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule REQUEST_HEADERS:User-Agent &quot;(?:\b(?:m(?:ozilla\/4\.0 \(compatible\)|etis)|webtrends security analyzer|pmafind)\b|n(?:-stealth|sauditor|essus|ikto)|b(?:lack ?widow|rutus|ilbo)|(?:jaascoi|paro)s|webinspect|\.nasl)&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:2,t:none,t:lowercase,deny,log,auditlog,status:404,msg:&#39;Request Indicates a Security Scanner Scanned the Site&#39;,id:&#39;990002&#39;,tag:&#39;AUTOMATION/SECURITY_SCANNER&#39;,severity:&#39;2&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule REQUEST_HEADERS_NAMES &quot;\bacunetix-product\b&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:2,t:none,t:lowercase,deny,log,auditlog,status:404,msg:&#39;Request Indicates a Security Scanner Scanned the Site&#39;,id:&#39;990901&#39;,tag:&#39;AUTOMATION/SECURITY_SCANNER&#39;,severity:&#39;2&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule REQUEST_FILENAME &quot;^/nessustest&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:2,t:none,t:lowercase,deny,log,auditlog,status:404,msg:&#39;Request Indicates a Security Scanner Scanned the Site&#39;,id:&#39;990902&#39;,tag:&#39;AUTOMATION/SECURITY_SCANNER&#39;,severity:&#39;2&#39;&quot;</div>
</li>
</ol>
</div>
<p><strong>Bloquer les requêtes zarb :</strong></p>
<div class="geshi no config">
<div class="head">SecRule REQUEST_LINE &laquo;&nbsp;!(^((?:(?:pos|ge)t|head))|http/(0\.9|1\.0|1\.1)$)&nbsp;&raquo; \</div>
<ol>
<li class="li1">
<div class="de1">&quot;t:none,t:lowercase,msg:&#39;Un imbécile qui connait pas le http&#39;&quot;</div>
</li>
</ol>
</div>
<p><strong>Bloquer les accès direct à l&#8217;ip du serveur : </strong>(cas courant de scan)<strong><br />
</strong></p>
<div class="geshi no config">
<div class="head">SecRule REQUEST_HEADERS:Host &laquo;&nbsp;^[\d\.]+$&nbsp;&raquo; \</div>
<ol>
<li class="li1">
<div class="de1">&quot;log,deny,status:404,t:lowercase,msg:&#39;Connexion direct a l\&#39;ip du serveur&#39;&quot;</div>
</li>
</ol>
</div>
<p><strong>Protection contre des fuites lors  d&#8217;erreurs mysql :</strong> (qui pourrait permettre à des petits malin de connaître les tables utilisées, &#8230;)</p>
<div class="geshi no config">
<div class="head">SecRule RESPONSE_BODY &laquo;&nbsp;(?:\b(?:(?:s(?:elect list because it is not contained in (?:an aggregate function and there is no|either an aggregate function or the) GROUP BY clause|upplied argument is not a valid (?:(?:M(?:S |y)|Postgre)SQL|O(?:racle|DBC)))|S(?:yntax error converting the \w+ value .*? to a column of data type|QL Server does not exist or access denied)|Either BOF or EOF is True, or the current record has been deleted(?:; the operation|\. Requested)|The column prefix .{0,50}? does not match with a table name or alias name used in the query|Could not find server &#39;\w+&#39; in sysservers\. execute sp_addlinkedserver)\b|Un(?:closed quotation mark before the character string\b|able to connect to PostgreSQL server:)|(?:Microsoft OLE DB Provider for .{0,30} [eE]rror |error &#39;800a01b8)&#39;|(?:Warning: mysql_connect\(\)|PostgreSQL query failed):|You have an error in your SQL syntax(?: near &#39;|;)|cannot take a \w+ data type as an argument\.|incorrect syntax near (?:\&#39;|the\b|@@error\b)|microsoft jet database engine error &#39;8|ORA-\d{5}: )|\[Microsoft\]\[ODBC )&nbsp;&raquo; \</div>
<ol>
<li class="li1">
<div class="de1">&quot;phase:4,t:none,ctl:auditLogParts=+E,deny,log,auditlog,status:500,msg:&#39;SQL Information Leakage&#39;,id:&#39;970003&#39;,tag:&#39;LEAKAGE/ERRORS&#39;,severity:&#39;4&#39;&quot;</div>
</li>
</ol>
</div>
<p><strong>Protection contre des fuites concernant des erreurs php ou un affichage de code php </strong>(source code disclosure comme on dit :p)<strong> :</strong></p>
<div class="geshi no config">
<div class="head">SecRule RESPONSE_BODY &laquo;&nbsp;&lt;b&gt;Warning&lt;\/b&gt;.{0,100}?:.{0,1000}?\bon line\b&nbsp;&raquo; \</div>
<ol>
<li class="li1">
<div class="de1">&quot;phase:4,t:none,ctl:auditLogParts=+E,deny,log,auditlog,status:500,msg:&#39;PHP Information Leakage&#39;,id:&#39;970009&#39;,tag:&#39;LEAKAGE/ERRORS&#39;,severity:&#39;4&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule RESPONSE_BODY &quot;(?:\b(?:f(?:tp_(?:nb_)?f?(?:ge|pu)t|get(?:s?s|c)|scanf|write|open|read)|gz(?:(?:encod|writ)e|compress|open|read)|s(?:ession_start|candir)|read(?:(?:gz)?file|dir)|move_uploaded_file|(?:proc_|bz)open)|\$_(?:(?:pos|ge)t|session))\b&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:4,t:none,ctl:auditLogParts=+E,log,auditlog,msg:&#39;PHP source code leakage&#39;,id:&#39;970015&#39;,tag:&#39;LEAKAGE/SOURCE_CODE&#39;,severity:&#39;4&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule RESPONSE_BODY &quot;&amp;lt;\?(?!xml)&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:4,chain,t:none,ctl:auditLogParts=+E,log,auditlog,msg:&#39;PHP source code leakage&#39;,id:&#39;970902&#39;,tag:&#39;LEAKAGE/SOURCE_CODE&#39;,severity:&#39;4&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule RESPONSE_BODY &quot;!(?:\b(?:(?:i(?:nterplay|hdr|d3)|m(?:ovi|thd)|(?:ex|jf)if|f(?:lv|ws)|varg|cws)\b|r(?:iff\b|ar!B)|gif)|B(?:%pdf|\.ra)\b)&quot; &quot;t:none&quot;</div>
</li>
</ol>
</div>
<p><strong>Protection contre les XSS :</strong></p>
<div class="geshi no config">
<div class="head">SecRule REQUEST_FILENAME|ARGS|ARGS_NAMES|REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer &laquo;&nbsp;@pm jscript onsubmit copyparentfolder javascript meta onmove onkeydown onchange onkeyup activexobject expression onmouseup ecmascript onmouseover vbscript: &lt;![cdata[ http: settimeout onabort shell: .innerhtml onmousedown onkeypress asfunction: onclick .fromcharcode background-image: .cookie ondragdrop onblur x-javascript mocha: onfocus javascript: getparentfolder lowsrc onresize @import alert onselect script onmouseout onmousemove background application .execscript livescript: getspecialfolder vbscript iframe .addimport onunload createtextrange onload &lt;input&nbsp;&raquo; \</div>
<ol>
<li class="li1">
<div class="de1">&quot;phase:2,t:none,t:urlDecodeUni,t:htmlEntityDecode,t:compressWhiteSpace,t:lowercase,pass,nolog,skip:1&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecAction phase:2,pass,nolog,skipAfter:959004
</div>
</li>
<li class="li1">
<div class="de1">SecRule REQUEST_FILENAME|ARGS|ARGS_NAMES &quot;(?:\b(?:(?:type\b\W*?\b(?:text\b\W*?\b(?:j(?:ava)?|ecma|vb)|application\b\W*?\bx-(?:java|vb))script|c(?:opyparentfolder|reatetextrange)|get(?:special|parent)folder|iframe\b.{0,100}?\bsrc)\b|on(?:(?:mo(?:use(?:o(?:ver|ut)|down|move|up)|ve)|key(?:press|down|up)|c(?:hange|lick)|s(?:elec|ubmi)t|(?:un)?load|dragdrop|resize|focus|blur)\b\W*?=|abort\b)|(?:l(?:owsrc\b\W*?\b(?:(?:java|vb)script|shell|http)|ivescript)|(?:href|url)\b\W*?\b(?:(?:java|vb)script|shell)|background-image|mocha):|s(?:(?:tyle\b\W*=.*\bexpression\b\W*|ettimeout\b\W*?)\(|rc\b\W*?\b(?:(?:java|vb)script|shell|http):)|a(?:ctivexobject\b|lert\b\W*?\(|sfunction:))|&amp;lt;(?:(?:body\b.*?\b(?:backgroun|onloa)d|input\b.*?\btype\b\W*?\bimage)\b| ?(?:(?:script|meta)\b|iframe)|!\[cdata\[)|(?:\.(?:(?:execscrip|addimpor)t|(?:fromcharcod|cooki)e|innerhtml)|\@import)\b)&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:2,capture,t:none,t:htmlEntityDecode,t:compressWhiteSpace,t:lowercase,ctl:auditLogParts=+E,log,auditlog,msg:&#39;Cross-site Scripting (XSS) Attack&#39;,id:&#39;950004&#39;,tag:&#39;WEB_ATTACK/XSS&#39;,logdata:&#39;%{TX.0}&#39;,severity:&#39;2&#39;&quot;
</div>
</li>
<li class="li1">
<div class="de1">SecRule REQUEST_HEADERS|XML:/*|!REQUEST_HEADERS:Referer &quot;(?:\b(?:(?:type\b\W*?\b(?:text\b\W*?\b(?:j(?:ava)?|ecma|vb)|application\b\W*?\bx-(?:java|vb))script|c(?:opyparentfolder|reatetextrange)|get(?:special|parent)folder|iframe\b.{0,100}?\bsrc)\b|on(?:(?:mo(?:use(?:o(?:ver|ut)|down|move|up)|ve)|key(?:press|down|up)|c(?:hange|lick)|s(?:elec|ubmi)t|(?:un)?load|dragdrop|resize|focus|blur)\b\W*?=|abort\b)|(?:l(?:owsrc\b\W*?\b(?:(?:java|vb)script|shell|http)|ivescript)|(?:href|url)\b\W*?\b(?:(?:java|vb)script|shell)|background-image|mocha):|s(?:(?:tyle\b\W*=.*\bexpression\b\W*|ettimeout\b\W*?)\(|rc\b\W*?\b(?:(?:java|vb)script|shell|http):)|a(?:ctivexobject\b|lert\b\W*?\(|sfunction:))|&amp;lt;(?:(?:body\b.*?\b(?:backgroun|onloa)d|input\b.*?\btype\b\W*?\bimage)\b| ?(?:(?:script|meta)\b|iframe)|!\[cdata\[)|(?:\.(?:(?:execscrip|addimpor)t|(?:fromcharcod|cooki)e|innerhtml)|\@import)\b)&quot; \
</div>
</li>
<li class="li1">
<div class="de1">&quot;phase:2,capture,t:none,t:urlDecodeUni,t:htmlEntityDecode,t:compressWhiteSpace,t:lowercase,ctl:auditLogParts=+E,log,auditlog,msg:&#39;Cross-site Scripting (XSS) Attack&#39;,id:&#39;959004&#39;,tag:&#39;WEB_ATTACK/XSS&#39;,logdata:&#39;%{TX.0}&#39;,severity:&#39;2&#39;&quot;</div>
</li>
</ol>
</div>
<p><strong>Et les petits trucs que nous permettent de faire la version 2.5.7 :</strong><br />
(protection contre les bruteforces, il faudra bien sûr changer ARGS:login en fonction de vos champs d&#8217;authentification).</p>
<div class="geshi no config">
<div class="head">SecAction initcol:ip=%{REMOTE_ADDR},nolog</div>
<ol>
<li class="li1">
<div class="de1">SecRule ARGS:login &quot;!^$&quot; \
</div>
</li>
<li class="li1">
<div class="de1">nolog,phase:1,setvar:ip.auth_attempt=+1,deprecatevar:ip.auth_attempt=20/120
</div>
</li>
<li class="li1">
<div class="de1">SecRule IP:AUTH_ATTEMPT &quot;@gt 25&quot; \
</div>
</li>
<li class="li1">
<div class="de1">log,drop,phase:1,msg:&#39;Possible Brute Force Attack&quot;</div>
</li>
</ol>
</div>
<p>Une fois que vous avez terminé votre fichier de configuration, n&#8217;oubliez pas le <strong>/etc/init.d/apache2 restart</strong><br />
Sinon, comme dit, ce ne sont que des exemples, &#8230; la doc est très complète : http://www.modsecurity.org/documentation/</p>

                            <div id="aspdf">
                                <a href="http://blog.gaetan-grigis.eu/wp-content/plugins/as-pdf/generate.php?post=307">
                                    <span>Télécharger l'article au format PDF</span>
                                </a>
                            </div>
                        <hr /><h2>Articles similaires : </h2><ul><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/modsecurity-mise-en-place-de-restrictions-sur-les-regles-de-restrictions/" rel="bookmark" title="Permanent Link: ModSecurity mise en place de restrictions sur les règles de restrictions ^^">ModSecurity mise en place de restrictions sur les règles de restrictions ^^</a></li><li><a href="http://blog.gaetan-grigis.eu/mes-applicationsscripts/" rel="bookmark" title="Permanent Link: Mes Applications/Scripts">Mes Applications/Scripts</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration-de-serveurs-apache-virtualhost/" rel="bookmark" title="Permanent Link: Administration de serveurs apache : virtualhost">Administration de serveurs apache : virtualhost</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/configuration-de-processus-apache-au-poil/" rel="bookmark" title="Permanent Link: Configuration de processus apache au poil &#8230;">Configuration de processus apache au poil &#8230;</a></li><li><a href="http://blog.gaetan-grigis.eu/systeme/administration/ameliorer-les-performances-dapache-avec-nginx/" rel="bookmark" title="Permanent Link: Améliorer les performances d&#8217;apache avec nginx">Améliorer les performances d&#8217;apache avec nginx</a></li></ul><hr /><small>Copyright &copy; 2008-2011 - Gaetan Grigis - <a href="http://blog.gaetan-grigis.eu">blog.gaetan-grigis.eu</a> </small>]]></content:encoded>
			<wfw:commentRss>http://blog.gaetan-grigis.eu/systeme/administration-de-serveurs-apache-modsecurity2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

