<?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>Un peu de tout &#187; Exim</title>
	<atom:link href="http://didier.misson.net/blog/tag/exim/feed/" rel="self" type="application/rss+xml" />
	<link>http://didier.misson.net/blog</link>
	<description>Un blog libre utilisant WordPress</description>
	<lastBuildDate>Mon, 26 Jul 2010 23:58:10 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>mail from www-data@stock.ovh.net &#8230;</title>
		<link>http://didier.misson.net/blog/2008/10/01/mail-from-www-datastockovhnet/</link>
		<comments>http://didier.misson.net/blog/2008/10/01/mail-from-www-datastockovhnet/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 21:50:01 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[mails]]></category>
		<category><![CDATA[OVH]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=676</guid>
		<description><![CDATA[Share Vous avez un serveur Linux chez OVH ? Certains de vos mails, mails système ou venant de script PHP, arrivent avec comme origine une adresse www-data@stock.ovh.net ou root@stock.ovh.net ? Ou des mails n&#8217;arrivent pas, bloqués par le serveur SMTP du destinataire ? Vérifiez le log d&#8217;Exim4, et vous trouvez probablement ce genre de messages [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2008/10/01/mail-from-www-datastockovhnet/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2008/10/01/mail-from-www-datastockovhnet/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2008/10/01/mail-from-www-datastockovhnet/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>Vous avez un serveur Linux chez OVH ?</p>
<p style="text-align: center;"><a href="http://www.ovh.com"><img class="size-full wp-image-679 aligncenter" title="ovh_dedicated_top" src="http://didier.misson.net/blog/wp-content/uploads/2008/10/ovh_dedicated_top.jpg" alt="" width="500" height="163" /></a></p>
<p><span style="color: #ff9900;"><strong>Certains de vos mails, mails système ou venant de script PHP, arrivent avec comme origine une adresse <span style="color: #ff0000;">www-data@stock.ovh.net</span> ou <span style="color: #ff0000;">root@stock.ovh.net</span> ? </strong></span></p>
<p><span style="color: #ff9900;"><strong>Ou d</strong></span><span style="color: #ff9900;"><strong>es mails n&#8217;arrivent pas, <span style="color: #ff0000;">bloqués par le serveur SMTP du destinataire</span> ?</strong></span></p>
<p><span id="more-676"></span></p>
<p><strong>Vérifiez le log d&#8217;Exim4</strong>, et vous trouvez probablement ce genre de messages (ça doit être le même genre d&#8217;erreur en Postifx ou Qmail):</p>
<pre># <span style="color: #ff9900;"><strong>less /var/log/exim4/mainlog</strong></span></pre>
<pre>2008-10-01 15:55:24 1KjhCh-0007RG-V2 == romain@adre.serveur.be R=dnslookup T=remote_smtp
defer (-44): <span style="color: #ff0000;">SMTP error from remote mail server after RCPT TO:&lt;romain@adre.serveur.be&gt;:
host smtp.sgsi.serveur.be [130.104.5.67]: 450 4.1.8
<strong>&lt;www-data@stock.ovh.net&gt;: Sender address rejected: Domain not found</strong></span></pre>
<p>(utilisez &laquo;&nbsp;sudo less /var/log/exim4/mainlog&nbsp;&raquo; si vous êtes en Ubuntu)</p>
<p><strong>Le message est très clair&#8230;</strong></p>
<p><em>Le serveur de destination fait une vérification du domaine qui lui envoie le mail. C&#8217;est une protection contre les spams : <span style="color: #ff0000;"><strong>le domaine d&#8217;origine doit exister !</strong></span> &#8230; et effectivement, le domaine stock.ovh.net n&#8217;existe pas ! D&#8217;ailleurs, ce n&#8217;est pas VOTRE domaine&#8230;</em></p>
<p><strong><span style="color: #ff9900;">Si l&#8217;erreur est claire, la solution n&#8217;est pas toujours facile à trouver.</span></strong></p>
<p>Notre serveur est en Debian, mais je pense que c&#8217;est identique avec d&#8217;autres distributions.</p>
<p><strong>Premièrement, les &laquo;&nbsp;www-data&nbsp;&raquo; ou &laquo;&nbsp;root&nbsp;&raquo;, ce sont les noms des users qui ont envoyé ces mails : </strong></p>
<ul>
<li>probablement un script PHP pour le www-data@&#8230; qui est le userid d&#8217;Apache (un formulaire de contact ?)</li>
<li>une tâche système pour le root@&#8230;</li>
</ul>
<p>Ca c&#8217;est clair. Il est préférable que vous positionnez l&#8217;adresse exacte d&#8217;expédition dans vos scripts PHP. C&#8217;est mieux&#8230; surtout si vous avez plusieurs sites Web sur la même machine, mais ce n&#8217;est pas la cause de rejet de votre mail par le serveur SMTP distant&#8230;</p>
<p style="text-align: center;"><a  href="http://www.ovh.com"><img class="size-full wp-image-679 aligncenter" title="ovh_dedicated_top" src="http://didier.misson.net/blog/wp-content/uploads/2008/10/ovh_dedicated_top.jpg" alt="" width="500" height="163" /></a></p>
<p style="text-align: center;">photo (c) OVH</p>
<p><strong><span style="color: #ff9900;">Ce &laquo;&nbsp;@stock.ovh.net&nbsp;&raquo; ? D&#8217;où vient-il ?</span></strong></p>
<p>Après avoir bien cherché&#8230; c&#8217;est le nom de domaine utilisé par défaut pour l&#8217;envoie de mail. Il est tout simplement spécifié dans &laquo;&nbsp;<strong><span style="color: #00ff00;">/etc/mailname</span></strong>&nbsp;&raquo; :</p>
<pre># <span style="color: #00ff00;"><strong>vi /etc/mailname</strong></span></pre>
<pre><span style="color: #ff0000;">stock.ovh.net</span></pre>
<p><span style="color: #ff0000;"><strong>Remplacez ce &laquo;&nbsp;stock.ovh.net&nbsp;&raquo; par le nom de votre domaine</strong></span> (le domaine principal si votre machine supporte plusieurs sites Web de domaines différents).</p>
<p>par exemple :</p>
<pre><span style="color: #ff9900;">mondomaine.be</span></pre>
<p><strong>Ne PAS mettre d&#8217;adresse mail complète ! Ne pas mettre de &laquo;&nbsp;@&nbsp;&raquo; &#8230; Rien que le nom du domaine.</strong></p>
<p>Lors de l&#8217;envoi d&#8217;un mail, si vous n&#8217;avez pas explicitement spécifié l&#8217;adresse d&#8217;origine, le système prendra le userid qui a envoyé ce mail, et y ajoutera automatiquement &laquo;&nbsp;@mondomaine.be&nbsp;&raquo; pour former une adresse mail qui cette fois vient d&#8217;un domaine valable.</p>
<p>A vous quand même de vérifier si une boîte mail existe pour &laquo;&nbsp;root&nbsp;&raquo; ou &laquo;&nbsp;www-data&nbsp;&raquo; pour ce domaine, sans quoi si la personne qui reçoit ce mail fait &laquo;&nbsp;répondre&nbsp;&raquo;, la réponse ne vous parviendra jamais.</p>
<p> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2008/10/01/mail-from-www-datastockovhnet/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Exim4 : quelques commandes</title>
		<link>http://didier.misson.net/blog/2008/08/04/exim4-quelques-commandes/</link>
		<comments>http://didier.misson.net/blog/2008/08/04/exim4-quelques-commandes/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 00:55:42 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[mails]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=382</guid>
		<description><![CDATA[Un rappel de quelques astuces et commandes d'Exim4.]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2008/08/04/exim4-quelques-commandes/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2008/08/04/exim4-quelques-commandes/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2008/08/04/exim4-quelques-commandes/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p style="text-align: left;"><strong><a title="Exim sur le site Wikipedia" href="http://fr.wikipedia.org/wiki/Exim">Exim4</a></strong> pose en général peu de problèmes quand il est bien configuré. Malgré tout, <span style="color: #ff9900;">parfois on a besoin de vérifier les mails en attentes, d&#8217;en supprimer, etc&#8230;</span> et évidemment à ce moment là, on ne se rappelle plus les astuces et commandes nécessaire !</p>
<div id="attachment_396" class="wp-caption aligncenter" style="width: 110px"><a  href="http://didier.misson.net/blog/wp-content/uploads/2008/08/exim1003.jpg" rel="lightbox[382]" class="thickbox no_icon" title="exim1003"><img class="size-full wp-image-396" title="exim1003" src="http://didier.misson.net/blog/wp-content/uploads/2008/08/exim1003.jpg" alt="" width="100" height="100" /></a><p class="wp-caption-text">Exim Logo (c) Jennifer Greenley</p></div>
<p style="text-align: left;"><span style="color: #00ff00;"><strong><span>Un petit rappel s&#8217;impose.</span></strong></span></p>
<p style="text-align: left;"><span id="more-382"></span></p>
<p style="text-align: left;">Une partie de mes explications proviennent de <a  href="http://www.togaware.com/linux/survivor/Exim.html">cette page</a>.</p>
<p style="text-align: left;"><span style="color: #ffcc00;">Le <strong>log d&#8217;Exim</strong> se trouve dans le fichier <strong>/var/log/exim4/mainlog</strong> et les <strong>mails en attente</strong> d&#8217;envoi par Exim se trouve dans <strong>/var/spool/exim4/input</strong> .</span></p>
<p style="text-align: left;">J&#8217;ai pour le moment beaucoup de mails en attente sur mon serveur <a  href="http://www.debian.org/">Debian</a> à la maison.</p>
<p style="text-align: left;">Ce n&#8217;est pas réellement un serveur de mails, mais y tournent <a  href="http://fr.wikipedia.org/wiki/Apache_HTTP_Server">Apache</a> avec quelques sites dont certains en <a  href="http://fr.wikipedia.org/wiki/Apache_HTTP_Server">Drupal</a>, et des outils de monitoring comme <a  href="http://munin.projects.linpro.no/">Munin</a> et de backup comme <a  href="http://backuppc.sourceforge.net/">BackupPC</a>. De ce fait il a besoin de pouvoir envoyer des mails et pour cela, vu que ce serveur est derrière une ligne ADSL avec IP Dynamique, il passe par le serveur SMTP de mon fournisseur EDPnet.</p>
<p style="text-align: left;"><span style="color: #ffcc00;"><strong>Un exemple de log :</strong></span></p>
<pre style="text-align: left;">$ <strong>less /var/log/exim4/mainlog
</strong></pre>
<pre style="text-align: left;">2008-08-03 06:56:34 Start queue run: pid=14058
2008-08-03 06:56:35 1KPKK7-0000DJ-Du Message is frozen
2008-08-03 06:56:35 1KP6yb-0004iT-Tq Message is frozen
2008-08-03 06:56:35 1KP4FE-00011v-Qu Message is frozen
2008-08-03 06:56:35 1KPK0j-00089V-JP Message is frozen
...</pre>
<p style="text-align: left;"><span style="color: #ff9900;">On peut aussi lister les messages &laquo;&nbsp;frozen&nbsp;&raquo;, càd bloqués en attente, par la commande <strong>exim -bp</strong>.</span></p>
<pre style="text-align: left;">:/var/spool/exim4/input# <strong>exim -bp</strong></pre>
<pre style="text-align: left;">13h  1.8K 1KPcos-00082M-Te &lt;&gt; *** frozen ***
          webmaster@misson.net

13h  1.8K 1KPcvq-00089C-3L &lt;&gt; *** frozen ***
          webmaster@misson.net

13h  1.8K 1KPcyU-0008Gd-MC &lt;&gt; *** frozen ***
          webmaster@misson.net</pre>
<pre style="text-align: left;">...</pre>
<p><span style="color: #ffcc00;">La commande <strong>exiqgrep</strong> donne le même résultat, et <strong>exiqgrep -zi</strong> donne uniquement la liste des identifiants des messages.</span></p>
<p><span style="color: #ff9900;">Si vous voulez voir le contenu d&#8217;un de ces messages, une des solutions est d&#8217;aller directement dans le dossier <strong>/var/spool/exim4/input.</strong></span></p>
<p><strong>cd /var/spool/exim4/input</strong></p>
<p>:/var/spool/exim4/input# <strong>ls -l 1KPcyU-0008Gd-MC*</strong><br />
-rw-r&#8212;&#8211; 1 Debian-exim Debian-exim 1484 2008-08-03 14:46 <strong>1KPcyU-0008Gd-MC-D</strong><br />
-rw-r&#8212;&#8211; 1 Debian-exim Debian-exim  725 2008-08-03 14:46 <strong>1KPcyU-0008Gd-MC-H</strong></p>
<p><span style="color: #ffcc00;"><strong>Chaque message est divisé en 2 fichiers, le header du mail (le -H) et le contenu (Data, le -D).</strong></span></p>
<p>Affichez les de façon classique :</p>
<pre>:/var/spool/exim4/input# <strong>less 1KPcyU-0008Gd-MC-H</strong></pre>
<pre>1KPcyU-0008Gd-MC-H
Debian-exim 106 114
&lt;&gt;
1217767574 0
-ident Debian-exim
-received_protocol local
-body_linecount 32
-max_received_linelength 108
-allow_unqualified_recipient
-allow_unqualified_sender
-frozen 1217767575
-localerror
XX
1
webmaster@misson.net

142P Received: from Debian-exim by abrasd03 with local (Exim 4.69)
        id 1KPcyU-0008Gd-MC
        for webmaster@misson.net; Sun, 03 Aug 2008 14:46:14 +0200
037  X-Failed-Recipients: root@misson.net
029  Auto-Submitted: auto-replied
054F From: Mail Delivery System &lt;Mailer-Daemon@misson.net&gt;
025T To: webmaster@misson.net
059  Subject: Mail delivery failed: returning message to sender
041I Message-Id: &lt;E1KPcyU-0008Gd-MC@abrasd03&gt;
038  Date: Sun, 03 Aug 2008 14:46:14 +0200
1KPcyU-0008Gd-MC-H (END)</pre>
<pre>:/var/spool/exim4/input# <strong>less 1KPcyU-0008Gd-MC-D</strong></pre>
<pre>1KPcyU-0008Gd-MC-D
This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  root@misson.net
    SMTP error from remote mail server after end of data:
    host relay.edpnet.be [212.71.0.14]: 550 5.7.1 Blocked by SpamAssassin

------ This is a copy of the message, including all the headers. ------

Return-path: &lt;webmaster@misson.net&gt;
Received: from munin by abrasd03 with local (Exim 4.69)
        (envelope-from &lt;webmaster@misson.net&gt;)
        id 1KPcyU-0008GY-4u
        for root@misson.net; Sun, 03 Aug 2008 14:46:14 +0200
From: webmaster@misson.net (Cron Daemon)
To: root@misson.net
Subject: Cron &lt;munin@abrasd03&gt; if [ -x /usr/bin/munin-cron ]; then /usr/bin/munin-cron; fi
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: &lt;MAILTO=root&gt;
X-Cron-Env: &lt;SHELL=/bin/sh&gt;
X-Cron-Env: &lt;HOME=/var/lib/munin&gt;
X-Cron-Env: &lt;PATH=/usr/bin:/bin&gt;
X-Cron-Env: &lt;LOGNAME=munin&gt;
Message-Id: &lt;E1KPcyU-0008GY-4u@abrasd03&gt;
Date: Sun, 03 Aug 2008 14:46:14 +0200

cp: ne peut créer le fichier régulier `/var/www/munin/': Aucun fichier ou dossier de ce type
cp: ne peut créer le fichier régulier `/var/www/munin/': Aucun fichier ou dossier de ce type
cp: ne peut créer le fichier régulier `/var/www/munin/': Aucun fichier ou dossier de ce type
Cannot open /var/www/munin/kimsufi.com/ks36586.kimsufi.com-cpu.html at /usr/share/munin/munin-html line 488.
1KPcyU-0008Gd-MC-D (END)</pre>
<p>Pour ce message, il est rejeté par le SpamAssassin du serveur SMTP de mon provider Internet EDPnet&#8230; Ils n&#8217;ont pas l&#8217;air d&#8217;aimer certains types de mails techniques, mais ce n&#8217;est pas le sujet de ce billet <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span style="color: #ffcc00;">Si vous voulez <strong>supprimer ce message de la queue d&#8217;Exim4 :</strong> </span></p>
<pre>
<pre>:/var/spool/exim4/input# <strong>exim -Mrm 1KPcyU-0008Gd-MC</strong></pre>
<pre>Message 1KPcyU-0008Gd-MC has been removed</pre>
</pre>
<p><span style="color: #ff9900;">Pour pouvoir supprimer un message, vous devez soit être l&#8217;expéditeur de ce message, soit être administrateur (root).</span></p>
<p><span style="color: #ffcc00;">La commande <strong>exiqgrep</strong> peut être utilisée pour nettoyer les mails en queue :</span><br />
Pour avoir la liste des mails en queue :</p>
<pre># <strong>exiqgrep -zi</strong>
1KP6tl-0004b9-C7
1KP6yb-0004iT-Tq
1KP73R-0004ow-IU
...</pre>
<p><span style="color: #ff9900;">Pour la liste des mails en queue depuis plus de (-o older) 24h (86400 secondes) :</span></p>
<pre># <strong>exiqgrep -zi -o 86400</strong></pre>
<p>et finalement, <span style="color: #ff9900;">pour supprimer les mails en queue depuis plus de 24h :</span></p>
<pre>
# <strong>exiqgrep -zi -o 86400 | xargs exim -Mrm</strong>
Message 1KP6tl-0004b9-C7 has been removed
Message 1KP6yb-0004iT-Tq has been removed
Message 1KP73R-0004ow-IU has been removed
Message 1KP78I-0004vH-7Y has been removed
...</pre>
<p><em>Ca peut aider quand vous avez compris le problème et que les 350 mails d&#8217;erreur qui n&#8217;ont pas été envoyé vous sont maintenant inutile !</em></p>
<p> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Par curiosité, <span style="color: #ff9900;">le log donne ensuite ce genre de message :</span></p>
<pre>
<pre>2008-08-04 04:34:38 1KP9A6-0001F8-Ca removed by root</pre>
<pre>2008-08-04 04:34:38 1KP9A6-0001F8-Ca Completed</pre>
<pre>2008-08-04 04:34:38 1KP9Ex-0001Lo-61 removed by root</pre>
<p>2008-08-04 04:34:38 1KP9Ex-0001Lo-61 Completed</p>
<pre>2008-08-04 04:34:38 1KP9Jm-0001Te-Kx removed by root</pre>
<p>2008-08-04 04:34:38 1KP9Jm-0001Te-Kx Completed</p>
<pre>...</pre>
</pre>
<p><span style="color: #ffcc00;">Si vous voulez releaser manuellement un message qui est en bloqué (frozen), la commande est :</span></p>
<pre>
<pre>
<pre><strong>exim -v -M 1KQJ9J-0001gW-FA</strong></pre>
</pre>
</pre>
<dl id="attachment_396" class="wp-caption aligncenter" style="width: 110px;">
<dt class="wp-caption-dt"><a  href="http://didier.misson.net/blog/wp-content/uploads/2008/08/exim1003.jpg" rel="lightbox[382]" class="thickbox no_icon" title="exim1003"><img class="size-full wp-image-396" title="exim1003" src="http://didier.misson.net/blog/wp-content/uploads/2008/08/exim1003.jpg" alt="" width="100" height="100" /></a></dt>
</dl>
<pre></pre>
<p><strong><span style="color: #ff9900;">Mise à jour du 27 septembre 2008 :</span></strong></p>
<p>La commande précédente est intéressante pour releaser UN mail bloqué.</p>
<p><span style="color: #ff9900;">Mais que faire pour releaser la totalité des mails bloqués ?</span></p>
<p>Dans /var/spool/exim4/input, vous avez tous les mails bloqués. Mais ce n&#8217;est pas pratique, car il y a (en général) 2 fichiers par mails, les -D et -H.</p>
<p><strong>Plus intéressant est le dossier /var/spool/exim4/msglog !</strong></p>
<p><span style="color: #ff9900;">Une commande simple, càd la même commande que tantôt mais étendue à la totalité des mails en attente, permet de libérer et relancer la totalité des mails qui se trouvent dans ce dossier :</span></p>
<p><span style="color: #00ff00;"><strong>cd /var/spool/exim4/msglog/</strong></span></p>
<p><span style="color: #00ff00;"><strong>exim -v -M *</strong></span></p>
<p>Et voilà ! <span style="color: #ff9900;">Tous les mails sont releasés !</span></p>
<p>On trouve ce genre de messages dans le /var/log/exim4/mainlog :</p>
<pre>2008-09-27 16:42:57 1Kispy-0000Ob-9y <span style="color: #ff0000;"><strong>Unfrozen by forced delivery</strong></span>
2008-09-27 16:42:57 1Kispy-0000Ob-9y =&gt; dominique &lt;nobody@mon-domaine.net&gt; R=local_user T=maildir_home
2008-09-27 16:42:57 1Kispy-0000Ob-9y <span style="color: #ff0000;">Completed</span>
2008-09-27 16:42:57 1Kitm2-0003Te-78 Unfrozen by forced delivery
2008-09-27 16:42:57 1Kitm2-0003Te-78 =&gt; dominique &lt;nobody@mon-domaine.net&gt; R=local_user T=maildir_home
2008-09-27 16:42:57 1Kitm2-0003Te-78 Completed
2008-09-27 16:42:57 1Kiui9-0006WA-Ce Unfrozen by forced delivery
2008-09-27 16:42:57 1Kiui9-0006WA-Ce =&gt; dominique &lt;nobody@mon-domaine.net&gt; R=local_user T=maildir_home
2008-09-27 16:42:57 1Kiui9-0006WA-Ce Completed</pre>
<p> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2008/08/04/exim4-quelques-commandes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian : faille de sécurité dans OpenSSL</title>
		<link>http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/</link>
		<comments>http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/#comments</comments>
		<pubDate>Thu, 15 May 2008 14:41:19 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sécurisation]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/</guid>
		<description><![CDATA[Share Vous l&#8217;avez peut-être déjà lu, mais une faille de sécurité assez critique affecte OpenSSL dans les distributions Debian et dérivés (Ubuntu par exemple). OpenSSL est utilisé pour les connexions &#171;&#160;sécurisées&#160;&#187; en SSH et les certificats SSL des sites web. Ce sont les applications les plus connues, mais d&#8217;autres utilisent également OpenSSL, comme OpenVPN, IMAPS, [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>Vous l&#8217;avez peut-être déjà lu, mais une <strong>faille de sécurité assez critique affecte <a href="http://fr.wikipedia.org/wiki/Openssl">OpenSSL</a></strong> dans les distributions <strong>Debian</strong> et dérivés (<strong>Ubuntu</strong> par exemple). OpenSSL est utilisé pour les connexions &laquo;&nbsp;sécurisées&nbsp;&raquo; en <strong>SSH</strong> et les <strong>certificats SSL</strong> des sites web. Ce sont les applications les plus connues, mais d&#8217;autres utilisent également OpenSSL, comme OpenVPN, IMAPS, POPS&#8230;</p>
<p style="text-align: center"><a  href="http://xkcd.com/221/" title="Générateur de nombre aléatoire"><img src="http://didier.misson.net/blog/wp-content/uploads/2008/05/random_number.png" alt="Générateur de nombre aléatoire" /></a></p>
<p align="center">dessin en <a  href="http://creativecommons.org/licenses/by-nc/2.5/deed.fr">licence CC by nc</a> du site <a  href="http://xkcd.com/">Xkcd</a></p>
<p><span id="more-267"></span>Le problème, propre à la version inclue dans Debian, est que le générateur de nombre aléatoire utilisé pour générer la clé, n&#8217;est pas vraiment aléatoire&#8230; <em>Pas aléatoire</em> veut dire <em>prédictible</em>,  c&#8217;est à dire qu&#8217;<em>on peut trouver votre clé</em> et entrer en SSH dans votre serveur ou se faire passer pour vous en générant un faux certificat SSL, etc&#8230;</p>
<p>Je ne vais pas tout réexpliquer en détail. Les articles suivants vous en disent un peu plus :</p>
<ul>
<li><a  href="http://linuxfr.org/2008/05/15/24092.html" title="Sécurité : Découverte d'une faille de sécurité critique dans OpenSSL de Debian ">http://linuxfr.org/2008/05/15/24092.html</a></li>
<li><a  href="http://roland.entierement.nu/blog/2008/05/15/branle-bas-sshssl.html" title="Branle-bas SSH/SSL">http://roland.entierement.nu/blog/2008/05/15/branle-bas-sshssl.html</a></li>
</ul>
<p>La première chose à faire est de mettre à jour sa distribution. Ainsi les modules corrigés seront installés :</p>
<pre>aptitude update</pre>
<pre>aptitude dist-upgrade</pre>
<p><strong><u>Mais ce n&#8217;est PAS suffisant !</u> </strong></p>
<p>Les clés faibles (càd facilement crackables) sont encore utilisées sur votre machine.</p>
<p><strong>Il est nécessaire de recréer ces clés !</strong></p>
<p>La procédure varie suivant le programme en cause.</p>
<p>Je reviens sur cette regénération des clés dans mon prochain billet.</p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2008/05/15/debian-faille-de-securite-dans-openssl-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amélioration de la détection de SpamAssassin</title>
		<link>http://didier.misson.net/blog/2007/10/30/amelioration-de-la-detection-de-spamassassin/</link>
		<comments>http://didier.misson.net/blog/2007/10/30/amelioration-de-la-detection-de-spamassassin/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 01:48:31 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Sécurisation]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=146</guid>
		<description><![CDATA[<strong><a href="http://www.exim.org" hreflang="fr">Exim4</a></strong> et <strong><a href="http://spamassassin.apache.org" hreflang="fr">SpamAssassin</a></strong> tournent sur ce serveur <a href="http://www.debian.org/releases/etch/" hreflang="fr">Debian Etch</a>.<br /> Les mails dont le score calculé par SpamAssassin est supérieur à 5 sont <a href="http://didier.misson.net/blog/index.php?2007/10/28/150-exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam" hreflang="fr">automatiquement déplacés dans un <strong>dossier .Junk</strong></a>. ;-) <p> <a href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <a href="http://spamassassin.apache.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a> <p> (le <a href="http://jennifergreenley.com/logo/index.htm" hreflang="fr">logo Exim</a> est de <a href="http://jennifergreenley.com" hreflang="fr">Jenniger Greenley</a>, celui de SpamAssassin est de <a href="http://www.rauh.net/" hreflang="fr">Christian Rauh</a>) <p> <p> Le problème est que <strong>SpamAssassin rate pas mal de spams !</strong><br /> Son score calculé est souvent faible, même devant des spams monstrueux. :-(]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2007/10/30/amelioration-de-la-detection-de-spamassassin/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2007/10/30/amelioration-de-la-detection-de-spamassassin/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2007/10/30/amelioration-de-la-detection-de-spamassassin/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p><strong><a hreflang="fr" href="http://www.exim.org">Exim4</a></strong> et <strong><a  hreflang="fr" href="http://spamassassin.apache.org">SpamAssassin</a></strong> tournent sur ce serveur <a  hreflang="fr" href="http://www.debian.org/releases/etch/">Debian Etch</a>.<br />
Les mails dont le score calculé par SpamAssassin est supérieur à 5 sont <a  hreflang="fr" href="http://didier.misson.net/blog/index.php?2007/10/28/150-exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam">automatiquement déplacés dans un <strong>dossier .Junk</strong></a>. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p>(le <a  hreflang="fr" href="http://jennifergreenley.com/logo/index.htm">logo Exim</a> est de <a  hreflang="fr" href="http://jennifergreenley.com">Jenniger Greenley</a>, celui de SpamAssassin est de <a  hreflang="fr" href="http://www.rauh.net/">Christian Rauh</a>)</p>
<p><span style="color: #ff9900;">Le problème est que <strong>SpamAssassin rate pas mal de spams !</strong><br />
Son score calculé est souvent faible, même devant des spams monstrueux. </span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
<span id="more-146"></span><br />
<span style="color: #ff9900;">La première chose à <strong>vérifier est si SpamAssassin met régulièrement ses règles à jour</strong>.</span></p>
<p>Le programme qui fait cela est <strong>sa-update</strong>. Il est normalement installé en même temps que SpamAssassin.</p>
<p><strong>Je vérifie d&#8217;abord si je peux le lancer manuellement :</strong></p>
<pre># <strong>sa-update</strong>
<span style="color: #ff0000;"><strong>Can't locate Net/DNS.pm in @INC</strong></span> (@INC contains: /usr/share/perl5 /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl) at /usr/bin/sa-update line 91.
BEGIN failed--<strong>compilation aborted</strong> at /usr/bin/sa-update line 91.</pre>
<p>Visiblement, <strong>ça se passe mal&#8230;</strong><br />
Donc qu&#8217;il soit lancé manuellement ou automatiquement, il est certain que <em><strong>les règles de SpamAssassin ne sont pas mises à jour sur ce serveur</strong></em>. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Une recherche Google me conduit vers <a  hreflang="fr" href="http://atmail.com/view_article.php?num=337">cette page</a>.</p>
<p><ins><strong>Je vais appliquer cette correction</strong></ins>.</p>
<p>Il manque des fichiers ou librairies venant de <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/CPAN">CPAN</a>, en particulier le <strong>module Net::DNS</strong>.</p>
<p><a  hreflang="fr" href="http://fr.wikipedia.org">Wikipedia</a> me dit que <strong>CPAN</strong> est <em>une archive dense de logiciels, de bibliothèques de fonctions utilitaires écrits en langage Perl</em>.</p>
<p>Et le même nom <strong>CPAN</strong> est également le nom d&#8217;un module <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Perl_%28langage%29">Perl</a> qui rend aisés le téléchargement, l&#8217;installation, la mise à jour et la maintenance des autres modules Perl qui sont archivés sur le CPAN.</p>
<p><a  hreflang="fr" href="http://www.cpan.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/cpan.jpg" border="0" alt="" /></a></p>
<p>Donc si j&#8217;ai bien compris, <strong>il manque DNS.pm</strong> pour faire tourner l&#8217;update de SpamAssassin.<br />
Pour avoir ce script en perl, il faut installer <strong>le module Net::DNS qui se trouve dans le CPAN</strong>.<br />
Et pour pouvoir installer Net::DNS, il faut d&#8217;abord installer le <strong>module perl MCPAN pour permettre le téléchargement depuis l&#8217;archive CPAN</strong> sur le Net&#8230;</p>
<p>Ca va ? Vous suivez ? (moi j&#8217;ai quand même dû relire ça 2 fois&#8230;)</p>
<p><a  hreflang="fr" href="http://www.debian.org"><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" border="0" alt="" /></a></p>
<p><strong><strong>REMARQUE</strong> :</strong></p>
<p><span style="color: #ff0000;"><em>Il semble qu&#8217;il ne soit pas nécessaire de faire tout cela manuellement sous Debian !</em></span></p>
<p><span style="color: #ff9900;"><strong>Il suffit d&#8217;installer un package : libnet-dns-perl</strong></span></p>
<pre># <strong>apt-get install libnet-dns-perl</strong>
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  libdigest-hmac-perl libnet-ip-perl
The following NEW packages will be installed
  libdigest-hmac-perl libnet-dns-perl libnet-ip-perl
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 292kB of archives.
After unpacking 1044kB of additional disk space will be used.</pre>
<p><strong>Je laisse malgré tout mon explication sur l&#8217;installation manuelle de CPAN</strong>, au cas où vous ne seriez pas sous Debian ou une autre distribution incluant ce package <strong>libnet-dns-perl</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://www.cpan.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/cpan.jpg" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">Je lance donc la commande pour installer CPAN.</span></p>
<pre># <strong>perl -MCPAN -e shell</strong>

/etc/perl/CPAN/Config.pm initialized.

CPAN is the world-wide archive of perl resources. It consists of about
100 sites that all replicate the same contents all around the globe.
Many countries have at least one CPAN site already. The resources
found on CPAN are easily accessible with the CPAN.pm module. If you
want to use CPAN.pm, you have to configure it properly.

If you do not want to enter a dialog now, you can answer 'no' to this
question and I'll try to autoconfigure. (Note: you can revisit this
dialog anytime later by typing 'o conf init' at the cpan prompt.)

<strong>Are you ready for manual configuration? [yes] no</strong>

The following questions are intended to help you with the
configuration. The CPAN module needs a directory of its own to cache
important index files and maybe keep a temporary mirror of CPAN files.
This may be a site-wide directory or a personal directory.

First of all, I'd like to create this directory. Where?

CPAN build and cache directory? [/root/.cpan]

If you want, I can keep the source files after a build in the cpan
home directory. If you choose so then future builds will take the
files from there. If you don't want to keep them, answer 0 to the
next question.

How big should the disk cache be for keeping the build directories
with all the intermediate files?

Cache size for build directory (in MB)? [10]

By default, each time the CPAN module is started, cache scanning
is performed to keep the cache size in sync. To prevent from this,
disable the cache scanning with 'never'.

Perform cache scanning (atstart or never)? [atstart]

To considerably speed up the initial CPAN shell startup, it is
possible to use Storable to create a cache of metadata. If Storable
is not available, the normal index mechanism will be used.

Cache metadata (yes/no)? [yes]

The next option deals with the charset your terminal supports. In
general CPAN is English speaking territory, thus the charset does not
matter much, but some of the aliens out there who upload their
software to CPAN bear names that are outside the ASCII range. If your
terminal supports UTF-8, you say no to the next question, if it
supports ISO-8859-1 (also known as LATIN1) then you say yes, and if it
supports neither nor, your answer does not matter, you will not be
able to read the names of some authors anyway. If you answer no, names
will be output in UTF-8.

Your terminal expects ISO-8859-1 (yes/no)? [yes]

If you have one of the readline packages (Term::ReadLine::Perl,
Term::ReadLine::Gnu, possibly others) installed, the interactive CPAN
shell will have history support. The next two questions deal with the
filename of the history file and with its size. If you do not want to
set this variable, please hit SPACE RETURN to the following question.

File to save your history? [/root/.cpan/histfile]

Number of lines to save? [100]

The CPAN module can detect when a module that which you are trying to
build depends on prerequisites. If this happens, it can build the
prerequisites for you automatically ('follow'), ask you for
confirmation ('ask'), or just ignore them ('ignore'). Please set your
policy to one of the three values.

Policy on building prerequisites (follow, ask or ignore)? [ask]

The CPAN module will need a few external programs to work properly.
Please correct me, if I guess the wrong path for a program. Don't
panic if you do not have some of them, just press ENTER for those. To
disable the use of a download program, you can type a space followed
by ENTER.

Where is your gzip program? [/bin/gzip]

Where is your tar program? [/bin/tar]

Warning: unzip not found in PATH
Where is your unzip program? []

Where is your make program? [/usr/bin/make]

Where is your lynx program? [/usr/bin/lynx]

Where is your wget program? [/usr/bin/wget]

Warning: ncftpget not found in PATH
Where is your ncftpget program? []

Warning: ncftp not found in PATH
Where is your ncftp program? []

Where is your ftp program? [/usr/bin/ftp]

Where is your gpg program? [/usr/bin/gpg]

What is your favorite pager program? [/usr/bin/less]

What is your favorite shell? [/bin/bash]

Every Makefile.PL is run by perl in a separate process. Likewise we
run 'make' and 'make install' in processes. If you have any
parameters (e.g. PREFIX, LIB, UNINST or the like) you want to pass
to the calls, please specify them here.

If you don't understand this question, just press ENTER.

Parameters for the 'perl Makefile.PL' command?
Typical frequently used settings:

    PREFIX=~/perl       non-root users (please see manual for more hints)

Your choice:  [INSTALLDIRS=site]

Parameters for the 'make' command?
Typical frequently used setting:

    -j3              dual processor system

Your choice:  []

Parameters for the 'make install' command?
Typical frequently used setting:

    UNINST=1         to always uninstall potentially conflicting files

Your choice:  []

Sometimes you may wish to leave the processes run by CPAN alone
without caring about them. As sometimes the Makefile.PL contains
question you're expected to answer, you can set a timer that will
kill a 'perl Makefile.PL' process after the specified time in seconds.

If you set this value to 0, these processes will wait forever. This is
the default and recommended setting.

Timeout for inactivity during Makefile.PL? [0]

If you're accessing the net via proxies, you can specify them in the
CPAN configuration or via environment variables. The variable in
the $CPAN::Config takes precedence.

Your ftp_proxy? []

Your http_proxy? []

Your no_proxy? []

commit: wrote /etc/perl/CPAN/Config.pm
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')

cpan&gt;</pre>
<p><a  hreflang="fr" href="http://www.cpan.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/cpan.jpg" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;"><strong>Je continue avec l&#8217;installation de Net::DNS</strong></span></p>
<pre>cpan&gt; <strong>install Net::DNS</strong>
CPAN: Storable loaded ok
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/01mailrc.txt.gz
Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/modules/02packages.details.txt.gz
Going to read /root/.cpan/sources/modules/02packages.details.txt.gz
  Database was generated on Mon, 29 Oct 2007 20:37:58 GMT

  There's a new CPAN.pm version (v1.9203) available!
  [Current version is v1.7602]
  You might want to try
    install Bundle::CPAN
    reload cpan
  without quitting the current session. It should be a seamless upgrade
  while we are running...

Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/modules/03modlist.data.gz
Going to read /root/.cpan/sources/modules/03modlist.data.gz
Going to write /root/.cpan/Metadata
Running install for module Net::DNS
Running make for O/OL/OLAF/Net-DNS-0.61.tar.gz
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/id/O/OL/OLAF/Net-DNS-0.61.tar.gz
CPAN: Digest::MD5 loaded ok
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/id/O/OL/OLAF/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/O/OL/OLAF/Net-DNS-0.61.tar.gz ok
Scanning cache /root/.cpan/build for sizes
Net-DNS-0.61/
Net-DNS-0.61/Changes
Net-DNS-0.61/contrib/
Net-DNS-0.61/contrib/check_soa
Net-DNS-0.61/contrib/check_zone
Net-DNS-0.61/contrib/dnswalk.README
Net-DNS-0.61/contrib/loc2earth.fcgi
Net-DNS-0.61/contrib/loclist.pl
Net-DNS-0.61/contrib/README
Net-DNS-0.61/demo/
Net-DNS-0.61/demo/axfr
Net-DNS-0.61/demo/check_soa
Net-DNS-0.61/demo/check_zone
Net-DNS-0.61/demo/example_recurse.pl
Net-DNS-0.61/demo/mresolv
Net-DNS-0.61/demo/mx
Net-DNS-0.61/demo/perldig
Net-DNS-0.61/demo/README
Net-DNS-0.61/demo/trace_dns.pl
Net-DNS-0.61/DNS.xs
Net-DNS-0.61/lib/
Net-DNS-0.61/lib/Net/
Net-DNS-0.61/lib/Net/DNS/
Net-DNS-0.61/lib/Net/DNS/FAQ.pod
Net-DNS-0.61/lib/Net/DNS/Header.pm
Net-DNS-0.61/lib/Net/DNS/Nameserver.pm
Net-DNS-0.61/lib/Net/DNS/Packet.pm
Net-DNS-0.61/lib/Net/DNS/Question.pm
Net-DNS-0.61/lib/Net/DNS/Resolver/
Net-DNS-0.61/lib/Net/DNS/Resolver/Base.pm
Net-DNS-0.61/lib/Net/DNS/Resolver/Cygwin.pm
Net-DNS-0.61/lib/Net/DNS/Resolver/Recurse.pm
Net-DNS-0.61/lib/Net/DNS/Resolver/UNIX.pm
Net-DNS-0.61/lib/Net/DNS/Resolver/Win32.pm
Net-DNS-0.61/lib/Net/DNS/Resolver.pm
Net-DNS-0.61/lib/Net/DNS/RR/
Net-DNS-0.61/lib/Net/DNS/RR/A.pm
Net-DNS-0.61/lib/Net/DNS/RR/AAAA.pm
Net-DNS-0.61/lib/Net/DNS/RR/AFSDB.pm
Net-DNS-0.61/lib/Net/DNS/RR/CERT.pm
Net-DNS-0.61/lib/Net/DNS/RR/CNAME.pm
Net-DNS-0.61/lib/Net/DNS/RR/DNAME.pm
Net-DNS-0.61/lib/Net/DNS/RR/EID.pm
Net-DNS-0.61/lib/Net/DNS/RR/HINFO.pm
Net-DNS-0.61/lib/Net/DNS/RR/IPSECKEY.pm
Net-DNS-0.61/lib/Net/DNS/RR/ISDN.pm
Net-DNS-0.61/lib/Net/DNS/RR/LOC.pm
Net-DNS-0.61/lib/Net/DNS/RR/MB.pm
Net-DNS-0.61/lib/Net/DNS/RR/MG.pm
Net-DNS-0.61/lib/Net/DNS/RR/MINFO.pm
Net-DNS-0.61/lib/Net/DNS/RR/MR.pm
Net-DNS-0.61/lib/Net/DNS/RR/MX.pm
Net-DNS-0.61/lib/Net/DNS/RR/NAPTR.pm
Net-DNS-0.61/lib/Net/DNS/RR/NIMLOC.pm
Net-DNS-0.61/lib/Net/DNS/RR/NS.pm
Net-DNS-0.61/lib/Net/DNS/RR/NSAP.pm
Net-DNS-0.61/lib/Net/DNS/RR/NULL.pm
Net-DNS-0.61/lib/Net/DNS/RR/OPT.pm
Net-DNS-0.61/lib/Net/DNS/RR/PTR.pm
Net-DNS-0.61/lib/Net/DNS/RR/PX.pm
Net-DNS-0.61/lib/Net/DNS/RR/RP.pm
Net-DNS-0.61/lib/Net/DNS/RR/RT.pm
Net-DNS-0.61/lib/Net/DNS/RR/SOA.pm
Net-DNS-0.61/lib/Net/DNS/RR/SPF.pm
Net-DNS-0.61/lib/Net/DNS/RR/SRV.pm
Net-DNS-0.61/lib/Net/DNS/RR/SSHFP.pm
Net-DNS-0.61/lib/Net/DNS/RR/TKEY.pm
Net-DNS-0.61/lib/Net/DNS/RR/TSIG.pm
Net-DNS-0.61/lib/Net/DNS/RR/TXT.pm
Net-DNS-0.61/lib/Net/DNS/RR/Unknown.pm
Net-DNS-0.61/lib/Net/DNS/RR/X25.pm
Net-DNS-0.61/lib/Net/DNS/RR.pm
Net-DNS-0.61/lib/Net/DNS/Update.pm
Net-DNS-0.61/lib/Net/DNS.pm
Net-DNS-0.61/Makefile.PL
Net-DNS-0.61/MANIFEST
Net-DNS-0.61/META.yml
Net-DNS-0.61/netdns.c
Net-DNS-0.61/netdns.h
Net-DNS-0.61/README
Net-DNS-0.61/t/
Net-DNS-0.61/t/.resolv.conf
Net-DNS-0.61/t/00-load.t
Net-DNS-0.61/t/00-pod.t
Net-DNS-0.61/t/00-version.t
Net-DNS-0.61/t/01-resolver-env.t
Net-DNS-0.61/t/01-resolver-file.t
Net-DNS-0.61/t/01-resolver-opt.t
Net-DNS-0.61/t/01-resolver.t
Net-DNS-0.61/t/02-header.t
Net-DNS-0.61/t/03-question.t
Net-DNS-0.61/t/04-packet-unique-push.t
Net-DNS-0.61/t/04-packet.t
Net-DNS-0.61/t/05-rr-opt.t
Net-DNS-0.61/t/05-rr-rrsort.t
Net-DNS-0.61/t/05-rr-sshfp.t
Net-DNS-0.61/t/05-rr-txt.t
Net-DNS-0.61/t/05-rr-unknown.t
Net-DNS-0.61/t/05-rr.t
Net-DNS-0.61/t/06-update.t
Net-DNS-0.61/t/07-misc.t
Net-DNS-0.61/t/08-online.t
Net-DNS-0.61/t/09-tkey.t
Net-DNS-0.61/t/10-recurse.t
Net-DNS-0.61/t/11-escapedchars.t
Net-DNS-0.61/t/11-inet6.t
Net-DNS-0.61/t/12-compression.t
Net-DNS-0.61/t/custom.txt
Net-DNS-0.61/TODO

  CPAN.pm: Going to build O/OL/OLAF/Net-DNS-0.61.tar.gz

The libraries needed to support IPv6 transport have not been found.
You will need recent versions of the IO::Socket::INET6 and Socket6
libraries (from CPAN). 

Testing if you have a C compiler and the needed header files....
You have a working compiler.

You appear to be directly connected to the Internet.  I have some tests
that try to query live nameservers.

<strong>Do you want to enable these tests? [y] y</strong>
Checking if your kit is complete...
Looks good
Warning: prerequisite Digest::HMAC_MD5 1 not found.
Warning: prerequisite Net::IP 1.2 not found.
Writing Makefile for Net::DNS
---- Unsatisfied dependencies detected during [O/OL/OLAF/Net-DNS-0.61.tar.gz] -----
    Digest::HMAC_MD5
    Net::IP
<strong>Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]</strong>
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module Digest::HMAC_MD5
Running make for G/GA/GAAS/Digest-HMAC-1.01.tar.gz
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/id/G/GA/GAAS/Digest-HMAC-1.01.tar.gz
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/id/G/GA/GAAS/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/G/GA/GAAS/Digest-HMAC-1.01.tar.gz ok
Digest-HMAC-1.01/
Digest-HMAC-1.01/rfc2104.txt
Digest-HMAC-1.01/Makefile.PL
Digest-HMAC-1.01/lib/
Digest-HMAC-1.01/lib/Digest/
Digest-HMAC-1.01/lib/Digest/HMAC.pm
Digest-HMAC-1.01/lib/Digest/HMAC_SHA1.pm
Digest-HMAC-1.01/lib/Digest/HMAC_MD5.pm
Digest-HMAC-1.01/Changes
Digest-HMAC-1.01/t/
Digest-HMAC-1.01/t/rfc2202.t
Digest-HMAC-1.01/README
Digest-HMAC-1.01/MANIFEST

  CPAN.pm: Going to build G/GA/GAAS/Digest-HMAC-1.01.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Digest::HMAC
cp lib/Digest/HMAC_MD5.pm blib/lib/Digest/HMAC_MD5.pm
cp lib/Digest/HMAC.pm blib/lib/Digest/HMAC.pm
cp lib/Digest/HMAC_SHA1.pm blib/lib/Digest/HMAC_SHA1.pm
Manifying blib/man3/Digest::HMAC_MD5.3pm
Manifying blib/man3/Digest::HMAC.3pm
Manifying blib/man3/Digest::HMAC_SHA1.3pm
  /usr/bin/make  -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/rfc2202....ok
All tests successful.
Files=1, Tests=14,  0 wallclock secs ( 0.04 cusr +  0.02 csys =  0.06 CPU)
  /usr/bin/make test -- OK
Running make install
Installing /usr/local/share/perl/5.8.8/Digest/HMAC_MD5.pm
Installing /usr/local/share/perl/5.8.8/Digest/HMAC.pm
Installing /usr/local/share/perl/5.8.8/Digest/HMAC_SHA1.pm
Installing /usr/local/man/man3/Digest::HMAC_MD5.3pm
Installing /usr/local/man/man3/Digest::HMAC.3pm
Installing /usr/local/man/man3/Digest::HMAC_SHA1.3pm
Writing /usr/local/lib/perl/5.8.8/auto/Digest/HMAC/.packlist
Appending installation info to /usr/local/lib/perl/5.8.8/perllocal.pod
  /usr/bin/make install  -- OK
Running install for module Net::IP
Running make for M/MA/MANU/Net-IP-1.25.tar.gz
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz
Fetching with LWP:
  ftp://ftp.perl.org/pub/CPAN/authors/id/M/MA/MANU/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/M/MA/MANU/Net-IP-1.25.tar.gz ok
Net-IP-1.25/
Net-IP-1.25/iptab
Net-IP-1.25/META.yml
Net-IP-1.25/IP.pm
Net-IP-1.25/COPYING
Net-IP-1.25/Changes
Net-IP-1.25/t/
Net-IP-1.25/t/ExtUtils/
Net-IP-1.25/t/ExtUtils/TBone.pm
Net-IP-1.25/t/ipv4.t
Net-IP-1.25/t/ipv6.t
Net-IP-1.25/ipcount
Net-IP-1.25/MANIFEST
Net-IP-1.25/Net-IP.spec.PL
Net-IP-1.25/README
Net-IP-1.25/Makefile.PL

  CPAN.pm: Going to build M/MA/MANU/Net-IP-1.25.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Net::IP
cp IP.pm blib/lib/Net/IP.pm
cp ipcount blib/script/ipcount
/usr/bin/perl "-MExtUtils::MY" -e "MY-&gt;fixin(shift)" blib/script/ipcount
cp iptab blib/script/iptab
/usr/bin/perl "-MExtUtils::MY" -e "MY-&gt;fixin(shift)" blib/script/iptab
Manifying blib/man3/Net::IP.3pm
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" Net-IP.spec.PL Net-IP.spec
  /usr/bin/make  -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/ipv4....ok
t/ipv6....ok
All tests successful.
Files=2, Tests=48,  1 wallclock secs ( 0.54 cusr +  0.08 csys =  0.62 CPU)
  /usr/bin/make test -- OK
Running make install
Installing /usr/local/share/perl/5.8.8/Net/IP.pm
Installing /usr/local/man/man3/Net::IP.3pm
Installing /usr/local/bin/ipcount
Installing /usr/local/bin/iptab
Writing /usr/local/lib/perl/5.8.8/auto/Net/IP/.packlist
Appending installation info to /usr/local/lib/perl/5.8.8/perllocal.pod
  /usr/bin/make install  -- OK
Running make for O/OL/OLAF/Net-DNS-0.61.tar.gz
  Is already unwrapped into directory /root/.cpan/build/Net-DNS-0.61

  CPAN.pm: Going to build O/OL/OLAF/Net-DNS-0.61.tar.gz

cp lib/Net/DNS/RR/A.pm blib/lib/Net/DNS/RR/A.pm
cp lib/Net/DNS/Resolver/Win32.pm blib/lib/Net/DNS/Resolver/Win32.pm
cp lib/Net/DNS/RR/Unknown.pm blib/lib/Net/DNS/RR/Unknown.pm
cp lib/Net/DNS/RR/IPSECKEY.pm blib/lib/Net/DNS/RR/IPSECKEY.pm
cp lib/Net/DNS/RR/EID.pm blib/lib/Net/DNS/RR/EID.pm
cp lib/Net/DNS/RR/ISDN.pm blib/lib/Net/DNS/RR/ISDN.pm
cp lib/Net/DNS/RR/MX.pm blib/lib/Net/DNS/RR/MX.pm
cp lib/Net/DNS/Header.pm blib/lib/Net/DNS/Header.pm
cp lib/Net/DNS/RR/SOA.pm blib/lib/Net/DNS/RR/SOA.pm
cp lib/Net/DNS/RR/OPT.pm blib/lib/Net/DNS/RR/OPT.pm
cp lib/Net/DNS/RR/NIMLOC.pm blib/lib/Net/DNS/RR/NIMLOC.pm
cp lib/Net/DNS/RR/TXT.pm blib/lib/Net/DNS/RR/TXT.pm
cp lib/Net/DNS/RR/DNAME.pm blib/lib/Net/DNS/RR/DNAME.pm
cp lib/Net/DNS/RR/AAAA.pm blib/lib/Net/DNS/RR/AAAA.pm
cp lib/Net/DNS.pm blib/lib/Net/DNS.pm
cp lib/Net/DNS/RR/X25.pm blib/lib/Net/DNS/RR/X25.pm
cp lib/Net/DNS/RR/RP.pm blib/lib/Net/DNS/RR/RP.pm
cp lib/Net/DNS/Resolver/Recurse.pm blib/lib/Net/DNS/Resolver/Recurse.pm
cp lib/Net/DNS/Resolver/Cygwin.pm blib/lib/Net/DNS/Resolver/Cygwin.pm
cp lib/Net/DNS/RR/PTR.pm blib/lib/Net/DNS/RR/PTR.pm
cp lib/Net/DNS/RR/NS.pm blib/lib/Net/DNS/RR/NS.pm
cp lib/Net/DNS/RR/TSIG.pm blib/lib/Net/DNS/RR/TSIG.pm
cp lib/Net/DNS/Update.pm blib/lib/Net/DNS/Update.pm
cp lib/Net/DNS/Resolver.pm blib/lib/Net/DNS/Resolver.pm
cp lib/Net/DNS/RR/PX.pm blib/lib/Net/DNS/RR/PX.pm
cp lib/Net/DNS/Nameserver.pm blib/lib/Net/DNS/Nameserver.pm
cp lib/Net/DNS/RR/NULL.pm blib/lib/Net/DNS/RR/NULL.pm
cp lib/Net/DNS/RR/LOC.pm blib/lib/Net/DNS/RR/LOC.pm
cp lib/Net/DNS/RR/SRV.pm blib/lib/Net/DNS/RR/SRV.pm
cp lib/Net/DNS/RR/RT.pm blib/lib/Net/DNS/RR/RT.pm
cp lib/Net/DNS/RR/AFSDB.pm blib/lib/Net/DNS/RR/AFSDB.pm
cp lib/Net/DNS/RR/MR.pm blib/lib/Net/DNS/RR/MR.pm
cp lib/Net/DNS/RR/MINFO.pm blib/lib/Net/DNS/RR/MINFO.pm
cp lib/Net/DNS/FAQ.pod blib/lib/Net/DNS/FAQ.pod
cp lib/Net/DNS/RR/CNAME.pm blib/lib/Net/DNS/RR/CNAME.pm
cp lib/Net/DNS/Question.pm blib/lib/Net/DNS/Question.pm
cp lib/Net/DNS/RR/SSHFP.pm blib/lib/Net/DNS/RR/SSHFP.pm
cp lib/Net/DNS/RR/NAPTR.pm blib/lib/Net/DNS/RR/NAPTR.pm
cp lib/Net/DNS/RR/SPF.pm blib/lib/Net/DNS/RR/SPF.pm
cp lib/Net/DNS/Packet.pm blib/lib/Net/DNS/Packet.pm
cp lib/Net/DNS/RR.pm blib/lib/Net/DNS/RR.pm
cp lib/Net/DNS/RR/HINFO.pm blib/lib/Net/DNS/RR/HINFO.pm
cp lib/Net/DNS/RR/MG.pm blib/lib/Net/DNS/RR/MG.pm
cp lib/Net/DNS/RR/TKEY.pm blib/lib/Net/DNS/RR/TKEY.pm
cp lib/Net/DNS/RR/NSAP.pm blib/lib/Net/DNS/RR/NSAP.pm
cp lib/Net/DNS/RR/CERT.pm blib/lib/Net/DNS/RR/CERT.pm
cp lib/Net/DNS/Resolver/UNIX.pm blib/lib/Net/DNS/Resolver/UNIX.pm
cp lib/Net/DNS/RR/MB.pm blib/lib/Net/DNS/RR/MB.pm
cp lib/Net/DNS/Resolver/Base.pm blib/lib/Net/DNS/Resolver/Base.pm
cc -c   -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"0.61\" -DXS_VERSION=\"0.61\" -fPIC "-I/usr/lib/perl/5.8/CORE"   netdns.c
ar cr netdns.a netdns.o
/usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp  -typemap /usr/share/perl/5.8/ExtUtils/typemap  DNS.xs &gt; DNS.xsc &amp;&amp; mv DNS.xsc DNS.c
cc -c   -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2   -DVERSION=\"0.61\" -DXS_VERSION=\"0.61\" -fPIC "-I/usr/lib/perl/5.8/CORE"   DNS.c
Running Mkbootstrap for Net::DNS ()
chmod 644 DNS.bs
rm -f blib/arch/auto/Net/DNS/DNS.so
cc  -shared -L/usr/local/lib DNS.o  -o blib/arch/auto/Net/DNS/DNS.so netdns.a   \
                \

chmod 755 blib/arch/auto/Net/DNS/DNS.so
cp DNS.bs blib/arch/auto/Net/DNS/DNS.bs
chmod 644 blib/arch/auto/Net/DNS/DNS.bs
Manifying blib/man3/Net::DNS::RR::A.3pm
Manifying blib/man3/Net::DNS::RR::Unknown.3pm
Manifying blib/man3/Net::DNS::Resolver::Win32.3pm
Manifying blib/man3/Net::DNS::RR::IPSECKEY.3pm
Manifying blib/man3/Net::DNS::RR::EID.3pm
Manifying blib/man3/Net::DNS::RR::ISDN.3pm
Manifying blib/man3/Net::DNS::RR::MX.3pm
Manifying blib/man3/Net::DNS::Header.3pm
Manifying blib/man3/Net::DNS::RR::SOA.3pm
Manifying blib/man3/Net::DNS::RR::OPT.3pm
Manifying blib/man3/Net::DNS::RR::NIMLOC.3pm
Manifying blib/man3/Net::DNS::RR::TXT.3pm
Manifying blib/man3/Net::DNS::RR::DNAME.3pm
Manifying blib/man3/Net::DNS::RR::AAAA.3pm
Manifying blib/man3/Net::DNS.3pm
Manifying blib/man3/Net::DNS::RR::X25.3pm
Manifying blib/man3/Net::DNS::RR::RP.3pm
Manifying blib/man3/Net::DNS::RR::PTR.3pm
Manifying blib/man3/Net::DNS::Resolver::Cygwin.3pm
Manifying blib/man3/Net::DNS::Resolver::Recurse.3pm
Manifying blib/man3/Net::DNS::RR::TSIG.3pm
Manifying blib/man3/Net::DNS::RR::NS.3pm
Manifying blib/man3/Net::DNS::Update.3pm
Manifying blib/man3/Net::DNS::Resolver.3pm
Manifying blib/man3/Net::DNS::RR::PX.3pm
Manifying blib/man3/Net::DNS::Nameserver.3pm
Manifying blib/man3/Net::DNS::RR::NULL.3pm
Manifying blib/man3/Net::DNS::RR::LOC.3pm
Manifying blib/man3/Net::DNS::RR::SRV.3pm
Manifying blib/man3/Net::DNS::RR::RT.3pm
Manifying blib/man3/Net::DNS::RR::AFSDB.3pm
Manifying blib/man3/Net::DNS::RR::MINFO.3pm
Manifying blib/man3/Net::DNS::RR::MR.3pm
Manifying blib/man3/Net::DNS::FAQ.3pm
Manifying blib/man3/Net::DNS::RR::CNAME.3pm
Manifying blib/man3/Net::DNS::Question.3pm
Manifying blib/man3/Net::DNS::RR::SSHFP.3pm
Manifying blib/man3/Net::DNS::RR::NAPTR.3pm
Manifying blib/man3/Net::DNS::RR::SPF.3pm
Manifying blib/man3/Net::DNS::RR.3pm
Manifying blib/man3/Net::DNS::Packet.3pm
Manifying blib/man3/Net::DNS::RR::HINFO.3pm
Manifying blib/man3/Net::DNS::RR::MG.3pm
Manifying blib/man3/Net::DNS::RR::TKEY.3pm
Manifying blib/man3/Net::DNS::RR::NSAP.3pm
Manifying blib/man3/Net::DNS::RR::CERT.3pm
Manifying blib/man3/Net::DNS::Resolver::UNIX.3pm
Manifying blib/man3/Net::DNS::RR::MB.3pm
Manifying blib/man3/Net::DNS::Resolver::Base.3pm
  /usr/bin/make  -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load..................ok 1/79#
# These tests were ran with:
# Net::DNS::VERSION:               0.61
# set environment variable NET_DNS_DEBUG to get all versions
t/00-load..................ok
t/00-pod...................skipped
        all skipped: Test::Pod v0.95 required for testing POD
t/00-version...............ok
t/01-resolver-env..........ok
t/01-resolver-file.........ok
        7/8 skipped: Could not read configuration file
t/01-resolver-opt..........ok
t/01-resolver..............ok
t/02-header................ok
t/03-question..............ok
t/04-packet-unique-push....ok
t/04-packet................ok
t/05-rr-opt................ok
t/05-rr-rrsort.............ok
t/05-rr-sshfp..............skipped
        all skipped: Digest::BubbleBabble not installed.
t/05-rr-txt................ok
t/05-rr-unknown............ok
t/05-rr....................ok
t/06-update................ok
t/07-misc..................ok
   t/08-online................ok
t/09-tkey..................ok
t/10-recurse...............ok
t/11-escapedchars..........# Using the  XS compiled dn_expand function
t/11-escapedchars..........ok 1/141#
# disabling XS based dns_expand for a moment.
#
# Continuing to use the XS based dn_expand()
t/11-escapedchars..........ok
t/11-inet6.................ok
        10/11 skipped: Socket6 and or IO::Socket::INET6 not loaded
t/12-compression...........ok 1/5123456789112345678921234567893123456789412345678951234567896123...
truncated to 63 octets (RFC1035 2.3.1) at t/12-compression.t line 56
t/12-compression...........ok
All tests successful, 2 tests and 17 subtests skipped.
Files=25, Tests=1193, 43 wallclock secs ( 7.26 cusr +  0.71 csys =  7.97 CPU)
  /usr/bin/make test -- OK
Running make install
Installing /usr/local/lib/perl/5.8.8/auto/Net/DNS/DNS.so
Installing /usr/local/lib/perl/5.8.8/auto/Net/DNS/DNS.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl/5.8.8/Net/DNS.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Header.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Update.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Resolver.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Nameserver.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/FAQ.pod
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Question.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Packet.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/A.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/Unknown.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/IPSECKEY.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/EID.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/ISDN.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/MX.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/SOA.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/OPT.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/NIMLOC.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/TXT.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/DNAME.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/AAAA.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/X25.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/RP.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/PTR.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/NS.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/TSIG.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/PX.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/NULL.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/LOC.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/SRV.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/RT.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/AFSDB.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/MR.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/MINFO.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/CNAME.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/SSHFP.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/NAPTR.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/SPF.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/HINFO.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/MG.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/TKEY.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/NSAP.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/CERT.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/RR/MB.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Resolver/Win32.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Resolver/Recurse.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Resolver/Cygwin.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Resolver/UNIX.pm
Installing /usr/local/lib/perl/5.8.8/Net/DNS/Resolver/Base.pm
Installing /usr/local/man/man3/Net::DNS::RR::A.3pm
Installing /usr/local/man/man3/Net::DNS::RR::Unknown.3pm
Installing /usr/local/man/man3/Net::DNS::Resolver::Win32.3pm
Installing /usr/local/man/man3/Net::DNS::RR::IPSECKEY.3pm
Installing /usr/local/man/man3/Net::DNS::RR::EID.3pm
Installing /usr/local/man/man3/Net::DNS::RR::ISDN.3pm
Installing /usr/local/man/man3/Net::DNS::RR::MX.3pm
Installing /usr/local/man/man3/Net::DNS::Header.3pm
Installing /usr/local/man/man3/Net::DNS::RR::SOA.3pm
Installing /usr/local/man/man3/Net::DNS::RR::OPT.3pm
Installing /usr/local/man/man3/Net::DNS::RR::NIMLOC.3pm
Installing /usr/local/man/man3/Net::DNS::RR::TXT.3pm
Installing /usr/local/man/man3/Net::DNS::RR::DNAME.3pm
Installing /usr/local/man/man3/Net::DNS::RR::AAAA.3pm
Installing /usr/local/man/man3/Net::DNS.3pm
Installing /usr/local/man/man3/Net::DNS::RR::X25.3pm
Installing /usr/local/man/man3/Net::DNS::RR::RP.3pm
Installing /usr/local/man/man3/Net::DNS::RR::PTR.3pm
Installing /usr/local/man/man3/Net::DNS::Resolver::Cygwin.3pm
Installing /usr/local/man/man3/Net::DNS::Resolver::Recurse.3pm
Installing /usr/local/man/man3/Net::DNS::RR::TSIG.3pm
Installing /usr/local/man/man3/Net::DNS::RR::NS.3pm
Installing /usr/local/man/man3/Net::DNS::Update.3pm
Installing /usr/local/man/man3/Net::DNS::Resolver.3pm
Installing /usr/local/man/man3/Net::DNS::RR::PX.3pm
Installing /usr/local/man/man3/Net::DNS::Nameserver.3pm
Installing /usr/local/man/man3/Net::DNS::RR::NULL.3pm
Installing /usr/local/man/man3/Net::DNS::RR::LOC.3pm
Installing /usr/local/man/man3/Net::DNS::RR::SRV.3pm
Installing /usr/local/man/man3/Net::DNS::RR::RT.3pm
Installing /usr/local/man/man3/Net::DNS::RR::AFSDB.3pm
Installing /usr/local/man/man3/Net::DNS::RR::MINFO.3pm
Installing /usr/local/man/man3/Net::DNS::RR::MR.3pm
Installing /usr/local/man/man3/Net::DNS::FAQ.3pm
Installing /usr/local/man/man3/Net::DNS::RR::CNAME.3pm
Installing /usr/local/man/man3/Net::DNS::Question.3pm
Installing /usr/local/man/man3/Net::DNS::RR::SSHFP.3pm
Installing /usr/local/man/man3/Net::DNS::RR::NAPTR.3pm
Installing /usr/local/man/man3/Net::DNS::RR::SPF.3pm
Installing /usr/local/man/man3/Net::DNS::RR.3pm
Installing /usr/local/man/man3/Net::DNS::Packet.3pm
Installing /usr/local/man/man3/Net::DNS::RR::HINFO.3pm
Installing /usr/local/man/man3/Net::DNS::RR::MG.3pm
Installing /usr/local/man/man3/Net::DNS::RR::TKEY.3pm
Installing /usr/local/man/man3/Net::DNS::RR::NSAP.3pm
Installing /usr/local/man/man3/Net::DNS::RR::CERT.3pm
Installing /usr/local/man/man3/Net::DNS::Resolver::UNIX.3pm
Installing /usr/local/man/man3/Net::DNS::RR::MB.3pm
Installing /usr/local/man/man3/Net::DNS::Resolver::Base.3pm
<strong>Writing /usr/local/lib/perl/5.8.8/auto/Net/DNS/.packlist
Appending installation info to /usr/local/lib/perl/5.8.8/perllocal.pod
  /usr/bin/make install  -- OK</strong>

cpan&gt; <strong>quit</strong>
Terminal does not support GetHistory.
Lockfile removed.</pre>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">La page qui me guide indique qu&#8217;il faut <strong>redémarrer le système de mails</strong> :</span></p>
<pre># <strong>/etc/init.d/exim4 restart</strong>
Stopping MTA for restart: exim4_listener.
Restarting MTA: exim4.</pre>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff0000;"><strong>Je réessaye la mise à jour des filtres de SpamAssassin</strong> :</span></p>
<pre><strong>sa-update</strong></pre>
<p>Euh&#8230; c&#8217;est court et bref !!!<br />
<strong>Aucun message !</strong></p>
<p>Mais en tout cas, <strong>plus d&#8217;erreur de compilation</strong>. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span style="color: #ff9900;">Je constate qu&#8217;<strong>un dossier a été ajouté dans la configuration de SpamAssassin</strong> :</span></p>
<pre># <strong>cd /etc/spamassassin/</strong>
ks12345:/etc/spamassassin# <strong>ls -l</strong>
total 20
-rw-r--r-- 1 root root  948 2007-02-15 06:28 init.pre
-rw-r--r-- 1 root root 1208 2007-02-15 06:28 local.cf
drwx------ 2 root root 4096 <strong>2007-10-30 02:15 sa-update-keys</strong>
-rw-r--r-- 1 root root 2179 2007-02-15 06:28 v310.pre
-rw-r--r-- 1 root root  806 2007-02-15 06:28 v312.pre

ks12345:/etc/spamassassin# <strong>cd sa-update-keys/</strong>
ks12345:/etc/spamassassin/sa-update-keys# <strong>ls -l</strong>
total 8
-rw------- 1 root root 2240 2007-10-30 02:15 pubring.gpg
-rw------- 1 root root    0 2007-10-30 02:15 pubring.gpg~
-rw------- 1 root root    0 2007-10-30 02:15 secring.gpg
-rw------- 1 root root 1200 2007-10-30 02:15 trustdb.gpg</pre>
<p><span style="color: #ff9900;">Je dois encore m&#8217;assurer de l&#8217;exécution régulière de cette mise à jour sa-updat</span>e.</p>
<p>Cette page &laquo;&nbsp;<a  hreflang="fr" href="http://www.rulesemporium.com/rules.htm">SARE rules</a>&nbsp;&raquo; est intéressante aussi pour des règles à jour.</p>
<p><ins>AJOUT le 4 novembre</ins> :</p>
<p>en lisant la page d&#8217;accueil de <strong><a  hreflang="fr" href="http://www.rulesemporium.com/index.html"><em>SpamAssassin Rules Emporium</em></a></strong>, je vois ceci :</p>
<p><span style="color: #ff0000;"><em><strong>Always run <strong>spamassassin -D &#8211;lint</strong> before making your rule changes live.</strong></em></span></p>
<p>Euh&#8230; oui&#8230; ah&#8230;</p>
<p>J&#8217;essaye la commande :</p>
<pre># <strong>sa-update</strong>
# <strong>spamassassin -D --lint</strong></pre>
<p>Quelques heures après, en effet, <strong>les spams sont maintenant tous</strong> (ou presque&#8230; on verra après quelques jours) <strong>rejetés et déplacés automatiquement dans le dossier .Junk.</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Je vérifie l&#8217;entête de quelques spams, et effectivement <span style="color: #ff9900;"><strong>le score de SpamAssassin s&#8217;est NETTEMENT amélioré</strong>. Les spams sont rejetés avec des scores de 6, 10 ou même 20 !!!</span> (le minimum pour être considéré comme spam est 5). <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span style="color: #00ff00;">Tout fonctionne bien maintenant.</span></p>
<p>Il me reste à <strong>automatiser</strong> la mise à jour des règles et la commande qui régénère ces règles pour SpamAssassin.</p>
<p>Donc  SpamAssassin, c&#8217;est BIEN&#8230;<br />
mais si vous restez avec le SpamAssassin de base, tel qu&#8217;installé par votre distribution, il est fort possible qu&#8217;il ne fera aucune mise à jour des règles&#8230;</p>
<p><em>Alors, pensez à un PC Windows avec un anti-virus qui tourne, mais qui n&#8217;a plus été mis à jour depuis 10 ou 12 mois !&#8230; </em> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Et bien, c&#8217;est la même chose (mais malgré tout avec moins de conséquence, à part des boîtes mails polluées par le spam) avec SpamAssassin !</p>
<p><span style="color: #ff0000;"><strong>Si vous ne le mettez pas à jour régulièrement, et régénérer les règles, il va vite perdre son efficacité &#8230;</strong></span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2007/10/30/amelioration-de-la-detection-de-spamassassin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exim4 &amp; Spamassassin : déplacer les spams dans un dossier spam</title>
		<link>http://didier.misson.net/blog/2007/10/28/exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam/</link>
		<comments>http://didier.misson.net/blog/2007/10/28/exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 02:43:34 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=145</guid>
		<description><![CDATA[J'ai déjà depuis plusieurs semaines un serveur avec Exim 4, Dovecot (IMAP) et SpamAssassin. <p> <a href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <a href="http://spamassassin.apache.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a> <p> (le <a href="http://jennifergreenley.com/logo/index.htm" hreflang="fr">logo Exim</a> est de <a href="http://jennifergreenley.com" hreflang="fr">Jenniger Greenley</a>, celui de SpamAssassin est de <a href="http://www.rauh.net/" hreflang="fr">Christian Rauh</a>) <p> Mais la configuration n'était pas terminée. Si SpamAssassin tournait bien et positionnait une ligne avec son <strong>score dans l'entête du mail</strong>, Exim ne déplaçait pas encore les mails indiqués comme <strong>Spam dans un dossier séparé</strong>. <p> Je vais ajouter cette fonctionnalité.]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2007/10/28/exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2007/10/28/exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2007/10/28/exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>J&#8217;ai déjà depuis plusieurs semaines un serveur avec Exim 4, Dovecot (IMAP) et SpamAssassin.</p>
<p><a hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p>(le <a  hreflang="fr" href="http://jennifergreenley.com/logo/index.htm">logo Exim</a> est de <a  hreflang="fr" href="http://jennifergreenley.com">Jenniger Greenley</a>, celui de SpamAssassin est de <a  hreflang="fr" href="http://www.rauh.net/">Christian Rauh</a>)</p>
<p>Mais la configuration n&#8217;était pas terminée.<br />
<span style="color: #ff9900;">Si SpamAssassin tournait bien et positionnait une ligne avec son <strong>score dans l&#8217;entête du mail</strong>, Exim ne déplaçait pas encore les mails indiqués comme <strong>Spam dans un dossier séparé</strong>.</span></p>
<p>Je vais ajouter cette fonctionnalité.<br />
<span id="more-145"></span><br />
Je me base sur l&#8217;article <a  hreflang="fr" href="http://koivi.com/exim4-config/">Installing and configuring Exim 4 on Debian</a> de <strong>Justin Koivisto</strong>.</p>
<p>Si vous n&#8217;avez pas encore installé Exim4 ou SpamAssassin, j&#8217;avais fait un billet à ce sujet il y a deux mois :<br />
<a  hreflang="fr" href="http://didier.misson.net/blog/index.php?2007/08/15/126-configuration-antivirus-et-antispam-avec-exim4">Configuration antivirus et antispam avec Exim4</a></p>
<p>J&#8217;étais en fait proche du but ! <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;"><strong>Pour qu&#8217;Exim déplace automatiquement les mails détectés comme spam</strong>, il faut ajouter un fichier contenant les règles de filtrages et de déplacement.</span> <ins>Ce fichier est propre à chaque user !</ins></p>
<p>Je remarque que <a  hreflang="fr" href="http://www.squirrelmail.org/">SquirrelMail</a>, que nous avons aussi installé, a un dossier Junk. Ce dossier correspond à un <strong>sous-dossier .Junk dans ma boîte mails</strong>.</p>
<p><strong>Thunderbird</strong>, quand on active la détection des indésirables, a aussi un <strong>dossier &laquo;&nbsp;Indésirable&nbsp;&raquo;</strong>. Dans la traduction anglaise, ce dossier s&#8217;appelle Junk. C&#8217;est bien le même dossier réellement dans toutes les langues : le <strong>sous-dossier .Junk</strong> également.</p>
<p><img src="/blog/wp-content/uploads/2007/dotclear/Linux/thunderbird_indesirable.png" alt="" /></p>
<p><span style="color: #ff9900;">Ce n&#8217;est important que si vous accéder à vos mails en <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Imap">IMAP</a>. Dans ce cas, le dossier Indésirable que vous voyez à l&#8217;écran est bien le sous-dossier .Junk qui se trouve sur le serveur.</span><br />
Si vous accédez à vos mails en <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Pop3">POP3</a>, alors ce dossier Indésirable est purement local sur votre disque dur.</p>
<p><strong>Je désire donc qu&#8217;Exim déplace automatiquement les mails indiqués comme spam par SpamAssassin dans ce sous-dossier .Junk.</strong></p>
<p><span style="color: #ff9900;">Pour ce faire, je crée un <strong>fichier /home/blog/.forward </strong>(si l&#8217;utilisateur s&#8217;appelle &laquo;&nbsp;blog&nbsp;&raquo;) <strong>commençant par &laquo;&nbsp;# Exim filter&nbsp;&raquo;</strong> :</span></p>
<pre># Exim filter
if $h_X-Spam-Status: CONTAINS "Yes"
     or
  $h_X-Spam-Flag: CONTAINS "Yes"
then
  <span style="color: #ff0000;">save $home/Maildir/.Junk/</span>
 finish
endif</pre>
<p>Cela fonctionne.</p>
<p><span style="color: #00ff00;">Quand SpamAssassin donne un <strong>score supérieur à 5</strong> à son analyse anti-spam, il positionne &laquo;&nbsp;<strong>Yes</strong>&nbsp;&raquo; dans l&#8217;entête du mail et<strong> Exim le déplace dans le dossier .Junk.</strong></span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff0000;">Attention, <strong>il faut créer ce fichier .forward pour tous les utilisateurs</strong>.</span></p>
<p><span style="color: #ff9900;">Le plus simple est de le mettre dans <strong>/etc/skel</strong> pour qu&#8217;il soit repris automatiquement à la création d&#8217;un nouvel utilisateur.<br />
Il est intéressant également de mettre dans /etc/skel une boîte <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Maildir">Maildir</a> pour ne pas devoir la recréer manuellement à chaque nouvel user.</span></p>
<p>Je crée donc un <strong>fichier avec les règles dans /etc/skel</strong> :</p>
<pre><strong>vi /etc/skel/.forward</strong>
# Exim filter
if $h_X-Spam-Status: CONTAINS "Yes"
     or
  $h_X-Spam-Flag: CONTAINS "Yes"
then
  save $home/Maildir/.Junk/
 finish
endif</pre>
<p>Pour créer une <strong>boîte au format Maildir dans /etc/skel</strong> :</p>
<pre><strong>maildirmake /etc/skel/Maildir</strong></pre>
<p>Je vérifie :</p>
<pre>ks12345:/etc/skel# <strong>ls -la</strong>
total 40
drwxr-xr-x  3 root root 4096 2007-10-29 06:24 .
drwxr-xr-x 82 root root 8192 2007-10-29 05:34 ..
-rw-r--r--  1 root root  266 2004-11-22 17:05 .alias
-rw-r--r--  1 root root  220 2006-12-11 22:20 .bash_logout
-rw-r--r--  1 root root  414 2006-12-11 22:20 .bash_profile
-rw-r--r--  1 root root 2227 2006-12-11 22:20 .bashrc
-rw-r--r--  1 root root  375 2004-11-22 17:05 .cshrc
-rw-r--r--  1 root root  131 2007-10-29 06:21 <strong>.forward</strong>
drwx------  5 root root 4096 2007-10-29 06:24 <strong>Maildir</strong></pre>
<p>Lors de la création d&#8217;un nouvel utilisateur, <strong>sa boîte Maildir et son fichier .forward seront donc automatiquement créés</strong>.</p>
<p>Voilà pour le déplacement des spams détectés par SpamAssassin. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Il me reste <strong>un problème</strong> !</p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff0000;">Je trouve le <strong>score de détection de SpamAssassin assez faible</strong>.</span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
<span style="color: #ff9900;">Il faut 5 minimum pour qu&#8217;un mail soit rejeté en Spam. C&#8217;est rarement le cas.</span></p>
<p><span style="color: #ff9900;">Je dois donc chercher<strong> comment améliorer la détection de SpamAssassin</strong>&#8230;</span></p>
<p>Ce sera pour <a  hreflang="fr" href="http://didier.misson.net/blog/index.php?2007/10/30/151-amelioration-de-la-detection-de-spamassassin">un autre billet</a> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2007/10/28/exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exim4 : mails en queue</title>
		<link>http://didier.misson.net/blog/2007/10/24/exim4-mails-en-queue/</link>
		<comments>http://didier.misson.net/blog/2007/10/24/exim4-mails-en-queue/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 15:24:36 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=138</guid>
		<description><![CDATA[J'ai un serveur <strong><a href="http://www.debian.org" hreflang="fr">Debian</a></strong> avec <strong><a href="http://www.exim.org" hreflang="fr">Exim4</a></strong> et beaucoup de mails en queue. <p> <a href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <p> (le <a href="http://jennifergreenley.com/logo/index.htm" hreflang="fr">logo Exim</a> est de <a href="http://jennifergreenley.com" hreflang="fr">Jenniger Greenley</a>)]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2007/10/24/exim4-mails-en-queue/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2007/10/24/exim4-mails-en-queue/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2007/10/24/exim4-mails-en-queue/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>J&#8217;ai un serveur <strong><a hreflang="fr" href="http://www.debian.org">Debian</a></strong> avec <strong><a  hreflang="fr" href="http://www.exim.org">Exim4</a></strong> et beaucoup de mails en queue.</p>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a></p>
<p>(le <a  hreflang="fr" href="http://jennifergreenley.com/logo/index.htm">logo Exim</a> est de <a  hreflang="fr" href="http://jennifergreenley.com">Jenniger Greenley</a>)<br />
<span id="more-138"></span><br />
Ils ne passent pas à cause de changements d&#8217;adresses mails et de serveurs SMTP qui n&#8217;ont pas été répercutés dans la configuration Exim4 / Debian.</p>
<p>Avant de tous les supprimer, je voudrais voir ce qui génère ces mails pour pouvoir corriger l&#8217;adresse mail de destination.</p>
<p><span style="color: #ff9900;">En Debian et Exim4, les mails se trouvent dans <strong>/var/spool/exim4/input</strong></span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Je peux donc les voir simplement avec des commandes &laquo;&nbsp;ls&nbsp;&raquo; et &laquo;&nbsp;less&nbsp;&raquo; (en root)</p>
<pre><strong>cd /var/spool/exim4/</strong>
ls -l
total 377
drwxr-x--- 2 Debian-exim Debian-exim   1024 2007-08-29 14:08 db
drwxr-x--- 2 Debian-exim Debian-exim 268288 2007-10-24 16:53 <strong>input</strong>
drwxr-x--- 2 Debian-exim Debian-exim 114688 2007-10-24 16:53 msglog<strong>
cd input
</strong>ls -l
...
-rw-r----- 1 Debian-exim Debian-exim    712 2007-10-24 14:49 1IkffV-0002fQ-2P-H
-rw-r----- 1 Debian-exim Debian-exim   1179 2007-10-24 14:49 1IkffV-0002fW-7F-D
-rw-r----- 1 Debian-exim Debian-exim    712 2007-10-24 14:49 1IkffV-0002fW-7F-H
-rw-r----- 1 Debian-exim Debian-exim   1179 2007-10-24 14:49 1IkffW-0002fz-Q0-D
...<strong>
less 1IkffV-0002fQ-2P-H</strong></pre>
<p>J&#8217;en ai affiché un au hasard, mais sinon les dates et heures vous permettrons de retrouver les mails qui vous intéresse.<br />
Vous pouvez avoir plus d&#8217;information dans <strong>le log d&#8217;Exim4</strong> :</p>
<pre>cd /var/log/exim4
less mainlog</pre>
<p><span style="color: #ff9900;">Une manière brutale de <strong>supprimer la queue complète des mails dans Exim4</strong> est</span> :</p>
<pre>su -
/etc/init.d/exim4 stop
cd /var/spool
mv exim4 exim4.old
mkdir -p exim4/input
mkdir -p exim4/msglog
mkdir -p exim4/db
chown -R Debian-exim:Debian-exim exim4
/etc/init.d/exim4 start</pre>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2007/10/24/exim4-mails-en-queue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exim4 : ajout d&#8217;une boîte mails</title>
		<link>http://didier.misson.net/blog/2007/09/19/exim4-ajout-d-une-boite-mails/</link>
		<comments>http://didier.misson.net/blog/2007/09/19/exim4-ajout-d-une-boite-mails/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 18:40:59 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=128</guid>
		<description><![CDATA[Cet article fait suite à <a href="http://didier.misson.net/blog/index.php?2006/11/18/24-exim-4-sur-un-serveur-debian-config-et-essais" hreflang="fr">Exim 4 &#038; Debian : config et essais</a>. <p> <a href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" border="0" alt="" /></a> <a href="http://www.debian.org" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" border="0" alt="" /></a> <p> Je désire ici <strong>ajouter des boîtes mails pour des personnes n'ayant pas d'accès console</strong> (ssh, shell) sur le serveur. <p> Ce billet n'est pas une marche à suivre dans tous les cas. Mais il peut vous donnez des exemples de configurations un peu différentes. Ca peut parfois aider ;-)]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2007/09/19/exim4-ajout-d-une-boite-mails/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2007/09/19/exim4-ajout-d-une-boite-mails/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2007/09/19/exim4-ajout-d-une-boite-mails/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>Cet article fait suite à <a href="http://didier.misson.net/blog/index.php?2006/11/18/24-exim-4-sur-un-serveur-debian-config-et-essais" hreflang="fr">Exim 4 &amp; Debian : config et essais</a>.</p>
<p><a  href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" border="0" /></a> <a  href="http://www.debian.org" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" border="0" /></a></p>
<p>Je désire ici <strong>ajouter des boîtes mails pour des personnes n&#8217;ayant pas d&#8217;accès console</strong> (ssh, shell) sur le serveur.</p>
<p>Ce billet n&#8217;est pas une marche à suivre dans tous les cas. Mais il peut vous donnez des exemples de configurations un peu différentes. Ca peut parfois aider <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<span id="more-128"></span><br />
<ins>Ma configuration m&#8217;est évidemment propre</ins>.</p>
<ul>
<li>Exim configuré pour des <strong>boîtes de type <a  href="http://fr.wikipedia.org/wiki/Maildir" hreflang="fr">MailDir</a></strong>.</li>
<li><strong>users &laquo;&nbsp;normaux&nbsp;&raquo;</strong>, càd avec un accès Linux (shell), mails dans leur home. Par ex pour le user &laquo;&nbsp;audrey&nbsp;&raquo; : <strong>/home/<em>audrey</em>/Maildir</strong></li>
<li><strong>users &laquo;&nbsp;mails only&nbsp;&raquo;</strong>, sans accès shell dans un dossier particulier <strong>/home/blog/clients/</strong> (on considère que ce sont mes clients, le serveur étant partagé avec d&#8217;autres personnes). Par ex pour le user &laquo;&nbsp;lucien&nbsp;&raquo; : <strong>/home/blog/clients/<em>lucien</em>/Maildir</strong></li>
</ul>
<p><em>Toute autre façon de faire est évidemment acceptable.</em> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Dans notre cas, nous avons un serveur géré par plusieurs administrateurs, chacun ayant ses sites web et des adresses mails correspondantes.</p>
<p>Pour <strong>créer un user &laquo;&nbsp;mails only&nbsp;&raquo;</strong>, je dois malgré tout créer un userid Linux, car la vérification du mot de passe se fait par le système.<br />
Il doit y avoir d&#8217;autres méthodes, mais je n&#8217;ai pas cherché. De plus, cette façon de faire est facile car elle fonctionne directement avec le Webmail <a  href="http://www.squirrelmail.org/" hreflang="fr">SquirrelMail</a> pour la vérification du mot de passe.</p>
<p><strong>D&#8217;abord créer le userid</strong> :</p>
<pre>sudo adduser lucien</pre>
<p>Répondre aux questions habituelles: nom complet, password&#8230;</p>
<p>Le userid est créé, mais je voudrais <strong>l&#8217;empêcher de faire logon</strong>.</p>
<p>Une manière simple mais efficace est de lui <strong>supprimer son shell au logon</strong>. Il faut modifier dans le fichier <strong>/etc/passwd</strong>.<br />
De plus, je veux que <strong>son &laquo;&nbsp;<em>home</em>&laquo;&nbsp;</strong> soit <ins>déplacé sous un dossier &laquo;&nbsp;clients&nbsp;&raquo; qui est un sous-dossier de mon propre &laquo;&nbsp;home&nbsp;&raquo;.</ins></p>
<p>Cette façon de faire évite d&#8217;encombrer le dossier /home de dizaines de sous-dossiers utilisateurs.<br />
Ne reste dans le dossier /home que les utilisateurs ayant réellement un accès en console. Les autres, dont les dossiers &laquo;&nbsp;<em>home</em>&nbsp;&raquo; ne serviront que pour leur boîte mails, seront en sous-dossier dans le home de chaque administrateur (tout comme nos différents sites Apache).</p>
<p>Pas facile d&#8217;expliquer comme ça, mais cela sépare nettement les dossiers et fichiers de chacun. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a  href="http://www.debian.org" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" border="0" /></a></p>
<p>Donc, pour <strong>déplacer le &laquo;&nbsp;<em>home</em>&nbsp;&raquo; de l&#8217;utilisateur qui ne fera que du mails et bloquer son accès en console</strong>, dans <strong>/etc/passwd</strong>, modifier la ligne :</p>
<pre>lucien:x:1008:1008:Lucien Durant,,,,contact Didier Misson:/home/lucien:/bin/bash</pre>
<p>en</p>
<pre>sudo vi /etc/passwd
lucien:x:1008:1008:Lucien Durant,,,,contact Didier Misson:/home/<strong>didier/clients/</strong>lucien:/bin/<strong>false</strong></pre>
<p>Je dois déplacer son &laquo;&nbsp;<em>home</em>&nbsp;&raquo; dans le dossier de tous mes clients mails :</p>
<pre>cd /home
<strong>sudo mv lucien/ /home/blog/clients/</strong></pre>
<p><a  href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" border="0" /></a></p>
<p>Il faut encore <strong>initialiser la boite mails</strong>.</p>
<pre>cd /home/blog/clients/lucien/
<strong>maildirmake Maildir</strong></pre>
<p><strong>Vérifions :</strong></p>
<pre>cd <strong>/home/blog/clients/lucien/Maildir/
</strong>ks12345:/home/blog/clients/lucien/Maildir# ls -l
total 12
 drwx------ 2 root root 4096 2007-09-19 20:47 <strong>cur
</strong> drwx------ 2 root root 4096 2007-09-19 20:47 <strong>new
</strong> drwx------ 2 root root 4096 2007-09-19 20:47 <strong>tmp</strong></pre>
<p>Ah, <strong>il faut que les dossiers appartiennent au user</strong> et pas à &laquo;&nbsp;root&nbsp;&raquo; (en Debian)<br />
Donc, si vous avez travaillé avec un user root, modifiez l&#8217;appartenance :</p>
<pre>cd /home/blog/clients/
chown -R lucien:lucien lucien/</pre>
<p>PS : il est possible de <strong>ne pas devoir refaire la création de cette boîte au format Maildir pour chaque nouvel utilisateur</strong>.<br />
Pour cela il suffit de créer une boîte Maildir vide dans le dossier squelette (<strong>/etc/skel</strong>) qui sert à initialiser le &laquo;&nbsp;home&nbsp;&raquo; lors de la création de l&#8217;utilisateur. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
J&#8217;ai abordé cette <a  href="http://didier.misson.net/blog/index.php?2007/10/28/150-exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam" hreflang="fr">création dans /etc/skel dans un de mes billets sur SpamAssassin</a>.</p>
<p><a  href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" border="0" /></a></p>
<p>Voilà. <strong>Cela fonctionne.</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Il reste à configurer dans le webmail SquirrelMail, les préférences, et en particulier l&#8217;adresse mail utilisée pour envoyer des mails. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2007/09/19/exim4-ajout-d-une-boite-mails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration antivirus et antispam avec Exim4, ClamAV et SpamAssassin</title>
		<link>http://didier.misson.net/blog/2007/08/15/configuration-antivirus-et-antispam-avec-exim4/</link>
		<comments>http://didier.misson.net/blog/2007/08/15/configuration-antivirus-et-antispam-avec-exim4/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 17:08:33 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Culture]]></category>
		<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Virus]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=9</guid>
		<description><![CDATA[Notre serveur mails <a href="http://www.debian.org/index.fr.html" hreflang="fr">Debian</a> avec <a href="http://fr.wikipedia.org/wiki/Exim" hreflang="fr">Exim4</a>, <a href="http://fr.wikipedia.org/wiki/Dovecot" hreflang="fr">Dovecot</a> et <a href="http://www.squirrelmail.org/" hreflang="fr">Squirrelmail</a> fonctionne bien. <p> <a href="http://www.exim.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <a href="http://www.clamav.net/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/clam_100x100.png" border="0" alt="" /></a> <a href="http://spamassassin.apache.org/" hreflang="fr"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a> <p> Il lui manque encore un <strong>antispam et un antivirus</strong> pour filtrer les innombrables mails non désirés que l'on reçoit actuellement. <p> (le logo Exim est de <a href="http://jennifergreenley.com/logo/index.htm" hreflang="fr">Jennifer Greenley</a>, celui de SpamAssassin est de <a href="http://www.rauh.net/" hreflang="fr">Christian Rauh</a>)]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2007/08/15/configuration-antivirus-et-antispam-avec-exim4/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2007/08/15/configuration-antivirus-et-antispam-avec-exim4/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2007/08/15/configuration-antivirus-et-antispam-avec-exim4/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>Notre serveur mails <a hreflang="fr" href="http://www.debian.org/index.fr.html">Debian</a> avec <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Exim">Exim4</a>, <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Dovecot">Dovecot</a> et <a  hreflang="fr" href="http://www.squirrelmail.org/">Squirrelmail</a> fonctionne bien.</p>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a> <a  hreflang="fr" href="http://www.clamav.net/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/clam_100x100.png" border="0" alt="" /></a></p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">Il lui manque encore un <strong>antispam et un antivirus</strong></span> pour filtrer les innombrables mails non désirés que l&#8217;on reçoit actuellement.</p>
<p>(le logo Exim est de <a  hreflang="fr" href="http://jennifergreenley.com/logo/index.htm">Jennifer Greenley</a>, celui de SpamAssassin est de <a  hreflang="fr" href="http://www.rauh.net/">Christian Rauh</a>)<br />
<span id="more-9"></span><br />
Je me base sur l&#8217;excellent article <a  hreflang="fr" href="http://www.debian-administration.org/articles/511"><strong>Antivirus and Antispam setup with Exim4</strong></a> de <a  hreflang="fr" href="http://www.debian-administration.org/users/anurag">Anurag Patel</a>, sur le site <a  hreflang="fr" href="http://www.debian-administration.org/">www.debian-administration.org</a></p>
<p><a  hreflang="fr" href="http://www.debian-administration.org"><img src="/blog/wp-content/uploads/2007/dotclear/debian_adminitration_logo_52x56.png" border="0" alt="" /></a></p>
<p>Ces deux articles de <a  hreflang="fr" href="http://www.debian-administration.org/users/Steve">Steve Kemp</a>, et le dernier de <strong>Justin Koivisto</strong>, sont également intéressants :</p>
<ul>
<li><a  hreflang="fr" href="http://www.debian-administration.org/articles/141">Rejecting viral email at SMTP time with exim4</a></li>
<li><a  hreflang="fr" href="http://www.debian-administration.org/articles/402">HELO restrictions for Exim4</a></li>
<li><a  hreflang="fr" href="http://koivi.com/exim4-config/">Installing and configuring Exim 4 on Debian</a></li>
</ul>
<p><span style="color: #ff9900;">Cette installation se base sur <strong>4 packages</strong></span></p>
<ul>
<li><strong>exim4-daemon-heavy</strong> : une version d&#8217;Exim4 qui possède des possibilités supplémentaires par rapport à exim4-deamon-light, en particulier des Access List.</li>
<li><strong>clamav-daemon</strong> : Clam Anti-virus</li>
<li><strong>sa-exim</strong> : ajout la possibilité de faire exécuter un script directement à l&#8217;arrivée du mail (SMTP time), comme un anti-virus, une grey-list&#8230;</li>
<li><strong>spamassassin  et spamc</strong> : l&#8217;anti-spam bien connu</li>
</ul>
<p><span style="color: #ff9900;">Installons donc <strong>Exim Heavy</strong> : </span></p>
<pre># <strong>apt-get install exim4-daemon-heavy</strong>
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 libperl5.8
The following packages will be <strong>REMOVED</strong>
 <strong>exim4-daemon-light</strong>
The following NEW packages will be <strong>installed</strong>
 <strong>exim4-daemon-heavy libperl5.8</strong>
0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
Need to get 994kB of archives.
After unpacking 1315kB of additional disk space will be used.
Do you want to continue [Y/n]?</pre>
<p><span style="color: #ff9900;">Il est donc NORMAL que exim4-daemon-light soit désinstallé ! </span></p>
<p><a  hreflang="fr" href="http://www.clamav.net/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/clam_100x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">L&#8217;<strong>antivirus</strong> maintenant</span> :</p>
<pre># <strong>apt-get install clamav-daemon
</strong>Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 ca-certificates clamav-base clamav-freshclam libclamav2 libcurl3 libgmp3c2
Suggested packages:   daemon clamav-docs
Recommended packages:   clamav
The following NEW packages will be installed
 ca-certificates clamav-base clamav-daemon clamav-freshclam libclamav2 libcurl3 libgmp3c2
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.7MB of archives.
After unpacking 12.7MB of additional disk space will be used.</pre>
<p>L&#8217;installation me demande  :</p>
<blockquote><p><span style="color: #ff9900;">This package may install new CA (Certificate Authority) certificates when upgrading.</span></p></blockquote>
<p>Je répond <strong>&laquo;&nbsp;oui&nbsp;&raquo; pour installer tous les certificats</strong>.</p>
<p><span style="color: #ff0000;">Comment va se faire la <strong>mise à jour de cet antivus ?</strong></span><br />
Car comme tout antivirus, il ne sera valable que s&#8217;il est tenu à jour.</p>
<pre>Please choose the <strong>method for virus database updates</strong>.
<strong>daemon : freshclam is running as a daemon all the time</strong>.
You should choose this option if you have a permanent network connection.</pre>
<p><span style="color: #ff9900;">Je conserve l&#8217;option par défaut qui est de laisser tourner le daemon <strong>freshclam</strong> qui s&#8217;occupera des mises à jour. </span></p>
<p><span style="color: #ff9900;">Clamav me demande alors <strong>quel serveur</strong> je veux utiliser pour ces mises à jour : </span></p>
<pre><strong>Please select the closest local mirror site</strong>.
- db.fr.clamav.net (France)</pre>
<p>Je prend le français, vu que notre serveur se trouve en France.</p>
<p>Notre accès internet est direct, pas de proxy.</p>
<pre>Please confirm whether <strong>clamd should be notified to reload the database after successful updates</strong>. <strong>Yes</strong></pre>
<p>Je répond oui. <span style="color: #ff0000;">Je désire que Clamd prenne immédiatement la nouvelle base de donnée virus dès qu&#8217;une nouvelle version est disponible.</span></p>
<p>L&#8217;installation se poursuit.<br />
Quelques messages intéressants :</p>
<pre>...<strong>
Setting up ca-certificates</strong> (20070303)
...
Updating certificates in <strong>/etc/ssl/certs</strong>....done.
Setting up clamav-base (0.90.1-3etch4)
...
Adding system <strong>user `clamav'</strong> (UID 106)
...
Adding new <strong>group `clamav'</strong> (GID 108)
...
Adding <strong>new user `clamav' (UID 106) with group `clamav'</strong>
...
Not creating home directory `/var/lib/clamav'.
...
Starting ClamAV daemon: clamd Running as user clamav (UID 106, GID 108)</pre>
<p><span style="color: #ff9900;">Il faut <strong>autoriser Clamav à lire et écrire dans les dossiers d&#8217;Exim4</strong>.</span><br />
Exim4 doit extraite les attachements (MIME) dans un dossier temporaire et demander à Clamav de les scanner.</p>
<p>Le userid <em>clamav</em> a été créé lors de l&#8217;installation du package clamav.<br />
<strong>Pour ajouter <em>clamav</em> dans le groupe <em>debian-exim</em> :</strong></p>
<pre># <strong>adduser clamav Debian-exim</strong>
Adding user `clamav' to group `Debian-exim' ... Done</pre>
<p>On aurait également pu le faire directement en éditant le fichier <strong>/etc/group</strong> et en ajoutant &laquo;&nbsp;clamav&nbsp;&raquo; sur la ligne &laquo;&nbsp;Debian-exim&nbsp;&raquo;</p>
<pre>Debian-exim:x:104:<strong>clamav</strong></pre>
<p><a  hreflang="fr" href="http://www.clamav.net/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/ClamAV_header6_488x69.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">Sa-exim maintenant.</span> <strong>D&#8217;abord une petite explication sur <em>sa-exim</em></strong> :</p>
<blockquote><p>l&#8217;utilisation de spamAssassin au niveau SMTP avec le <strong>MTA Exim v4 SA-Exim</strong> permet d&#8217;utiliser spamAssassin au <strong>niveau SMTP</strong> avec l&#8217;agent de transport de courriel Exim v4, ce qui offre de nombreuses possibilités dans le traitement des courriels, <strong>y compris leur rejet avant d&#8217;être acceptés</strong>, ainsi que le piégeage de l&#8217;envoyeur (p. ex. en  le ralentissant par mobilisation de ses ressources).</p></blockquote>
<pre># <strong>apt-get install sa-exim</strong>
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 <strong>spamc
</strong>Suggested packages:   spamassassin
The following NEW packages will be installed
 <strong>sa-exim spamc</strong>
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 155kB of archives.
After unpacking 471kB of additional disk space will be used.
...
Reloading exim4 configuration files: exim4</pre>
<p><span style="color: #ff9900;">Reste <strong>SpamAssassin</strong>, le tueur de Spam comme son nom l&#8217;indique</span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre># <strong>apt-get install spamassassin spamc
</strong>Reading package lists... Done
Building dependency tree... Done
spamc is already the newest version.
The following extra packages will be installed:
 libarchive-tar-perl libdigest-sha1-perl libio-zlib-perl libsocket6-perl
Suggested packages:
 libio-string-perl razor libnet-ident-perl libio-socket-ssl-perl dcc-client pyzor
Recommended packages:
 libmail-spf-query-perl libnet-dns-perl
The following NEW packages will be installed
 libarchive-tar-perl libdigest-sha1-perl libio-zlib-perl libsocket6-perl spamassassin
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 1090kB of archives.
After unpacking 3576kB of additional disk space will be used.
...<strong>
<span style="color: #ff0000;">SpamAssassin Mail Filter Daemon: disabled, see /etc/default/spamassassin</span></strong></pre>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff0000;">Par défaut, après l&#8217;installation, <strong>SpamAssassin n&#8217;est pas activé</strong>. </span></p>
<p><span style="color: #ff9900;">Maintenant <strong>il faut activer SpamAssassin</strong>. </span></p>
<pre># <strong>vi /etc/default/spamassassin</strong>
...
# Change to one to enable spamd
<strong>ENABLED=1</strong></pre>
<p><span style="color: #ff9900;">Il faut également <strong>activer sa-exim</strong> :</span></p>
<pre># <strong>vi /etc/exim4/sa-exim.conf</strong></pre>
<p>Localiser les lignes suivantes :</p>
<pre>SAEximRunCond: ${if and {{def:sender_host_address} {!eq {$sender_host_address}{127.0.0.1}} {!eq {$sender_host_address}{::1}}}}
...
#----------------------------------------------------------------------
# Remove or comment out the following line to enable sa-exim
<strong>SAEximRunCond: 0</strong></pre>
<p>Modifier la ligne en</p>
<pre><strong>SAEximRunCond: 1</strong></pre>
<p><span style="color: #ff9900;">Il faut <strong>configurer le message de rejet dans Exim4</strong>. </span></p>
<pre># <strong>vi /etc/exim4/conf.d/acl/40_exim4-config_check_data</strong></pre>
<p>A la fin du fichier, juste avant la ligne &laquo;&nbsp;<em>accept</em>&laquo;&nbsp;, ajoutez les lignes</p>
<pre><strong># Deny viruses.
deny message = Message contains malware or a virus ($malware_name).
log_message = $sender_host_address tried sending $malware_name demime = * malware = *</strong>
# accept otherwise accept</pre>
<p><span style="color: #ff9900;">Il reste à <strong>configurer Exim4 pour qu&#8217;il utilise Clamav</strong>. </span></p>
<pre><strong>vi /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs</strong></pre>
<p>Au début du fichier, <strong>ajouter la ligne &laquo;&nbsp;av_scanner&#8230;&nbsp;&raquo;</strong>. Je l&#8217;ai ajouté ici :</p>
<pre>#            MAIN CONFIGURATION SETTINGS
#
# Just for reference and scripts.
# On Debian systems, the main binary is installed as exim4 to avoid
# conflicts with the exim 3 packages.
exim_path = /usr/sbin/exim4
# Macro defining the main configuration directory.
# We do not use absolute paths.
.ifndef CONFDIR CONFDIR = /etc/exim4 .endif
# Didier Misson 20070815
<strong>av_scanner = clamd:/var/run/clamav/clamd.ctl</strong> ...</pre>
<p>Et voilà, il suffit de <strong>redémarrer Exim4</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre># <strong>/etc/init.d/exim4 restart</strong>
Stopping MTA for restart: exim4_listener.
Restarting MTA: exim4.</pre>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a></p>
<p><span style="color: #ff0000;"><strong>Ca ne fonctionne pas correctement.</strong></span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>Exim4 génère des messages d&#8217;erreur dans <strong>/var/log/exim4/paniclog</strong><br />
et évidemment les mails n&#8217;arrivent pas.</p>
<p>Les messages se retrouvent aussi dans /var/log/exim4/mainlog :</p>
<pre>2007-08-15 19:53:29 1ILN3g-0004kU-UL malware acl condition: clamd: ClamAV returned <strong>/var/spool/exim4/scan</strong>/1ILN3g-0004kU-UL: lstat() failed. ERROR
2007-08-15 19:53:29 1ILN3g-0004kU-UL H=ug-out-1314.google.com [66.249.92.173] F= temporarily rejected after DATA</pre>
<p><span style="color: #ff9900;">Je suspecte un <strong>problème de permission sur le dossier /var/spool/exim4/scan</strong></span></p>
<p>Une petite recherche <strong>Google</strong> (autant commencer par là), et je trouve directement ce lien :</p>
<p><a  hreflang="fr" href="http://edin.no-ip.com/html/?q=anti_virus_configuration">http://edin.no-ip.com/html/?q=anti_virus_configuration</a></p>
<p><span style="color: #ff9900;"><strong>Edison Wong</strong> parle effectivement des permissions sur ce dossier.</span><br />
Je vérifie :</p>
<pre>:/var/spool/exim4# <strong>ls -l</strong>
total 48
drwxr-x--- 2 Debian-exim Debian-exim  4096 2007-06-30 19:34 db
-r-------- 1 Debian-exim Debian-exim   202 2007-07-01 20:32 gnutls-params
drwxr-x--- 2 Debian-exim Debian-exim 24576 2007-08-15 21:50 input
drwxr-x--- 2 Debian-exim Debian-exim 12288 2007-08-15 21:50 msglog
drw<strong>xr-</strong>x--- 2 Debian-exim Debian-exim  4096 2007-08-15 21:30 <strong>scan</strong></pre>
<p>Je pense que le owner est correct. En effet j&#8217;ai pris soin d&#8217;ajouter &laquo;&nbsp;<em>clamav</em>&nbsp;&raquo; au groupe &laquo;&nbsp;<em>Debian-exim</em>&laquo;&nbsp;.</p>
<p>Par contre, il est clair que <span style="color: #ff9900;"><strong>seul &laquo;&nbsp;Debian-exim&nbsp;&raquo; peut écrire dans ces dossiers !</strong></span></p>
<p>J&#8217;exécute donc la commande :</p>
<pre><strong>chmod -Rf g+w /var/spool/exim4</strong></pre>
<p>Et maintenant, <span style="color: #00ff00;"><strong>le dossier est bien accessible en écriture par ClamAV</strong>. </span></p>
<p>Si j&#8217;ai bien compris, la commande suivante conseillée par Edison Wong, permet d&#8217;avoir tous les fichiers créés dans un des sous-dossiers appartenant au même groupid, càd comme si c&#8217;était toujours Debian-exim qui les crée :</p>
<pre><strong>chmod -Rf g+s /var/spool/exim4</strong>
<strong>ls -l
</strong>total 48 drwxrws--- 2 Debian-exim Debian-exim  4096 2007-06-30 19:34 db
-r---wS--- 1 Debian-exim Debian-exim   202 2007-07-01 20:32 gnutls-params
drwxrws--- 2 Debian-exim Debian-exim 24576 2007-08-15 22:13 input
drwxrws--- 2 Debian-exim Debian-exim 12288 2007-08-15 22:13 msglog
drw<strong>xrws</strong>--- 2 Debian-exim Debian-exim  4096 2007-08-15 21:30 <strong>scan</strong></pre>
<p><strong>Je réessaye.</strong></p>
<p><a  hreflang="fr" href="http://www.clamav.net/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/clam_100x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">On progresse&#8230; euh&#8230; disons que je viens de passer au <strong>problème suivant</strong></span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Voici les messages d&#8217;erreur :</p>
<pre>2007-08-15 22:45:30 1ILPk9-0005t1-Uk malware acl condition: <strong>clamd: unable to connect to UNIX socket /var/run/clamav/clamd.ctl (No such file or directory)</strong>
2007-08-15 22:45:30 1ILPk9-0005t2-VL malware acl condition: clamd: unable to connect to UNIX socket /var/run/clamav/clamd.ctl (No such file or directory)
2007-08-15 22:45:30 1ILPk9-0005t1-Uk H=ug-out-1314.google.com [66.249.92.174] F= temporarily rejected after DATA
2007-08-15 22:45:30 1ILPk9-0005t2-VL H=ug-out-1314.google.com [66.249.92.169] F= temporarily rejected after DATA</pre>
<p>Je vérifie donc <strong>/var/run/clamav/clamd.ctl</strong>.</p>
<p>Pourtant il existe :</p>
<pre>:/var/run/clamav# ls -l
total 8
srwxrwxrwx 1 clamav clamav 0 2007-08-15 22:46 <strong>clamd.ctl
</strong>-rw-rw---- 1 clamav clamav 5 2007-08-15 22:46 clamd.pid
-rw-rw---- 1 clamav clamav 5 2007-08-15 19:00 freshclam.pid</pre>
<p><a  hreflang="fr" href="http://www.clamav.net/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/clam_100x100.png" border="0" alt="" /></a></p>
<p>Je cherche sur Google.</p>
<p>Quelqu&#8217;un indiquait qu&#8217;il n&#8217;avait pas de base de données virus, càd que <strong>freshclam</strong> ne réussissait pas à la mettre à jour via le net.<br />
Je vérifie donc :</p>
<pre># <strong>freshclam</strong>
ClamAV update process started at Wed Aug 15 23:37:20 2007
<span style="color: #ff0000;">WARNING: <strong>Your ClamAV installation is OUTDATED!</strong>
WARNING: Local version: 0.90.1
<strong>Recommended version: 0.91.1</strong></span>
DON'T PANIC!
Read http://www.clamav.net/support/faq
main.inc is up to date (version: 44, sigs: 133163, f-level: 20, builder: sven)
daily.cvd is up to date (version: 3964, sigs: 14108, f-level: 20, builder: arnaud)</pre>
<p>Donc, la liste de virus, ça va. C&#8217;est à jour.<br />
<span style="color: #ff9900;">Mais il existe déjà <strong>une nouvelle version de ClamAV</strong>. </span></p>
<p><strong>Le site de ClamAV</strong> est assez bien fait et je trouve ceci concernant les mises à jour :</p>
<ul>
<li><a  hreflang="fr" href="http://www.clamav.net/support/faq">http://www.clamav.net/support/faq</a></li>
<li><a  hreflang="fr" href="http://www.clamav.net/download/packages/packages-linux">http://www.clamav.net/download/packages/packages-linux</a></li>
</ul>
<p><a  hreflang="fr" href="http://www.debian.org"><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;"><strong>Debian</strong> fait effectivement passer la stabilité en premier lieu. De ce fait, les packages ne sont pas toujours très à jour. </span></p>
<p><span style="color: #ff0000;"><strong>Mais <em>un anti-virus ou anti-spam est un cas spécial</em></strong>.</span><br />
<ins>On ne peut pas se permettre d&#8217;attendre 1 à 2 ans</ins> entre chaque version de Debian, ni même 6 mois si votre serveur est sous Ubuntu, <ins>pour mettre à jour un programme anti-virus</ins> !</p>
<p><span style="color: #ff9900;">Ces cas ont été prévus par le projet <a  hreflang="fr" href="http://www.debian.org/volatile/">Debian Volatile</a>.</span></p>
<p>Pour avoir accès aux dernières versions de ces paquets (sans utiliser de backports depuis la version Unstable), il faut ajouter un dépot dans le sources.list.</p>
<pre># <strong>vi /etc/apt/sources.list
</strong>deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free</pre>
<p>Faire la mise à jour :</p>
<pre># <strong>apt-get update</strong>
...
# <strong>apt-get dist-upgrade</strong>
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
The following packages will be upgraded:
 <strong>clamav-base clamav-daemon clamav-freshclam libclamav2 tzdata
</strong>5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 11.8MB of archives.
After unpacking 1516kB of additional disk space will be used.</pre>
<p>J&#8217;ai <strong>ignoré le message d&#8217;avertissement</strong> sur la clé du dépot volatile.<br />
Je verrai ça un autre soir.</p>
<p><span style="color: #ff9900;"><strong>Maintenant, tout est à jour</strong> : </span></p>
<pre># <strong>freshclam</strong>
ClamAV update process started at Thu Aug 16 00:01:13 2007
main.inc is up to date (version: 44, sigs: 133163, f-level: 20, builder: sven)
daily.cvd is up to date (version: 3964, sigs: 14108, f-level: 20, builder: arnaud)</pre>
<p><span style="color: #00ff00;">Plus de message disant que ClamAV n&#8217;est pas à jour.</span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://www.debian.org"><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" border="0" alt="" /></a></p>
<p><strong>Je vais réessayer.</strong><br />
Peut-être que la mise à jour a corrigé ce bug, si ça en est un (ce qui n&#8217;est pas certain).</p>
<p><span style="color: #ff9900;"><strong>Je redémarre Exim</strong>, et je m&#8217;envoie un mail. </span></p>
<p>Il passe ! <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Mais avec <strong>des erreurs</strong> : <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<ul>
<li>2007-08-16 00:14:20 1ILR85-0006pi-FR SA: Action: <strong>SA didn&#8217;t successfully run against message</strong>, accepting (time: 3/3 secs | Message-Id: 46C37AB5</li>
<li>.7070407@gmail.com). From  (host=ug-out-1314.google.com [66.249.92.175]) for didier@libre-pc.be</li>
<li>2007-08-16 00:14:20 1ILR85-0006pi-FR &lt;= didier.misson@gmail.com H=ug-out-1314.google.com [66.249.92.175] P=esmtp S=2297 id=46C37AB5.7070407@g</li>
<li>mail.com</li>
<li>2007-08-16 00:14:20 1ILR85-0006pi-FR =&gt; didier  R=local_user T=maildir_home</li>
<li>2007-08-16 00:14:20 1ILR85-0006pi-FR Completed</li>
<li></li>
</ul>
<p>Effectivement, <strong>dans l&#8217;entête du mail dans Thunderbird</strong>, je vois des lignes ajoutées (ce qui est normal), mais avec le message suivant :</p>
<pre>X-SA-Exim-Scanned : No (on ks12345.kimsufi.com); <strong>Unknown failure</strong></pre>
<p><ins>Ce problème est donc différent du précédant, qui a donc été réglé <strong>par la mise à jour</strong></ins>.</p>
<p><a  hreflang="fr" href="http://www.exim.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/Exim_logo_Jennifergreenley_150x110.jpg" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">Je vois que <strong>pourtant ClamAV détecte des virus</strong> : </span></p>
<pre>2007-08-16 02:19:00 no IP address found for host node175.48.208.daystar.net (during SMTP connection from [208.48.175.136])
2007-08-16 02:19:02 1ILT4n-0007M5-BB <strong>demime acl condition: base64 line contains illegal character</strong>
2007-08-16 02:19:02 1ILT4n-0007M5-BB H=(node175.48.208.daystar.net) [208.48.175.136] F=
 <strong>rejected after DATA</strong>: 208.48 .175.136 <strong>tried sending Trojan.Downloader-12905</strong></pre>
<p><strong>C&#8217;est déjà ça&#8230; mais il reste des messages &laquo;&nbsp;SA didn&#8217;t successfully run against message&nbsp;&raquo;</strong>.</p>
<p>J&#8217;essaye de faire <strong>quelques tests</strong>.</p>
<p><span style="color: #ff9900;"><strong>Edison Wong</strong> donne des indications sur la façon de <a  hreflang="fr" href="http://edin.no-ip.com/html/?q=anti_virus_configuration">faire des essais</a>. </span></p>
<p><span style="color: #ff9900;"> Je m&#8217;envoie un mail depuis Gmail avec l<strong>a paterne de test</strong> dans le corp du mail : </span></p>
<pre>X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*</pre>
<p>et effectivement, <strong>ce mail ne m'arrive pas dans ma boite, mais est rejeté par ClamAV</strong>. je vois dans /var/log/exim4/mainlog :</p>
<pre>2007-08-16 11:26:43 1ILbcp-0006FC-7M H=py-out-1112.google.com [64.233.166.182] F= <strong>rejected after DATA: 64.233.166.182 tried sending Eicar-Test-Signature</strong></pre>
<p><span style="color: #00ff00;">Je constate que <strong>le serveur a renvoyé une réponse</strong> sur mon adresse Gmail.com</span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre>Mail Delivery Subsystem
 <strong>This is an automatically generated Delivery Status Notification
</strong> Delivery to the following recipient failed permanently:     <strong>didier@libre-pc.be</strong>
Technical details of permanent failure: PERM_FAILURE: SMTP Error (state 16):
550 <strong>Message contains malware or a virus (Eicar-Test-Signature)</strong>.</pre>
<p>C&#8217;est absolument parfait !<br />
<span style="color: #00ff00;"><strong>Donc, l&#8217;antivirus fonctionne correctement !</strong></span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://www.clamav.net/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/clam_100x100.png" border="0" alt="" /></a></p>
<p>Pour plus de test, on peut s&#8217;envoyer <strong>des fichiers</strong> en attachement.<br />
<span style="color: #ff9900;">Pour cela il faut <strong>installer les fichiers de test</strong> : </span></p>
<pre># apt-get install clamav-testfiles</pre>
<p>Je ferai ce test, mais pour le moment, ce n&#8217;est donc pas ClamAV qui pose problème, mais <strong>SpamAssassin</strong>&#8230;</p>
<p>On progresse ! <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;"><strong>C&#8217;est donc Spamassassin qui ne fonctionne pas.</strong></span></p>
<p>Je me refais un mail.<br />
Toujours les même erreurs dans le log Exim4 :</p>
<pre>2007-08-18 00:08:37 1IM9zh-00032D-Lm SA: Debug: SAEximRunCond expand returned: '1'
2007-08-18 00:08:37 1IM9zh-00032D-Lm SA: Debug: check succeeded, running spamc
2007-08-18 00:08:40 1IM9zh-00032D-Lm <strong>SA: Action: SA didn't successfully run against message</strong>, accepting (time: 3/3 secs | Message-Id: 46C61C5F .7030005@gmail.com).
From  (host=ug-out-1314.google.com [66.249.92.171]) for didier@libre-pc.be
2007-08-18 00:08:40 1IM9zh-00032D-Lm &lt;= didier.misson@gmail.com H=ug-out-1314.google.com [66.249.92.171] P=esmtp S=2294 id=46C61C5F.7030005@g mail.com
2007-08-18 00:08:40 1IM9zh-00032D-Lm =&gt; didier  R=local_user T=maildir_home
2007-08-18 00:08:40 1IM9zh-00032D-Lm Completed</pre>
<p>Mais je trouve ceci dans <strong>/var/log/syslog</strong> :</p>
<pre>Aug 18 00:08:37 ks12345 <strong>spamc[11671]: <ins>connect</ins>(AF_INET) <ins>to spamd</ins> at 127.0.0.1 <ins>failed</ins></strong>, retrying (#1 of 3): Connection refused
Aug 18 00:08:38 ks12345 spamc[11671]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
Aug 18 00:08:39 ks12345 spamc[11671]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
Aug 18 00:08:40 ks12345 <span style="color: #ff0000;"><strong>spamc[11671]: connection attempt to spamd aborted after 3 retries</strong></span></pre>
<p><strong>J&#8217;essaye de redémarrer SpamAssassin</strong> :</p>
<pre># <strong>/etc/init.d/spamassassin stop</strong>
Stopping SpamAssassin Mail Filter Daemon: <strong><ins>No spamd found running</ins>; none killed</strong>. spamd.
# <strong>/etc/init.d/spamassassin start</strong>
Starting SpamAssassin Mail Filter Daemon: spamd.
# ps -A|grep spa
<strong>12751 ?        00:00:01 spamd
12752 ?        00:00:00 spamd
12753 ?        00:00:00 spamd</strong></pre>
<p><span style="color: #ff9900;"><strong><em>Il n&#8217;y avait pas de tâche SpamAssassin active !</em></strong> </span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>On cherche parfois des heures dans des fichiers de configuration&#8230; en oubliant de vérifier la base !</p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p>Je refais un mail.</p>
<p><span style="color: #ff9900;"><strong>Je vois cette fois dans les logs d&#8217;Exim4 :</strong></span></p>
<pre>2007-08-18 00:58:00 1IMAlU-0003Mb-LY <strong>SA: Debug: SAEximRunCond expand returned: '1'
</strong>2007-08-18 00:58:00 1IMAlU-0003Mb-LY <strong>SA: Debug: check succeeded, running spamc</strong>
2007-08-18 00:58:00 1IMAlU-0003Mb-LY <strong><em>SA: Action: <ins>scanned but message isn't spam</ins>: score=0.0 required=5.0</em> (scanned in 0/0 secs</strong> | Message-Id: 46 C627F2.4060201@gmail.com).
From  (host=ug-out-1314.google.com [66.249.92.169]) for didier@libre-pc.be
2007-08-18 00:58:00 1IMAlU-0003Mb-LY &lt;= didier.misson@gmail.com H=ug-out-1314.google.com [66.249.92.169] P=esmtp S=2465 id=46C627F2.4060201@g mail.com
2007-08-18 00:58:01 1IMAlU-0003Mb-LY =&gt; didier  R=local_user T=maildir_home
2007-08-18 00:58:01 1IMAlU-0003Mb-LY Completed</pre>
<p>Et très logiquement, <span style="color: #ff9900;">les messages sont maintenant positif dans <strong>/var/log/syslog</strong> aussi</span>.</p>
<pre>Aug 18 00:58:00 ks36586 spamd[12752]: <strong>spamd: connection from localhost.localdomain [127.0.0.1] at port 4371</strong>
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: setuid to Debian-exim succeeded
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: processing message &lt;46C627F2.4060201@gmail.com&gt; for Debian-exim:104
Aug 18 00:58:00 ks36586 spamd[12752]: <strong>spamd: <em>clean message (0.0/5.0)</em></strong> for Debian-exim:104 <strong>in 0.2 seconds</strong>, 2165 bytes.
Aug 18 00:58:00 ks36586 spamd[12752]: spamd: result: . 0 - scantime=0.2,size=2165,user=Debian-exim,uid=104,required_score=5.0,rhost=localhost .localdomain,raddr=127.0.0.1,rport=4371,mid=&lt;46C627F2.4060201@gmail.com&gt;,autolearn=ham
Aug 18 00:58:00 ks36586 spamd[12751]: prefork: child states: II</pre>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p>Vu que la tâche n&#8217;avait pas démarré, <span style="color: #ff9900;">je vérifie quand même si elle se trouve bien dans les tâches devant démarrer automatiquement : </span></p>
<pre># <strong>ls -l /etc/rc2.d/*spam*</strong>
lrwxrwxrwx 1 root root 22 2007-08-15 19:11 <strong>/etc/rc2.d/S19spamassassin -&gt; ../init.d/spamassassin</strong></pre>
<p>Le démarrage de SpamAssassin est bien inclu dans les rc2.d à rc5.d.<br />
C&#8217;est donc ok de ce côté là. <span style="color: #00ff00;">En cas de reboot du serveur, SpamAssassin sera bien en machine. </span></p>
<p>Bon allez, <strong>pour le fun, je me fais un petit Spam ! </strong></p>
<p><span style="color: #ff9900;">Je m&#8217;envoie un mail avec comme sujet &laquo;&nbsp;VIAGRA 4U&nbsp;&raquo;</span><br />
Et dans le message :</p>
<blockquote><p>Best product : NEW<br />
V I A G R A : $ 5.00</p></blockquote>
<p>Il est passé&#8230; pas bloqué.<br />
Mais <span style="color: #ffcc00;">SpamAssassin a réagi malgré tout&#8230; un peu&#8230; </span></p>
<p>Dans <strong>/var/log/syslog</strong> :</p>
<pre>Aug 18 01:15:04 ks36586 spamd[12752]: spamd: connection from localhost.localdomain [127.0.0.1] at port 1913
Aug 18 01:15:04 ks36586 spamd[12752]: spamd: setuid to Debian-exim succeeded
Aug 18 01:15:04 ks36586 spamd[12752]: spamd: processing message &lt;46C62BEB.9060206@gmail.com&gt; for Debian-exim:104
Aug 18 01:15:04 ks36586 spamd[12752]: <strong>spamd: clean message (<em>1.1/5.0</em>)</strong> for Debian-exim:104 in 0.1 seconds, 2093 bytes.
Aug 18 01:15:04 ks36586 spamd[12752]: <strong>spamd: result: . <ins>1 - AWL,DRUGS_ERECTILE,DRUGS_ERECTILE_OBFU</ins></strong> scantime=0.1,size=2093,user=Debian-exim,uid =104,required_score=5.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=1913,mid=&lt;46C62BEB.9060206@gmail.com&gt;,autolearn=no
Aug 18 01:15:04 ks36586 spamd[12751]: prefork: child states: II</pre>
<p>Et dans <strong>/var/log/exim4/mainlog</strong> :</p>
<pre>1IMB20-0003SU-2X SA: Action: <strong>scanned but message isn't spam: score=1.1 required=5.0</strong></pre>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">Pour l&#8217;exemple, voici ce que donne un vrai spam : </span></p>
<p>Le log d&#8217;Exim4 :</p>
<pre>2007-08-18 01:54:12 1IMBdr-0003hq-Cq SA: Debug: SAEximRunCond expand returned: '1'
2007-08-18 01:54:12 1IMBdr-0003hq-Cq SA: Debug: check succeeded, running spamc
2007-08-18 01:54:12 1IMBdr-0003hq-Cq <strong>SA: Action: flagged as Spam but accepted: score=6.7 required=5.0</strong> (scanned in 0/0 secs | Message-Id: 7203 207072.20070817235410@gkssplsjd.shankscape.com).
From  (host=NULL [222.238.214.164]) for didier@libre-pc.com
2007-08-18 01:54:12 1IMBdr-0003hq-Cq &lt;= vogel@gkssplsjd.shankscape.com H=(-1208575648) [222.238.214.164] P=smtp S=4096 id=7203207072.20070817 235410@gkssplsjd.shankscape.com
2007-08-18 01:54:12 1IMBdr-0003hq-Cq =&gt; didier  R=local_user T=maildir_home
2007-08-18 01:54:12 1IMBdr-0003hq-Cq Completed</pre>
<p>Dans le /var/log/syslog :</p>
<pre>Aug 18 01:54:12 ks36586 spamd[12752]: spamd: connection from localhost.localdomain [127.0.0.1] at port 1250
Aug 18 01:54:12 ks36586 spamd[12752]: spamd: setuid to Debian-exim succeeded
Aug 18 01:54:12 ks36586 spamd[12752]: spamd: processing message &lt;7203207072.20070817235410@gkssplsjd.shankscape.com&gt; for Debian-exim:104
Aug 18 01:54:12 ks36586 spamd[12752]: <strong>spamd: identified spam (6.7/5.0)</strong> for Debian-exim:104 in 0.2 seconds, 3576 bytes.
Aug 18 01:54:12 ks36586 spamd[12752]: <strong>spamd: result: Y 6 - DRUGS_ANXIETY,DRUGS_ANXIETY_EREC,DRUGS_DIET,DRUGS_ERECTILE,DRUGS_MANYKINDS,DRUGS_M USCLE,DRUGS_PAIN,DRUG_ED_GENERIC,FROM_DOMAIN_NOVOWEL,HG_HORMONE,HTML_IMAGE_ONLY_20,HTML_MESSAGE,UNPARSEABLE_RELAY</strong>
scantime=0.2,size=3576,user =Debian-exim,uid=104,required_score=5.0,rhost=localhost.localdomain,raddr=127.0.0.1,rport=1250,mid=&lt;7203207072.20070817235410@gkssplsjd.shank scape.com&gt;,autolearn=no
Aug 18 01:54:12 ks36586 spamd[12751]: prefork: child states: II</pre>
<p><span style="color: #ff9900;">Et le mail est arrivé dans ma boite. </span></p>
<p><span style="color: #ff0000;">En effet, <strong>pour le moment la détection fonctionne, mais rien n&#8217;est fait pour mettre automatiquement les spams dans un dossier Spam</strong> par exemple.<br />
Mais <strong>ils sont flagués comme spam dans l&#8217;entête du mail</strong>. </span></p>
<p>Je vois par exemple ceci <strong>dans l&#8217;entête de ce mail</strong> :</p>
<pre><strong><em>X-AntiVirus: Checked by Dr.Web</em> (http://www.drweb.net)
</strong>X-SA-Exim-Connect-IP: 222.238.214.164
X-SA-Exim-Mail-From: vogel@gkssplsjd.shankscape.com Subject: The Pharmacy America Trusts
X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.7-deb (2006-10-05) on      ks12345.kimsufi.com
X-Spam-Level: ****** <strong>X-Spam-Status: Yes, score=6.7 required=5.0 tests=DRUGS_ANXIETY,
 DRUGS_ANXIETY_EREC,DRUGS_DIET,DRUGS_ERECTILE,DRUGS_MANYKINDS,
 DRUGS_MUSCLE,DRUGS_PAIN,DRUG_ED_GENERIC,FROM_DOMAIN_NOVOWEL,
 HG_HORMONE,HTML_IMAGE_ONLY_20,HTML_MESSAGE,UNPARSEABLE_RELAY</strong>
 autolearn=no version=3.1.7-deb X-SA-Exim-Version: 4.2.1 (built Tue, 09 Jan 2007 17:23:22 +0000)
<strong>X-SA-Exim-Scanned: Yes</strong> (on ks123456.kimsufi.com)</pre>
<p><span style="color: #ff0000;"><strong>Remarquez le &laquo;&nbsp;X-AntiVirus: Checked by Dr.Web&nbsp;&raquo;</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Cette entête n&#8217;a rien à voir avec SpamAssassin !</span><br />
C&#8217;est juste une entête piège mise par le virus lui-même, destinée à tromper certains programmes de mails qui penseraient que le mail est sûr puisque déjà scanner&#8230;<strong> Il n&#8217;est en rien !</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
<p><span style="color: #ff9900;">Je me rend compte que le mail est mis dans un dossier &laquo;&nbsp;<em>Junk</em>&laquo;&nbsp;, même depuis le <a  hreflang="fr" href="http://www.squirrelmail.org/">webmail Squirrelmail</a>.</span><br />
Mais je pense que <strong>c&#8217;est Thunderbird qui a déplacé les mails</strong>.<br />
Comme il est connecté au serveur en IMAPs, ses actions, telque mettre des spams dans le dossier &laquo;&nbsp;Junk&nbsp;&raquo;, sont répétées sur le serveur.</p>
<p>Je vérifierai cela demain, directement du Webmail, pour voir si les spams sont dans le dossier &laquo;&nbsp;Junk&nbsp;&raquo; ou &laquo;&nbsp;Inbox&nbsp;&raquo;.</p>
<p><span style="color: #ff9900;">On peut penser que cette détection fait double emploie avec celle de Thunderbird&#8230; </span></p>
<p>Oui en partie. Mais ce serait bien de directement déplacer les mails dans ce dossier &laquo;&nbsp;<em>Junk</em>&laquo;&nbsp;.<br />
Ce serait de toute façon utile si on consulte ses mails depuis le webmail avec un navigateur.</p>
<p>Il est possible de toute façon de <strong>configurer Thunderbird pour qu&#8217;il se fie aux entêtes de courrier indésirable placés par SpamAssassin</strong>. Cela se configure, très logiquement dans la <strong>gestion des indésirables</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Je viens de le configurer. Je verrai également demain comme il va se comporter. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<span style="color: #ff9900;">L&#8217;idéal serait qu&#8217;il place <strong><a  hreflang="fr" href="http://didier.misson.net/blog/index.php?2007/10/28/150-exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam">directement les spams détectés par SpamAssassin dans le dossier &laquo;&nbsp;indésirable&nbsp;&raquo;</a></strong>, et qu&#8217;il scanne malgré tout les autres.</span> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Voir à ce sujet mon <a  hreflang="fr" href="http://didier.misson.net/blog/index.php?2007/10/28/150-exim4-spamassassin-deplacer-les-spams-dans-un-dossier-spam">billet du 28 octobre</a>. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a  hreflang="fr" href="http://spamassassin.apache.org/"><img src="/blog/wp-content/uploads/2007/dotclear/Linux/SpamAssassin_arrowlogo_226x100.png" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2007/08/15/configuration-antivirus-et-antispam-avec-exim4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exim 4 &amp; Debian : config et essais</title>
		<link>http://didier.misson.net/blog/2006/11/18/exim-4-sur-un-serveur-debian-config-et-essais/</link>
		<comments>http://didier.misson.net/blog/2006/11/18/exim-4-sur-un-serveur-debian-config-et-essais/#comments</comments>
		<pubDate>Sat, 18 Nov 2006 01:56:45 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=26</guid>
		<description><![CDATA[Après avoir trouvé la doc sur Debian et Exim, je me lance dans la config de ce serveur mails.<br /> <img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" alt="" />]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2006/11/18/exim-4-sur-un-serveur-debian-config-et-essais/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2006/11/18/exim-4-sur-un-serveur-debian-config-et-essais/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2006/11/18/exim-4-sur-un-serveur-debian-config-et-essais/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>Après avoir trouvé la doc sur Debian et Exim, je me lance dans la config de ce serveur mails.<br />
<img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" alt="" /><br />
<span id="more-26"></span><br />
Je me baserai donc sur les pages de doc que j&#8217;avais indiqué dans un billet précédent:</p>
<ul>
<li><a hreflang="fr" href="http://www.debian-administration.org/articles/140">Handling mail for multiple virtual domains with exim4</a></li>
<li><a  hreflang="fr" href="http://www.debuntu.org/2006/05/17/52-how-to-exim4-virtual-host-on-debian-etch">Exim4 Virtual Host on Debian Etch</a></li>
<li><a  hreflang="fr" href="http://koivi.com/exim4-config/">Installing and configuring Exim 4 on Debian</a></li>
<li><a  hreflang="fr" href="http://www.debian-administration.org/articles/141">Rejecting viral email at SMTP time with exim4</a></li>
</ul>
<p>D&#8217;abord sur les 2 premières pages.<br />
L&#8217;anti-virus, ce sera pour après.</p>
<p>Ce serveur est un <a  hreflang="fr" href="http://www.kimsufi.com/">Kimsufi</a>, hébergé chez <a  hreflang="fr" href="http://www.ovh.com/fr/index.xml">OVH</a>.</p>
<p>A l&#8217;origine ce serveur était en <a  hreflang="fr" href="http://www.gentoo.org/">Gentoo</a>, mais connaissant assez bien Debian et pas du tout Gentoo, <a  hreflang="fr" href="http://www.debian.org/">je l&#8217;ai fait reconfigurer en Debian</a>.<br />
<img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" alt="" /></p>
<p>Sur ce serveur tourne aussi un <a  hreflang="fr" href="http://www.apache.org/">serveur Web Apache</a>.<br />
J&#8217;ai commencé à développer un site Web sur les PC et les logiciels libres, en particulier <a  hreflang="fr" href="http://www.ubuntu.com/">Ubuntu</a> :</p>
<p><a  hreflang="fr" href="http://www.libre-pc.be/">www.libre-pc.be/</a><br />
<a  hreflang="fr" href="http://www.libre-pc.com/">www.libre-pc.com/</a></p>
<p>Je vais me servir de ces domaines pour configurer et tester le serveur Exim4. J&#8217;ai modifié dans le DNS le record MX de ces deux domaines pour qu&#8217;il pointe vers notre serveur Exim4.</p>
<p>Si vous avez besoin d&#8217;une <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Domain_Name_System">explication rapide sur les DNS et le MX record</a>, <a  hreflang="fr" href="http://fr.wikipedia.org/wiki/Accueil">Wikipedia</a> est comme souvent une bonne source d&#8217;information.<br />
<img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /><br />
Exim4 est installé de base dans Debian&#8230; Reste à le configurer.</p>
<p><ins>Remarque</ins> : Exim peut être installé avec deux types de fichiers de configuration.</p>
<ul>
<li>soit toute la configuration est réunie dans 2 ou 3 gros fichiers</li>
<li>soit Exim créera plusieurs petits fichiers de configurations différents</li>
</ul>
<p>Cette façon de faire est préférable au niveau compréhension, clarté et il y a moins de risque d&#8217;erreur en n&#8217;éditeur qu&#8217;un petit fichier à la fois.</p>
<p>Le serveur Exim devra gérer plusieurs comptes mails et sur plusieurs domaines.<br />
<span style="color: #ff9900;">Pour un <strong>serveur Exim4 Multi-Domaines</strong>, il faut définir des <strong>Virtual Domains</strong>.</span></p>
<p><a  hreflang="fr" href="http://www.debian-administration.org"><img src="/blog/wp-content/uploads/2007/dotclear/debian_adminitration_logo_52x56.png" border="0" alt="" /></a><br />
Le site <a  hreflang="fr" href="http://www.debian-administration.org">www.debian-administration.org</a> me donne <a  hreflang="fr" href="http://www.debian-administration.org/articles/140">une bonne explication &laquo;&nbsp;Handling mail for multiple virtual domains with exim4&#8243;</a> à ce sujet.</p>
<p>La <a  hreflang="fr" href="http://www.debuntu.org/2006/05/17/52-how-to-exim4-virtual-host-on-debian-etch">page &laquo;&nbsp;Exim4 Virtual Host on Debian Etch&nbsp;&raquo;</a> du site <a  hreflang="fr" href="http://www.debuntu.org">www.ebuntu.org</a> est aussi très instructive. Ces deux pages sont complémentaires et j&#8217;ai réellement compris (enfin je crois) après avoir lu les deux.</p>
<p><span style="color: #ff9900;">Dans le dossier /etc/exim4, il faut créer un dossier &laquo;&nbsp;virtualhosts&nbsp;&raquo; et y mettre un fichier texte par domaine pour lequel Exim devra gérer du courrier.</span></p>
<ul>
<li>cd /etc/exim4</li>
<li>mkdir virtualhosts</li>
<li>cd virtualhosts</li>
<li>touch libre-pc.be</li>
<li>touch libre-pc.com</li>
</ul>
<p>J&#8217;obtiens donc 2 fichiers vides :</p>
<pre>ks12345:/etc/exim4/virtualhosts# ls -l
total 0
-rw-r--r--  1 root root 0 Nov 18 03:24 libre-pc.be
-rw-r--r--  1 root root 0 Nov 18 03:24 libre-pc.com</pre>
<p>Pour chaque domaine, il faudra mettre dans son fichier une ligne du genre :</p>
<pre>address : username@localhost</pre>
<p>Ainsi si j&#8217;ai des boites utilisateurs en local sur ce serveur, je mettrais par exemple <strong>pour &laquo;&nbsp;libre-pc.be</strong>&nbsp;&raquo;</p>
<pre>didier : didier@localhost
jean : jean@localhost
david : david@localhost</pre>
<p><strong>pour &laquo;&nbsp;libre-pc.com</strong>&nbsp;&raquo; je veux réenvoyer le mail vers libre-pc.be.</p>
<pre>*: catchall@libre-pc.be</pre>
<p>Cela veut dire que tout le courrier envoyé à &laquo;&nbsp;didier@libre-pc.be&nbsp;&raquo; sera envoyé à la boite mail LOCALE de l&#8217;utilisateur &laquo;&nbsp;didier&nbsp;&raquo; sur le serveur lui-même (localhost).<br />
Par contre, pour &laquo;&nbsp;libre-pc.com&nbsp;&raquo; tout le mail sera redirigé vers l&#8217;autre domaine &laquo;&nbsp;libre-pc.be&nbsp;&raquo;</p>
<p><strong>REMARQUE</strong> : Je vérifierai ce point par après !</p>
<p>Il faut maintenant <span style="color: #ff9900;">configurer Exim pour qu&#8217;il accepte du courrier de tous les domaines pour les quels on aura créé un fichier dans le dossier &laquo;&nbsp;virtualhosts&nbsp;&raquo;</span>.<br />
Cela permettra d&#8217;ajouter facile des nouveaux domaines mails, sans devoir éditer à chaque fois le fichier de configuration.<br />
Pour le moment, la liste des domaines que Exim accepte est dans son fichier de configuration.</p>
<pre>cd /etc/exim4/conf.d/main/
vi 01_exim4-config_listmacrosdefs</pre>
<p>On y trouve les lignes :</p>
<pre># Create domain and host lists for relay control
# '@' refers to 'the name of the local host'

.ifndef MAIN_LOCAL_DOMAINS
MAIN_LOCAL_DOMAINS = DEBCONFlocal_domainsDEBCONF
.endif
domainlist local_domains = <strong>MAIN_LOCAL_DOMAINS</strong><strong></strong></pre>
<p>Remplacer la dernière ligne par</p>
<pre>domainlist local_domains = <strong>@:localhost:dsearch;/etc/exim4/virtual</strong></pre>
<p>Cela forcera Exim4 à aller chercher la liste des domaines dans le dossier que nous venons de créer.</p>
<p>Il faut maintenant créer un fichier d&#8217;<strong>Alias</strong> pour les Virtuals Domains.</p>
<p>Créer un nouveau fichier :</p>
<pre>vi /etc/exim4/conf.d/router/350_exim4-config_vdom_aliases</pre>
<p>et y mettre les lignes suivantes :</p>
<pre>vdom_aliases:
      driver = redirect
      allow_defer
      allow_fail
      domains = dsearch;/etc/exim4/virtual
      data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim4/virtual/$domain}}}
      retry_use_local_part
      pipe_transport   = address_pipe
      file_transport   = address_file
      no_more</pre>
<p><span style="color: #ff9900;">Il reste évidemment à redémarrer Exim.</span></p>
<pre>/etc/init.d/exim4 restart</pre>
<p>Et à vérifier que tout fonctionne comme voulu.</p>
<p>La page &laquo;&nbsp;<a  hreflang="fr" href="http://koivi.com/exim4-config/">Installing and configuring Exim 4 on Debian</a>&nbsp;&raquo; donne des exemples simples pour envoyer des mails depuis la console</p>
<p><strong><ins>Quelques essais :</ins></strong></p>
<pre>mail -s 'sujet' adresse@email  (terminer par une ligne avec un ".")</pre>
<p>On peut envoyer un mail via Exim à une <strong>adresse locale</strong> :</p>
<pre>exim4 -bt local_user@example.com</pre>
<p>dans mon cas :</p>
<pre>exim4 -bt didier@libre-pc.be</pre>
<p>Pour une adresse vers un serveur extérieur :</p>
<pre>exim4 -v mailbox_you_can_check@dom.ain
   From: user@your.domain
   To: mailbox_you_can_check@dom.ain
   Subject: Testing exim

   Testing exim
   .</pre>
<p><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /></p>
<p><strong><em>Mes essais :</em></strong></p>
<p><span style="color: #ff9900;">J&#8217;essaye en console sur le serveur quelques commandes :</span></p>
<pre>mail -s 'Essais 1' didier@libre-pc.be
Bonjour
premier essais
.
Cc:didier.misson@belcenter.comil -s 'Essais 1' didier@libre-pc.be Bonjour premier essais . Cc:didier.misson@belcenter.com</pre>
<p>Quelques secondes après, je reçois bien la copie du mail dans mon Thunderbird à la maison.<br />
Donc, la sortie de mail depuis le serveur vers une adresse extérieure fonctionne.</p>
<p>Par contre, rien en local !</p>
<p>Exim4 détecte bien, sur base du record MX que c&#8217;est une adresse locale.<br />
mais ensuite, il ne délivre pas le mail.<br />
Analysons le log :</p>
<pre>2006-11-21 09:00:25 1GmQYL-0002JY-RE &lt;= <strong>root@abcde.be</strong> U=root P=local S=340
2006-11-21 09:00:25 1GmQYL-0002JY-RE <strong>lowest numbered MX record points to local host: libre-pc.be</strong>
2006-11-21 09:00:25 <strong>1GmQYL-0002JY-RE == didier@libre-pc.be</strong> R=dnslookup defer (-1): lowest numbered MX record points to local host
2006-11-21 09:00:26 1GmQYL-0002JY-RE =&gt; didier.misson@<strong>belcenter.com</strong> R=dnslookup T=remote_smtp H=<strong>MX01.AS31449.net</strong> [217.112.180.111]
2006-11-21 09:00:26 1GmQYM-0005IR-E6 &lt;= &lt;&gt; R=1GmQYL-0002JY-RE U=Debian-exim P=local S=593
2006-11-21 09:00:26 <strong>1GmQYL-0002JY-RE Frozen</strong>
2006-11-21 09:00:26 1GmQYM-0005IR-E6 =&gt; <strong>postmaster@abcde.be R=dnslookup T=remote_smtp H=mx1.ovh.net</strong> [213.186.33.29]
2006-11-21 09:00:26 1GmQYM-0005IR-E6 Completed</pre>
<p>On remarque que :</p>
<ul>
<li>le mail est envoyé par <strong>root</strong>@abcde.be  (abcde.be est fictif). C&#8217;est logique, j&#8217;étais logon en root.</li>
<li>Le domaine <strong>abcde.be</strong> comme source du mail, c&#8217;est une sorte de domaine par défaut. Il faudra vérifier cela.</li>
<li>Le <strong>MX record de libre-pc.be</strong> indique à Exim4 que c&#8217;est un domaine <ins>local</ins>.</li>
<li>mais il n&#8217;arrive pas à le délivrer en local : &laquo;&nbsp;<strong>1GmQYL-0002JY-RE Frozen</strong>&laquo;&nbsp;. Cette référence, c&#8217;est bien celle de l&#8217;adresse &laquo;&nbsp;1GmQYL-0002JY-RE == <strong>didier@libre-pc.be</strong>&laquo;&nbsp;</li>
<li>Pour le mail externe, il trouve bien un <strong>MX record</strong> pour &laquo;&nbsp;<strong>belcenter.com</strong>&nbsp;&raquo; et j&#8217;ai bien reçu ce mail.</li>
<li>Exim fait référence au serveur <strong>SMTP de OVH</strong>, je ne sais pas encore pourquoi.</li>
</ul>
<p>L&#8217;analyse de l&#8217;entête du mail reçu dans ma boite Belcenter donne ceci :</p>
<pre><strong>Received :</strong> from mx01.as31449.net (mx01.as31449.net [217.112.180.111])	by ns2.belcenter.be (8.13.6/8.13.4) with ESMTP id kAL7r8cC001780	for ; Tue, 21 Nov 2006 08:53:08 +0100 <strong>
Received :</strong> from ks12345.kimsufi.com (ks12345.kimsufi.com [87.98.123.123])	by mx01.as31449.net (AS31449.net - MX's GW) with ESMTP id 1A3ABE3E8K	for ; Tue, 21 Nov 2006 09:00:25 +0100 (CET) <strong>
Received :</strong> from root by ks12345.kimsufi.com with local (Exim 4.50)	id 1GmQYL-0002JY-RE; Tue, 21 Nov 2006 09:00:25 +0100</pre>
<p>On voit donc que Exim4 a reçu le mail envoyé par &laquo;&nbsp;root&nbsp;&raquo;, il l&#8217;envoie ensuite au serveur mail de Belcenter, qui lui-même le délivre.</p>
<p><span style="color: #ff9900;">Par contre, si je répond à ce mail, il est refusé par Exim :</span></p>
<pre>2006-11-21 08:32:17 H=smtp40.mobistarmail.be [193.252.23.61] F= rejected RCPT : relay not  permitted</pre>
<p>Pour le moment, notre serveur Exim n&#8217;accepte pas de mails venant de l&#8217;extérieur, même venant d&#8217;un serveur SMTP officiel.<br />
C&#8217;est très sécure ! Trop même&#8230; Mais nous verrons ce problème par la suite, <span style="color: #ff0000;">en évitant bien entendu de devenir un &laquo;&nbsp;Open Relay&nbsp;&raquo; ouvert à tous les spammeurs !</span></p>
<p>D&#8217;abord, <strong>pourquoi aucun mail local n&#8217;est délivré ?</strong></p>
<p>Faut-il absolument un MDA ? Ou les mails ne devraient-ils pas arriver dans les boites locales telque &laquo;&nbsp;/home/blog/Mail&nbsp;&raquo; ?</p>
<p>En essayant d&#8217;envoyer un mail avec Exim4 vers un destinataire locale, j&#8217;obtiens :</p>
<pre># exim4 -bt didier@libre-pc.be
R: dnslookup for didier@libre-pc.be
LOG: MAIN
  lowest numbered MX record points to local host: libre-pc.be (while routing )
didier@libre-pc.be cannot be resolved at this time:
  lowest numbered MX record points to local host</pre>
<p>Pourtant, j&#8217;ai bien ceci dans le fichier &laquo;&nbsp;libre-pc.be&nbsp;&raquo;</p>
<pre>ks12345:/etc/exim4/virtualhosts# cat libre-pc.be
<strong>didier : didier@localhost</strong></pre>
<p>Je pense que les problèmes de mails locaux viennent du fait que <span style="color: #ff9900;">les boites mails au format maildir ne sont pas créées.</span><br />
La commande pour les créer existe quand dans le package &laquo;&nbsp;courier-base&nbsp;&raquo;.<br />
Installons le :</p>
<pre>ks12345:~# apt-get install courier-base
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  libfam0c102
Recommended packages:
  fam
The following NEW packages will be installed:
  courier-base libfam0c102
...</pre>
<p><span style="color: #ff9900;">J&#8217;ai maintenant la commande <strong>maildirmake</strong> qui devrait m&#8217;initialiser un dossier au format maildir.</span><br />
Je l&#8217;utilise comme utilisateur, pas en root, puisque je dois initialiser une boite par utilisateur :</p>
<pre>maildirmake ~/Maildir/</pre>
<p>Effectivement, il m&#8217;a créé un dossier &laquo;&nbsp;<strong>Maildir</strong>&nbsp;&raquo;</p>
<pre>didier@ks12345:~$ cd Maildir/
didier@ks12345:~/Maildir$ ls -l
total 12
drwx------  2 didier didier 4096 2006-11-23 07:21 cur
drwx------  2 didier didier 4096 2006-11-23 07:21 new
drwx------  2 didier didier 4096 2006-11-23 07:21 tmp</pre>
<p>Je revérifie la résolution par Exim de mon adresse locale :</p>
<pre> exim4 -bt didier@libre-pc.be
R: dnslookup for didier@libre-pc.be
LOG: MAIN
  lowest numbered MX record points to local host: libre-pc.be (while routing )
<strong>didier@libre-pc.be cannot be resolved at this time</strong>:
  lowest numbered MX record points to local host</pre>
<p>Il n&#8217;arrive toujours pas à résoudre l&#8217;adresse <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>J&#8217;envoie un mail en console vers 3 adresses &laquo;&nbsp;<strong>didier@libre-pc.be</strong>&laquo;&nbsp;, &laquo;&nbsp;<strong>info@libre-pc.be</strong>&nbsp;&raquo; et &laquo;&nbsp;<strong>didier.misson@belcenter.com</strong>&laquo;&nbsp;.<br />
&laquo;&nbsp;didier&nbsp;&raquo; est local, &laquo;&nbsp;info&nbsp;&raquo; devrait être renvoyé vers une adresse externe et l&#8217;adresse &laquo;&nbsp;belcenter.com&nbsp;&raquo; est externe.</p>
<p>Je vois ceci dans le log :</p>
<pre>2006-11-23 07:43:21 1Gn8Ir-0006NP-8G &lt;= root@coolconcept.be U=root P=local S=344
2006-11-23 07:43:21 1Gn8Ir-0006NP-8G lowest numbered MX record points to local host: libre-pc.be
2006-11-23 07:43:21 1Gn8Ir-0006NP-8G == info@libre-pc.be R=dnslookup defer (-1): lowest numbered MX record points to local host
2006-11-23 07:43:21 1Gn8Ir-0006NP-8G lowest numbered MX record points to local host: libre-pc.be
2006-11-23 07:43:21 1Gn8Ir-0006NP-8G == didier@libre-pc.be R=dnslookup defer (-1): lowest numbered MX record points to local host
2006-11-23 07:43:21 1Gn8Ir-0006NP-8G =&gt; didier.misson@belcenter.com R=dnslookup T=remote_smtp H=MX01.AS31449.net [217.112.180.111]
2006-11-23 07:43:21 1Gn8Ir-0003QC-OK &lt;= &lt;&gt; R=1Gn8Ir-0006NP-8G U=Debian-exim P=local S=660
2006-11-23 07:43:21 1Gn8Ir-0006NP-8G <strong>Frozen</strong>
2006-11-23 07:43:22 1Gn8Ir-0003QC-OK =&gt; postmaster@coolconcept.be R=dnslookup T=remote_smtp H=mx1.ovh.net [213.186.33.29]
2006-11-23 07:43:22 1Gn8Ir-0003QC-OK Completed</pre>
<p>Ca ne m&#8217;aide pas vraiment&#8230;<br />
Je reçois bien le mail externe, celui envoyé à &laquo;&nbsp;didier.misson@belcenter.com&nbsp;&raquo;,<br />
mais pas de trace des 2 mails &laquo;&nbsp;@libre-pc.be&nbsp;&raquo;</p>
<p>Malgré que ma boite au format Maildir soit créée, je pense qu&#8217;<span style="color: #ff9900;">Exim4 n&#8217;est pas configuré pour utiliser le format Maildir.</span><br />
Dans ce cas, il ne trouve pas non plus de boite au format mailbox &#8230; et ne peut distribuer le courrier.</p>
<p>Effectivement, dans le fichier &laquo;&nbsp;<strong>30_exim4-config_mail_spool</strong>&laquo;&nbsp;, je vois la ligne</p>
<pre>mail_spool:
  ...
  <strong>file = /var/mail/$local_part</strong><strong></strong></pre>
<p>C&#8217;est bien une configuration pour le format mailbox ! Ce n&#8217;est pas ce que je veux. La configuration correcte est bien expliquée dans ces 2 pages :</p>
<ul>
<li><a  hreflang="fr" href="http://tools.waglo.com/bop/public/doc-fetchmail-exim4-spamassassin">Exim4 et Spam Assassin</a></li>
<li><a  hreflang="fr" href="http://www.win.tue.nl/~martijna/Debianstuff/">Combining Exim4 with Spamassassin</a></li>
</ul>
<p>Voici ce que le fichier correct :</p>
<pre>vi /etc/exim4/conf.d/transport/30_exim4-config_mail_spool</pre>
<pre>### transport/30_exim4-config_mail_spool

# This transport is used for local delivery to user mailboxes in traditional
# BSD mailbox format.
#
mail_spool:
  debug_print = "T: appendfile for $local_part@$domain"
  driver = appendfile
<strong>#  file = /var/mail/$local_part</strong>
  delivery_date_add
  envelope_to_add
  return_path_add
  group = mail
  mode = 0660
  mode_fail_narrower = false
<span style="color: #ff9900;"><strong>  directory = ${home}/Maildir
  maildir_format</strong></span>
  message_prefix = ""</pre>
<p><strong>Un petit restart d&#8217;Exim</strong></p>
<pre>ks12345:/# /etc/init.d/exim4
restart Restarting MTA: exim4.</pre>
<p>Un petit mail vers didier@libre-pc.be &#8230;<br />
et ça ne fonctionne toujours pas !</p>
<p>Au lieu d&#8217;essayer vers une adresse d&#8217;un virtual host, je vais essayer directement en local.<br />
La résolution se fait correctement :</p>
<pre>ks12345:/var/log/exim4# exim4 -bt didier@localhost
R: system_aliases for didier@localhost
R: userforward for didier@localhost
R: procmail for didier@localhost
R: maildrop for didier@localhost
R: local_user for didier@localhost</pre>
<p>J&#8217;envoie un mail vers <strong>didier@localhost</strong> mais je ne reçois toujours rien.<br />
Je regarde le log :</p>
<pre>2006-11-23 08:18:13 1Gn8qb-00013R-6I &lt;= root@abcde.be U=root P=local S=313
2006-11-23 08:18:13 1Gn8qb-00013R-6I == didier@localhost R=local_user T=mail_spool defer (13): <strong>Permission denied: creating lock file hitching</strong>
 post <strong>/var/mail/didier.lock.ks12345.kimsufi.com</strong>.45654b35.00007b4e (euid=1002 egid=8)
2006-11-23 08:18:13 1Gn8qb-00013R-6I ** didier@localhost: retry timeout exceeded
2006-11-23 08:18:13 1Gn8qb-0006Pz-7o &lt;= &lt;&gt; R=1Gn8qb-00013R-6I U=Debian-exim P=local S=1271
2006-11-23 08:18:13 1Gn8qb-00013R-6I Completed
2006-11-23 08:18:14 1Gn8qb-0006Pz-7o =&gt; root@abcde.be R=dnslookup T=remote_smtp H=mx1.ovh.net [213.186.33.29]
2006-11-23 08:18:14 1Gn8qb-0006Pz-7o Completed</pre>
<p>Il essaye dans un <strong>dossier totalement différent</strong> de celui que j&#8217;ai défini !<br />
On dirait qu&#8217;il n&#8217;a pas pris en compte ma définition pour le format maildir&#8230;</p>
<p>Je trouve une explication pour configurer Exim4 au format maildir sur cette page<br />
<a  hreflang="fr" href="http://koivi.com/exim4-config/">Installing and configuring Exim 4 on Debian</a></p>
<p><span style="color: #ff9900;">Il faut éditer le fichier &laquo;&nbsp;<strong>/etc/exim4/update-exim.conf.conf</strong>&nbsp;&raquo; et y ajouter la ligne :</span></p>
<pre><span style="color: #ff9900;">dc_localdelivery='<strong>maildir_home</strong>'</span></pre>
<p>Faire un <strong>/etc/init.d/exim4 restart</strong></p>
<p>On progresse !<br />
<strong>En effet la vérification d&#8217;adresse donne ceci : </strong></p>
<pre>ks36586:/etc/exim4# exim4 -bt didier@localhost
R: system_aliases for didier@localhost
R: userforward for didier@localhost
R: procmail for didier@localhost
R: maildrop for didier@localhost
R: local_user for didier@localhost
didier@localhost
  router = local_user, <strong>transport = maildir_home</strong><strong></strong></pre>
<p>Et dans le log :</p>
<pre>2006-11-23 08:42:07 1Gn9Dj-0005ti-DW &lt;= root@abcd.be U=root P=local S=319
2006-11-23 08:42:07 1Gn9Dj-0005ti-DW =&gt; didier  R=local_user T=maildir_home
2006-11-23 08:42:07 1Gn9Dj-0005ti-DW <strong>Completed</strong><strong></strong></pre>
<p><span style="color: #ff9900;">Mon mail est OK maintenant !<br />
<strong>J&#8217;ai bien reçu le mail dans ma boite LOCALE</strong> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </span></p>
<pre>didier@ks12345:~/Maildir/new$ ls -l
total 4
-rw-------  1 didier didier 431 2006-11-23 08:42 1164267727.H438019P10186.ks12345.kimsufi.com</pre>
<p>Je ne sais pas comment il compose son nom de fichier, mais en allant voir son contenu, c&#8217;est bien le mail que je me suis envoyé <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Je refais un test vers &laquo;&nbsp;didier@libre-pc.be&nbsp;&raquo; &#8230;</p>
<p>et ça ne fonctionne toujours pas.</p>
<p>Donc, un problème de résolu : les mails @localhost et les boites au format maildir,<br />
mais il reste un problème avec le dossier virtualhost qui n&#8217;est pas pris ! <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
<img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /><br />
Ok&#8230;<br />
Un oeil extérieur, ça aide souvent beaucoup <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Mon problème vient d&#8217;une stupide erreur de nom de dossier pour les virtual hosts!</p>
<p>J&#8217;ai &laquo;&nbsp;<strong>virtual</strong>&nbsp;&raquo; dans les 2 fichiers de configuration</p>
<ul>
<li>/etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs</li>
<li>/etc/exim4/conf.d/router/350_exim4-config_vdom_aliases</li>
</ul>
<p>et &laquo;&nbsp;<strong>virtualhosts</strong>&nbsp;&raquo; dans les autres fichiers et comme dossier ! <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> )</p>
<p><ins>Je corrige et mets &laquo;&nbsp;virtualhosts&nbsp;&raquo; partout,</ins> et restart de Exim4 évidemment.</p>
<p>Ca ne va pas encore. Il doit rester une erreur :</p>
<pre>exim4 -bt didier@libre-pc.be
R: dnslookup for didier@libre-pc.be
LOG: MAIN
  lowest numbered MX record points to local host: libre-pc.be (while routing )
<strong>didier@libre-pc.be cannot be resolved at this time</strong>:
  lowest numbered MX record points to local host</pre>
<pre>2006-11-23 19:24:46 1GnJFe-0001XV-SA &lt;= root@abcde.be U=root P=local S=329
2006-11-23 19:24:46 1GnJFe-0001XV-SA lowest numbered MX record points to local host: libre-pc.be
2006-11-23 19:24:46 1GnJFe-0001XV-SA == didier@libre-pc.be R=dnslookup defer (-1): lowest numbered MX record points to local host
2006-11-23 19:24:46 1GnJFe-0004zm-T7 &lt;= &lt;&gt; R=1GnJFe-0001XV-SA U=Debian-exim P=local S=593
2006-11-23 19:24:46 1GnJFe-0001XV-SA Frozen
2006-11-23 19:24:47 1GnJFe-0004zm-T7 =&gt; postmaster@abcde.be R=dnslookup T=remote_smtp H=mx1.ovh.net [213.186.33.29]
2006-11-23 19:24:47 1GnJFe-0004zm-T7 Completed</pre>
<p><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /></p>
<p>J&#8217;ai finalement trouvé.</p>
<p>Tout se passe comme si Exim4 ne tenait même pas compte de ma définition indiquant un dossier /etc/exim4/virtualhosts<br />
Pas qu&#8217;il ne le trouve pas&#8230; Il n&#8217;en tient pas compte !</p>
<p>Pourquoi ?</p>
<p>C&#8217;est un problème de configuration d&#8217;Exim4.<br />
Il y a <strong>deux façons d&#8217;avoir les fichiers de configuration</strong> d&#8217;Exim4.</p>
<ol>
<li>soit regroupé en 2 ou 3 gros fichiers</li>
<li>soit splitté en plusieurs petits fichiers de configuration</li>
</ol>
<p>Cette 2ème manière est plus claire et souple, et elle correspond aux fichiers de configuration que j&#8217;ai. Mais Exim n&#8217;en tient pas compte car il n&#8217;est pas dans ce mode !<br />
<span style="color: #ff9900;"><strong>Il faut forcer ce mode &laquo;&nbsp;split config&nbsp;&raquo;</strong> :</span></p>
<pre><span style="color: #ff9900;">vi /etc/exim4/update-exim.conf.conf</span></pre>
<pre><span style="color: #ff9900;">dc_use_split_config='true'</span></pre>
<p>Redémarrage d&#8217;Exim et essais de résolution :</p>
<pre># exim4 -bt didier@libre-pc.be
LOG: MAIN PANIC DIE
 <strong>failed to open /etc/exim4/virtual for directory search: No such file or directory</strong></pre>
<p>C&#8217;est TRES clair !<br />
Il me reste un mauvais nom de dossier &laquo;&nbsp;virtual&nbsp;&raquo; qui traine dans un fichier de configuration.</p>
<p>Il est ici :</p>
<pre>/etc/exim4/conf.d/router# vi <strong>350_exim4-config_vdom_aliases</strong></pre>
<p>La ligne &laquo;&nbsp;domains&nbsp;&raquo; était fausse et contenait le dossier &laquo;&nbsp;/etc/exim4/virtual&nbsp;&raquo;<br />
Je l&#8217;ai corrigée :</p>
<pre>vdom_aliases:
     driver = redirect
     allow_defer
     allow_fail
     <strong>domains = dsearch;/etc/exim4/virtualhosts</strong>
     data = ${expand:${lookup{$local_part}lsearch*@{/etc/exim4/virtualhosts/$domain}}}
     retry_use_local_part
     pipe_transport   = address_pipe
     file_transport   = address_file
     no_more</pre>
<p>Voilà, <em>ça fonctionne nettement mieux !</em></p>
<p>J&#8217;ai actuellement ceci dans /etc/exim4/virtualhosts/libre-pc.be</p>
<ul>
<li>didier : didier@localhost</li>
<li>info : didier.misson@belcenter.com</li>
<li>postmaster : didier.misson@belcenter.com</li>
<li>webmaster : didier.misson@belcenter.com</li>
</ul>
<p>Quelques essais de résolution :</p>
<pre># exim4 -bt <strong>didier@libre-pc.be</strong>
R: system_aliases for didier@localhost
R: userforward for didier@localhost
R: procmail for didier@localhost
R: maildrop for didier@localhost
R: local_user for didier@localhost
<strong>didier@localhost
   &lt;-- didier@libre-pc.be</strong>
 router = local_user, transport = maildir_home

# exim4 -bt <strong>info@libre-pc.be</strong>
R: dnslookup for didier.misson@belcenter.com
<strong>didier.misson@belcenter.com
   &lt;-- info@libre-pc.be</strong>
 router = dnslookup, transport = remote_smtp
 host MX01.AS31449.net [217.112.180.111] MX=10
 host MX02.AS31449.net [217.112.181.155] MX=1000</pre>
<p><ins>Cela fonctionne correctement</ins> :</p>
<ul>
<li>le mail <em>didier@libre-pc.be</em> arrive bien en local sur le serveur dans <em>/home/blog/Maildir/new</em></li>
<li>le mail <em>info@libre-pc.be est bien</em> routé vers didier.misson@belcenter.com</li>
</ul>
<p> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
Il reste un petit problème: A la réception dans ma boite Belcenter, <ins>Thunderbird classe directement le mail reçu dans les SPAM</ins> <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /><br />
Je pense que c&#8217;est une question d&#8217;adresse d&#8217;origine du mail, mais je verrai cela plus tard <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" /></p>
<p><span style="color: #ff9900;"><strong>Exim4 en réception ?</strong></span></p>
<p>Cela fonctionne. Si je fais &laquo;&nbsp;Répondre&nbsp;&raquo; dans Thunderbird, la réponse arrive bien au serveur. Elle est bien traitée par Exim4 qui place le mail en local dans <strong>/home/blog/Maildir/new</strong><br />
Mon mail venant de ma boite &laquo;&nbsp;belcenter.com&nbsp;&raquo; a bien été envoyé depuis le serveur SMTP de Mobistar.</p>
<pre>2006-11-24 04:03:24 1GnRLY-00012N-Tw &lt;= didier.misson@belcenter.com H=smtp40.mobistarmail.be [193.252.23.61]
 P=esmtp S=1639 id=456660D2.1010605@belcenter.com
2006-11-24 04:03:24 1GnRLY-00012N-Tw =&gt; <strong>didier  R=local_user T=maildir_home</strong>
2006-11-24 04:03:24 1GnRLY-00012N-Tw Completed</pre>
<p><strong> <span style="color: #ff0000;">Et la sécurité ?</span></strong><span style="color: #ff0000;"><br />
Je n&#8217;ai pas envie de servir de relais de spams !</span></p>
<p><span style="color: #ff9900;">Elle semble assurée, ok !</span></p>
<p>Si j&#8217;envoie vers le serveur Exim4 un mail, via le relais SMTP de mon provider Internet, vers une adresse dont le domaine n&#8217;est pas configuré dans les virtual hosts d&#8217;Exim, Exim4 rejette le mail et renvoie un message d&#8217;erreur vers l&#8217;expéditeur.</p>
<p>Dans le log :</p>
<pre>2006-11-24 04:17:59 H=smtp40.mobistarmail.be [193.252.23.61] F= rejected RCPT &lt; <strong>
didier@libre-pc.com</strong>&gt;: <span style="color: #ff0000;"><strong>relay not permitted</strong></span></pre>
<p>J&#8217;ai en effet le fichier /etc/exim4/virtualhosts/libre-pc.be , mais PAS celui de libre-pc.com.<br />
Le MX record de &laquo;&nbsp;libre-pc.com&nbsp;&raquo; pointe bien vers le serveur Exim, mais Exim4 rejette les mails de ce domaine car il ne fait pas partie des virtual hosts définis.</p>
<p>Exim4 n&#8217;accepte donc en entrée QUE les mails vers SES propres domaines.</p>
<p><img src="/blog/wp-content/uploads/2007/dotclear/debian_logo60.png" alt="" /></p>
<p>Ce billet est devenu plus une liste des recherches d&#8217;erreurs que j&#8217;avais faite, qu&#8217;une recette d&#8217;installation et configuration <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Je vais refaire dés que j&#8217;aurai le temps, un nouveau billet propre et plus court, en ne reprendant QUE ce qui est correct, sans le debugging <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Si vous lisez ce billet avant que j&#8217;en ai fait la synthèse, j&#8217;espère que cela vous guidera malgré tout. <img src='http://didier.misson.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2006/11/18/exim-4-sur-un-serveur-debian-config-et-essais/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exim 4 sur un serveur Debian</title>
		<link>http://didier.misson.net/blog/2006/11/14/exim-4-sur-un-serveur-debian/</link>
		<comments>http://didier.misson.net/blog/2006/11/14/exim-4-sur-un-serveur-debian/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 05:30:29 +0000</pubDate>
		<dc:creator>Didier Misson</dc:creator>
				<category><![CDATA[Serveurs]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Exim]]></category>
		<category><![CDATA[Serveur]]></category>

		<guid isPermaLink="false">http://didier.misson.net/blog/?p=24</guid>
		<description><![CDATA[Share Je rame pour trouver de la doc sur la configuration d&#8217; Exim 4 sous Debian. Vraiment pas des tonnes de doc ! J&#8217;ai finalement trouvé ces pages en anglais sur Exim4 et aussi sur le rejet dés l&#8217;envoie SMTP des mails avec virus : Handling mail for multiple virtual domains with exim4 Exim4 Virtual [...]]]></description>
			<content:encoded><![CDATA[<div class="socialize-in-content" style="float:left;"><div class="socialize-in-button-left"><script type="text/javascript">
			<!-- 
			tweetmeme_url = "http://didier.misson.net/blog/2006/11/14/exim-4-sur-un-serveur-debian/";
			tweetmeme_source = "tweetmeme";
			//-->
		</script>
		<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script></div><div class="socialize-in-button-left"><a  name="fb_share" type="box_count" share_url="http://didier.misson.net/blog/2006/11/14/exim-4-sur-un-serveur-debian/" href="http://www.facebook.com/sharer.php">Share</a><script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script></div><div class="socialize-in-button-left"><a  title="Post to Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" 0="data-button-style="normal-count"" 1="data-url="http://didier.misson.net/blog/2006/11/14/exim-4-sur-un-serveur-debian/""></a>
	<script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div></div><p>Je rame pour trouver de la doc sur la configuration d&#8217; Exim 4 sous Debian.<br /> Vraiment pas des tonnes de doc ! <br /> <a href="http://www.exim.org"><img src="/blog/wp-content/uploads/2007/dotclear/exim75.jpg" alt="" border="0"></a> <br /> J&#8217;ai finalement trouvé ces pages en anglais sur Exim4 et aussi sur le rejet dés l&#8217;envoie SMTP des mails avec virus :
<ul>
<li><a  href="http://www.debian-administration.org/articles/140" hreflang="fr">Handling mail for multiple virtual domains with exim4</a></li>
<li><a  href="http://www.debuntu.org/2006/05/17/52-how-to-exim4-virtual-host-on-debian-etch" hreflang="fr">Exim4 Virtual Host on Debian Etch</a></li>
<li><a  href="http://koivi.com/exim4-config/" hreflang="fr">Installing and configuring Exim 4 on Debian</a></li>
<li><a  href="http://www.debian-administration.org/articles/141" hreflang="fr">Rejecting viral email at SMTP time with exim4</a></li>
</ul>
<p> J&#8217;ai eu difficile de les trouver, alors autant en parler. Ca peut servir à d&#8217;autres.</p>
]]></content:encoded>
			<wfw:commentRss>http://didier.misson.net/blog/2006/11/14/exim-4-sur-un-serveur-debian/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
