<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V5.0//EN" "/usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" [
<!ENTITY author SYSTEM "author.xml">
<!ENTITY legal SYSTEM "legal.xml">
<!-- urls --><!ENTITY url.amavisd-new '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.ijs.si/software/amavisd/">
  <application>amavisd-new</application></link>'>
<!ENTITY url.debian '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.debian.org/">
  <citetitle>Debian GNU/Linux</citetitle></link>'>
<!ENTITY url.debian-policy '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.debian.org/doc/devel-manuals#policy">
  <citetitle>La Charte Debian</citetitle></link>'>
<!ENTITY url.amavisd-new.debian '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://packages.qa.debian.org/a/amavisd-new.html">
  <citetitle>amavisd-new source package</citetitle></link>'>
<!ENTITY url.fetchmail '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.catb.org/~esr/fetchmail/">
  <citetitle>The fetchmail Home Page</citetitle></link>'>
<!ENTITY url.mimedefang '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.mimedefang.org/">
  <application>MIMEDefang</application></link>'>
<!ENTITY url.milter '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.milter.org/milter_api/">
  <application>milter</application></link>'>
<!ENTITY url.amavisd-new.INSTALL '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.ijs.si/software/amavisd/INSTALL">
   <filename>INSTALL</filename></link>'>
<!ENTITY url.amavisd-new.RELEASE_NOTES '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://www.ijs.si/software/amavisd/release-notes.txt">
   <filename>RELEASE_NOTES</filename></link>'>
<!ENTITY url.p0f '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://lcamtuf.coredump.cx/p0f.shtml">
   <application>p0f</application></link>'>
<!-- Spamassassin --><!ENTITY url.spamassassin '<link xmlns="http://docbook.org/ns/docbook" xlink:href="http://spamassassin.apache.org/">
  <application>spamassassin</application></link>'>
]>
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new" xml:lang="fr">

<info>
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Sécurité du service de courrier électronique : amavisd-new</title>
  
  <authorgroup xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<author xmlns:xlink="http://www.w3.org/1999/xlink">
  <personname xmlns:xlink="http://www.w3.org/1999/xlink">
    <firstname xmlns:xlink="http://www.w3.org/1999/xlink">Philippe</firstname><surname xmlns:xlink="http://www.w3.org/1999/xlink">Latu</surname>
  </personname>
  <affiliation xmlns:xlink="http://www.w3.org/1999/xlink">
    <shortaffil xmlns:xlink="http://www.w3.org/1999/xlink">inetdoc.net</shortaffil>
    <jobtitle xmlns:xlink="http://www.w3.org/1999/xlink">Enseignant - Chargé de mission Systèmes &amp; Réseaux</jobtitle>
    <orgname xmlns:xlink="http://www.w3.org/1999/xlink">IUT - Université Toulouse III - Paul Sabatier</orgname>
    <address xmlns:xlink="http://www.w3.org/1999/xlink"><email xmlns:xlink="http://www.w3.org/1999/xlink">philippe.latu(at)inetdoc.net</email></address>
  </affiliation>
</author>
</authorgroup>

  <abstract xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Depuis plusieurs années, on assiste à une globalisation des menaces
    véhiculées par le service de courrier électronique. Il est donc essentiel
    de traiter la problématique de sécurisation de ce service avec une approche
    globale permettant d'adapter les <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">relations</emphasis> entre les
    différentes fonctions de sécurité. <application xmlns:xlink="http://www.w3.org/1999/xlink">Amavisd-new</application>
    est un logiciel libre dont le rôle est de mettre en relation différents
    outils de sécurité. Ce document s'appuie sur ce logiciel pour illustrer
    l'organisation des de fonctions classiques de sécurité du service de
    courrier électronique.</para>
  </abstract>

  <keywordset xmlns:xlink="http://www.w3.org/1999/xlink">
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">GNU</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">Linux</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">Debian</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">clamav</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</keyword>
    <keyword xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</keyword>
  </keywordset>
</info>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.legal.meta">
  <title xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">Copyright et Licence</title>

<literallayout xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" class="monospaced">Copyright (c) 2000,2012 Philippe Latu.
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License, Version 1.3 or any later version
published by the Free Software Foundation; with no Invariant Sections, no
Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included
in the section entitled "GNU Free Documentation License".</literallayout>

<literallayout xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" class="monospaced">Copyright (c) 2000,2012 Philippe Latu.
Permission est accordée de copier, distribuer et/ou modifier ce document selon
les termes de la Licence de Documentation Libre GNU (GNU Free Documentation
License), version 1.3 ou toute version ultérieure publiée par la Free Software
Foundation ; sans Sections Invariables ; sans Texte de Première de Couverture,
et sans Texte de Quatrième de Couverture. Une copie de la présente Licence est
incluse dans la section intitulée « Licence de Documentation Libre GNU ».</literallayout>


  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.meta">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Meta-information</title>
    
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Cet article est écrit avec <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.docbook.org"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">DocBook</citetitle></link> XML
  sur un système <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.debian.org"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian
  GNU/Linux</citetitle></link>. Il est disponible en version imprimable aux
  format PDF : <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.inetdoc.net/pdf/amavisd-new.pdf"><literal xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new.pdf</literal></link>.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.convtypo">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Conventions typographiques</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Tous les exemples d'exécution des commandes sont précédés d'une invite
  utilisateur ou <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">prompt</wordasword> spécifique au niveau des
  droits utilisateurs nécessaires sur le système.</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Toute commande précédée de l'invite <prompt xmlns:xlink="http://www.w3.org/1999/xlink">$</prompt> ne nécessite
    aucun privilège particulier et peut être utilisée au niveau utilisateur
    simple.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Toute commande précédée de l'invite <prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> nécessite les
    privilèges du super-utilisateur.</para>
    </listitem>
  </itemizedlist>
  </sect2>
</sect1>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Le contexte sécurité du service de courrier électronique</title>

  <epigraph xmlns:xlink="http://www.w3.org/1999/xlink">
    <attribution xmlns:xlink="http://www.w3.org/1999/xlink">Secrets et mensonges - Sécurité numérique dans un monde en
    réseau - Bruce Schneier</attribution>
    <para xmlns:xlink="http://www.w3.org/1999/xlink">«La sécurité est un processus et non un produit. Et comme dans tout
    processus, certaines de ces composantes sont plus solides, plus fiables,
    mieux huilées et plus sûres que d'autres. De plus, ces composantes doivent
    s'emboîter les unes dans les autres. Mieux elles s'emboîtent, mieux le
    processus fonctionne. Souvent, ce sont les interfaces entre les composantes
    qui sont les éléments les moins sûrs.»</para>
  </epigraph>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context.social-engineering">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">L'ingénierie sociale ou les limites de la technologie</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">L'humain est-il la composante la plus faible du processus de
    sécurisation du courrier électronique ?.
    Répondre oui à cette question c'est choisir un alibi facile.
    L'ingénierie sociale (ou «esbroufe» dans un français plus académique),
    montre simplement les limites de la technologie.
    Il n'existe pas (encore ?) de système technique capable de détecter
    toutes les formes d'usurpation d'identité.
    <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Ouvrir la pièce jointe chiffrée (contenant le virus !) dont la clé
      de déchiffrement est fournie dans le corps du message est un piège facile
      à éviter tant que l'on est pas «sensible» au contenu du message en
      question. Seule l'interprétation humaine provoquera le déclenchement du
      code viral.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Compléter un formulaire demandant toutes les coordonnées bancaires
      (n° de carte de crédit, etc.) transmis par courrier est un piège facile à
      éviter tant que l'on «détecte une différence» entre le message et le
      formulaire Web que l'on a l'habitude de saisir pour consulter l'état de
      son compte en banque. Là encore, tout n'est qu'une question
      d'interprétation qui échappe totalement aux technologies de
      sécurité.</para>
      </listitem>
    </itemizedlist></para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Face aux évolutions constantes des méthodes d'usurpation d'identité,
    seule une information constante et complète des utilisateurs sur le «bon
    usage» du service de courrier électronique est efficace.
    Cette sensibilisation sur les usages, aussi nécessaire soit-elle, est
    parfois difficile. Essayez de convaincre la totalité des utilisateurs d'un
    service de ne plus composer leurs courriers en HTML !. Gros challenge en
    perspective ;).</para>
    
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Même si la technologie n'est pas une arme absolue, ses capacités de
    traitements automatisés sur des volumes de messages importants rendent de
    grands services.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">L'objet de ce document est justement de présenter un service
    <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">interface</emphasis> entre les fonctions classiques de filtrage
    de contenus de courrier électronique.</para>
  </sect2>

<?custom-pagebreak?>
  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context.secu-position">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Le placement des fonctions de sécurisation du courrier
    électronique</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">L'acheminement du courrier passe par des (étapes|points) bien
    particuliers. Tout commence par le service de noms de domaines
    (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">DNS</acronym>) qui désigne les adresses IP responsables du
    traitement du courrier électronique d'une zone donnée. Les hôtes
    responsables de ces traitements (<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
    Agent</wordasword>) sont repérés par le champ <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail
    eXchanger</wordasword> (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MX</acronym>) dans le fichier de zone
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">DNS</acronym>.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un exemple simple permettant d'obtenir la liste des hôtes
    responsables du courrier électronique pour la zone
    <literal xmlns:xlink="http://www.w3.org/1999/xlink">nic.fr.</literal> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">$</prompt> dig nic.fr MX

; &lt;&lt;&gt;&gt; DiG 9.7.3 &lt;&lt;&gt;&gt; nic.fr MX
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 39798
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;nic.fr.                                IN      MX

;; ANSWER SECTION:
nic.fr.                 156070  IN      MX      30 mx3.nic.fr.
nic.fr.                 156070  IN      MX      10 mx1.nic.fr.
nic.fr.                 156070  IN      MX      20 mx2.nic.fr.

;; Query time: 56 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Sep 29 16:39:07 2011
;; MSG SIZE  rcvd: 84</screen>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Passons maintenant au courrier électronique proprement dit et son
    acheminement entre zones de l'Internet.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">                 __        MTA(2)           MDA(3)
  MTA(1)     ___/  \_       .__.             .__.
   .__.    _/        \__    |  |  stockage   |  |  _____
   |  |   /             \   | =|  courrier   | =| |=_=_=//
  _| =|__| Internet      |__| -|   _  _  _   | -|__/ |
 / | -|  \_           __/   |  |__(_)(_)(_)__|  |    |
 | |  |    \__     __/     ------ (_)(_)(_) ------   |
 |------      \___/                           _______/
 |                                           /
 |.....MUA(0)                                |.....MUA(4)
 .------,~                                   .------,~
 | PC   |'                                   | PC   |'
 |Client||                                   |Client||
 \------ /                                   \------ /
  ======/                                     ======/
</screen>

    <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
      <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="mua.0">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">MUA(0)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink"><wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail User Agent</wordasword></term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Émission du courrier</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">L'utilisateur émet un courrier à l'aide d'une application appelée
	<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail User Agent</wordasword> vers le <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="mta.1"/>
	de son fournisseur d'accès Internet. La seule précaution possible à ce
	niveau consiste à utiliser un antivirus «à jour». Concrètement, cette
	condition est rarement respectée sur les postes domestiques. Pire
	encore, la vitesse de propagation des vers est maintenant supérieure à
	la fréquence des mises à jour de signatures de virus. Le niveau de
	sécurité d'un poste émettant du courrier est donc
	<emphasis xmlns:xlink="http://www.w3.org/1999/xlink">nécessairement</emphasis> faible.</para>
	<warning xmlns:xlink="http://www.w3.org/1999/xlink">
	  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est possible, via une configuration particulière, d'émettre
	  directement du courrier vers n'importe quel <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>
	  sur l'Internet à partir du poste client.</para>

	  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ce type de fonctionnement correspond presque systématiquement à
	  une infection virale. C'est pour cette raison que dès que ces
	  émissions sont détectées, l'adresse IP du poste est classée en liste
	  noire. Il est donc vivement déconseillé d'émettre directement du
	  courrier vers d'autres <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym> que celui de son
	  fournisseur d'accès.</para>
	</warning>
	</listitem>
      </varlistentry>
	
      <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="mta.1">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">MTA(1)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink"><wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer Agent</wordasword> (-TX)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Transfert du courrier en émission</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Le rôle du <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer Agent</wordasword> est de
	transférer le courrier sur l'Internet vers le <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
	Agent</wordasword> correspondant à l'adresse du destinataire.</para>

	<para xmlns:xlink="http://www.w3.org/1999/xlink">La sécurisation des communications entre les
	<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>s est à la charge des opérateurs qui acheminent
	les données. Le rôle des fournisseurs d'accès dans la propagation des
	vers n'est pas neutre. Les clients sont facturés deux fois pour un
	service qui leur est dû. La surconsommation de bande passante due aux
	«pourriels» et aux vers est facturée à travers les forfaits et les
	fonctions antivirus et antispam sont facturées à travers des
	prestations supplémentaires. Si le problème était traité à la source,
	la surconsommation de bande passante serait sensiblement diminuée et la
	propagation des vers limitée.</para>

	<para xmlns:xlink="http://www.w3.org/1999/xlink">Outre la logique commerciale de la démarche, l'argumentaire sur
	l'approche globale de la sécurisation s'applique parfaitement ici. Tant
	qu'un opérateur «respecte» la segmentation du marché qui lui impose
	d'affecter un groupe d'unités centrales à une fonction unique
	(antivirus, antispam, listes noires, etc.) sans
	<emphasis xmlns:xlink="http://www.w3.org/1999/xlink">(organiser|contrôler) les relations</emphasis> entre ces
	fonctions, il n'a d'autre choix que d'investir sans fin dans de
	nouveaux châssis dédiés. Cette course est asphyxiante aussi bien sur le
	plan financier que sur le plan des ressources humaines disponibles pour
	administrer le service.</para>

	<para xmlns:xlink="http://www.w3.org/1999/xlink">Dans ce contexte, il faut <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">réagir</emphasis> à son
	niveau et prendre un maximum de précautions lors de l'émission de
	courrier électronique depuis sa propre infrastructure.</para>
	
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Les fonctions de sécurité sont identiques à celles mises en
	œuvre au niveau d'un <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="mta.2"/> de réception du courrier
	électronique. Seules les relations entre ces fonctions diffèrent. C'est
	au service de réception d'assumer la protection des périmètres placés
	sous son contrôle.</para>
	</listitem>
      </varlistentry>
	
      <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="mta.2">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">MTA(2)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink"><wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer Agent</wordasword> (-RX)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Transfert du courrier en réception</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Relativement au <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="mta.1"/>, le <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail
	Transfer Agent</wordasword> de réception joue le rôle le plus important
	au niveau sécurité. C'est à ce point de passage que la charge de
	sécurisation est la plus critique. Il n'est pas rare de devoir «jeter»
	plus de 70% des courriers présentés au <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
	Agent</wordasword>. Les évènements des années 2003 et 2004 ont montré
	combien il est important que les relations entre les fonctions de
	sécurité soient	bien contrôlées. Cette maîtrise de la chaîne de
	sécurisation permet «d'encaisser» les chocs lors des propagations
	massives de nouveaux vers.</para>
	</listitem>
      </varlistentry>
	
      <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="mda.3">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">MDA(3)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink"><wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Delivery Agent</wordasword></term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Délivrance du courrier</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Le rôle du <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Delivery Agent</wordasword> est de
	prélever le courrier dans les files d'attentes et de le déposer dans le
	répertoire de boîte aux lettres de l'utilisateur.
	<application xmlns:xlink="http://www.w3.org/1999/xlink">Procmail</application> est l'outil <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MDA</acronym>
	le plus utilisé dans l'univers GNU/Linux. Il est possible de placer des
	fonctions de sécurité à ce niveau : appels antivirus (et|ou)
	antispam. Ce type d'appel est très pénalisant en charge CPU et surtout
	en accès au système de fichiers sur la machine qui exécute le programme.
	Il est donc déconseillé de traiter de gros volumes de courrier de cette
	façon.</para>

	<para xmlns:xlink="http://www.w3.org/1999/xlink">Malgré ce défaut très pénalisant, le <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Delivery
	Agent</wordasword> est l'outil de personnalisation des fonctions de
	sécurité. Si l'utilisateur souhaite régler lui-même les paramètres de
	fonctionnement des outils de sécurité, c'est là que l'opération doit se
	faire. Ces réglages individuels ne sont pas incompatibles avec les
	fonctions mises en œuvre au niveau <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
	Agent</wordasword>.</para>
	</listitem>
      </varlistentry>
	
      <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink">
	<term xmlns:xlink="http://www.w3.org/1999/xlink">MUA(4)</term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink"><wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail User Agent</wordasword></term>
	<term xmlns:xlink="http://www.w3.org/1999/xlink">Réception du courrier</term>
	<listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Pour faire simple, si un courrier infecté arrive à ce
	niveau : c'est foutu !. La population des administrateurs de parc
	informatique ayant constaté que les antivirus et antispam clients ont
	une efficacité plus que limitée ne cesse de croître. Si tous les ténors
	des solutions propriétaires cherchent encore à faire illusion, on
	(entend|lit) de plus en plus que la vitesse de propagation des vers et
	des pourriels est beaucoup trop rapide pour que ces solutions
	propriétaires soutiennent le rythme.</para>
	</listitem>
      </varlistentry>
    </variablelist>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans la suite de ce document, nous allons nous concentrer sur les
    fonctions de sécurité appliquées aux <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
    Agent</wordasword>s assurant l'émission (-TX) et la réception (-RX) du
    courrier à la frontière du périmètre administré. Comme indiqué ci-avant
    (<xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="mda.3"/>), il est toujours possible d'affiner les
    paramètres d'utilisation des outils de sécurité. C'est le moyen de
    personnaliser au niveau utilisateur la chaîne de sécurité. Il faut rappeler
    que cette individualisation a un coût d'exécution important. Par exemple,
    les appels à <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application> à travers
    <application xmlns:xlink="http://www.w3.org/1999/xlink">procmail</application> sont si longs à exécuter qu'ils gênent
    la consultation des courriers électroniques.</para>
  </sect2>

<?custom-pagebreak?>
  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context.system">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">L'architecture système</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">En considérant les points de passage obligatoires de l'acheminement
    du courrier électronique on retient que les <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
    Agent</wordasword>s situés à la frontière du réseau sont les outils
    critiques sur lesquels l'approche globale de sécurité du service de
    courrier électronique doit s'appliquer.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour appliquer cette approche globale on utilise un service dédié aux
    relations entre les fonctions de sécurité : <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">   courrier issu du
    MTA précédent
         |
         V                                   +------+
    +--------+                            .--| .zip |
    |        |                           /|  +------+-+
    | MTA-RX |                          / | .--| .rar |
    |        |        +-------------+  /  |    +------+-+
    +--------+        |             |-'   ,   .--| .arj |
         |            | antivirus 1 |    /       +------+
         |         .--|             |-+ /     +---------------+ 
         V        /   +-------------+ |'      |               |
    +--------+   /      | antivirus 2 |       | liste noire 1 |
    |        |--' .-----|             |    .--|               |--+
    | amavis |---'      +-------------+   /   +---------------+  |
    |        |--.     +------------+     /       | liste noire 2 |
    +--------+   \    |            |----'   .----|               |
         |        \   | antispam 1 |-------'     +---------------+
         |         `--|            |---.    +----------------+
         V            +------------+    \   |                |
    +--------+                           `--| règles propres |
    |        |                              |                |
    | MTA-TX |                              +----------------+
    |        |
    +--------+
         |
         V
  courrier pour le
    MTA suivant</screen>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans l'exemple ci-dessus, on a représenté 3 fonctions de sécurité à
    titre indicatif : 2 antivirus et 1 antispam. Il existe de très
    nombreuses combinaisons possibles. Chaque fonction de sécurité peut elle
    même faire appel à plusieurs autres services : bases de données de
    signatures de virus, bases de données de listes noires, algorithmes de
    calcul de notes, algorithmes de (dé)compression, etc. Une représentation
    exhaustive de toutes les relations possibles serait illisible.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Les en-têtes de courrier servent à (véhiculer|échanger) des
    paramètres entre les services exécutés par les différents <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail
    Transfer Agent</wordasword>s. Ce sont ces échanges de paramètres
    (<option xmlns:xlink="http://www.w3.org/1999/xlink">X-Virus-*</option>, <option xmlns:xlink="http://www.w3.org/1999/xlink">X-Spam-*</option>, etc.) qui régissent
    les relations entre <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>. Le service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/> doit donc nécessairement prendre
    en compte ces champs d'en-têtes pour prétendre à l'approche globale de
    sécurité.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici un «bel exemple» d'utilisation des champs
    d'en-tête indiquant le résultat d'un calcul de pondération
    antispam. Ici, le message a obtenu un score final de 46.551 alors que le
    seuil de classement en quarantaine est de 6.31. Aucun doute n'est permis
    sur la nature de ce courrier électronique. Il s'agit d'un pourriel.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">X-Spam-Level: **********************************************
X-Spam-Status: Yes, score=<emphasis xmlns:xlink="http://www.w3.org/1999/xlink">46.551</emphasis> tag=-999 tag2=6.31 kill=<emphasis xmlns:xlink="http://www.w3.org/1999/xlink">6.31</emphasis>
        tests=[ADVANCE_FEE_2_NEW_FORM=0.001, ADVANCE_FEE_2_NEW_FRM_MNY=0.001,
        ADVANCE_FEE_2_NEW_MONEY=0.661, ADVANCE_FEE_3_NEW=0.835,
        ADVANCE_FEE_3_NEW_FORM=0.902, ADVANCE_FEE_3_NEW_FRM_MNY=2.969,
        ADVANCE_FEE_3_NEW_MONEY=0.001, BAYES_99=5.8, DATE_IN_PAST_96_XX=3.405,
        DEAR_BENEFICIARY=2.999, DKIM_SIGNED=0.1, FILL_THIS_FORM=0.001,
        FILL_THIS_FORM_LOAN=2.88, FILL_THIS_FORM_LONG=3.404,
        FORGED_MUA_OUTLOOK=1.927, FORM_FRAUD_3=0.001,
        FREEMAIL_FORGED_REPLYTO=2.095, FROM_MISSPACED=1.064,
        FROM_MISSP_DKIM=0.001, FROM_MISSP_MSFT=2.312,
        FROM_MISSP_REPLYTO=0.001, FROM_MISSP_TO_UNDISC=1.262,
        FROM_MISSP_URI=0.001, FROM_MISSP_USER=2.401, FSL_CTYPE_WIN1251=0.001,
        FSL_UA=0.782, FSL_XM_419=0.02, LOTS_OF_MONEY=0.001,
        MONEY_FRAUD_3=0.179, MONEY_FROM_MISSP=0.786,
        MSOE_MID_WRONG_CASE=2.584, NSL_RCVD_FROM_USER=0.001,
        RCVD_IN_BRBL_LASTEXT=1.449, RCVD_IN_PSBL=2.7, RCVD_IN_RP_RNBL=1.31,
        RCVD_IN_SBL=0.141, RCVD_IN_SORBS_WEB=0.77, RDNS_NONE=0.793,
        T_DKIM_INVALID=0.01] autolearn=spam</screen>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context.corp-archi">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">L'architecture réseau</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici une architecture réseau «simple» avec laquelle l'acheminement
    du courrier suit les processus suivants :</para>

    <orderedlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Le <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer Agent</wordasword> de réception de
	la <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">passerelle</citetitle> est désigné comme service
	prioritaire dans la configuration du service de noms de domaines (champ
	<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MX</acronym> du fichier de configuration de zone.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Les règles du <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Pare-feu</citetitle> sont rédigées de
	façon à ce que les courriers électroniques issus de l'Internet arrivent
	à la passerelle et nulle part ailleurs.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Le service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/>
	appelle tous les traitements voulus et prend une décision sur chaque
	courrier : passage au <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym> suivant, mise en
	quarantaine ou destruction.</para>
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	<para xmlns:xlink="http://www.w3.org/1999/xlink">Dans le cas ou le courrier doit passer au <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>
	suivant, les règles du <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Pare-feu</citetitle> sont rédigées de
	façon à ce que les courriers électroniques arrivent au
	<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym> interne depuis la
	<citetitle xmlns:xlink="http://www.w3.org/1999/xlink">passerelle</citetitle> pour être délivrés dans les boîtes
	aux lettres des utilisateurs.</para>
      </listitem>
    </orderedlist>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">         __       Pare-feu           MTA + MDA internes
     ___/  \_       .__.                 .__.
   _/        \__    |X |________________,|  |      _____
  /             \   |X=|                 | =|     |=_=_=//
 | Internet      |_,|X-|.__              | -|.____/  |
 \_           __/   |X |   \             |  _  _     |
   \__     __/     ------   |Passerelle  --(_)(_)    |
      \___/                 |  .__.        |_||_|    | 
                            |  |  |                  |
                            \_,| =|                  |.....
                               | -|                .------,~
                               |  |                | PC   |'
                              ------               |Client||
                        MTA-RX       MTA-TX        \------ /
                           \amavisd-new/            ======/
</screen>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici une architecture réseau «plus réaliste» qui intègre une
    redondance de la sécurisation du service ; on parle aujourd'hui de
    haute disponibilité. L'acheminement du courrier doit toujours
    disposer de 2 voies de communication distinctes de façon à tolérer une
    panne quelconque sur une ou plusieurs fonctions de sécurité. On utilise
    alors 2 passerelles placées sur des sites géographiques différents.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">         __       Pare-feu           MTA + MDA internes
     ___/  \_       .__.                 .__.
   _/        \__    |X |________________,|  |      _____
  /             \   |X=|                 | =|     |=_=_=//
 | Internet      |_,|X-|.__              | -|.____/  |
 \_           __/   |X |   \             |  _  _     |
   \__     __/     ------   |Passerelle  --(_)(_)    |
      \___/          .      |  .__.        |_||_|    | 
         |       VPN.       |  |  |                  |
         |         .        \_,| =|                  |.....
         |        .            | -|                .------,~
         |       .             |  |                | PC   |'
         |      .             ------               |Client||
         | Pare-feu     MTA-RX       MTA-TX        \------ /
         |    .__.         \amavisd-new/            ======/
         |    |X |
	 \___,|X=|
              |X-|.__
              |X |   \
             ------   |Passerelle
                      |  .__.
                      |  |  |
                      \_,| =|
                         | -|
                         |  |
                        ------
                  MTA-RX       MTA-TX
                     \amavisd-new/
</screen>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le fonctionnement des passerelles est identique à celui décrit
    ci-dessus. Ce sont les champs <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MX</acronym> du service de noms de
    domaines qui régissent les priorités entre les deux passerelles. Un réseau
    privé virtuel (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">VPN</acronym> assure les communications entre les
    deux pare-feux.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context.home-archi">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">L'architecture «domestique»</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Comment appliquer la stratégie de sécurité présentée lorsque l'on ne
    gère pas un domaine réseau en propre ? Il est tout à fait possible de
    «réintroduire» le courrier électronique déposé chez un fournisseur d'accès
    vers un <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer Agent</wordasword>. Voici un exemple
    d'architecture :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">  Fournisseur        __
   d'accès       ___/  \_         modem  .___.
     .__.      _/        \__        __   |== |  _____
MTA  |  |     /             \ /\   |==|  |. =| |     |
 +   | =|`---| Internet      |  \  / |   | --| |     |
MDA  | -|    \_           __/    \/   \_,| --| -------
     |  _  _   \__     __/              -------======/
     --(_)(_)     \___/            fetchmail
       |_||_|                       MTA-RX       MTA-TX
  Boîte aux lettres                    \amavisd-new/
     utilisateur
</screen>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">On utilise un outil particulier : <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.fetchmail"/>, dont la fonction de base est la
    collecte à distance et la retransmission du courrier électronique. L'outil
    <application xmlns:xlink="http://www.w3.org/1999/xlink">fetchmail</application> peut être utilisé comme passerelle
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">POP</acronym> ou <acronym xmlns:xlink="http://www.w3.org/1999/xlink">IMAP</acronym> pour un domaine
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">DNS</acronym> entier.</para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Cette architecture «domestique» peut paraître d'une complexité trop
    importante relativement à la charge utile de traitement du courrier
    électronique. Il faut cependant prendre en compte les arguments
    suivants :</para>

    <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">La première approche de sécurisation consiste à faire appels aux
      fonctions antispam et antivirus à partir du <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail delivery
      Agent</wordasword>. Comme indiqué au point <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="mda.3"/>, le
      coût d'exécution des fonctions de sécurité gêne considérablement
      l'utilisateur dans la consultation du courrier électronique. Cette gêne
      est d'autant plus importante qu'il n'existe pas de relations entre les
      fonctions de sécurité. Un même courrier doit passer par toutes les
      fonctions avant qu'une décision soit prise.</para> 
      </listitem>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Il ne faut pas oublier que si les «pourriels» (et|ou) les virus
      arrivent jusqu'à l'interface réseau de votre poste, c'est que les
      opérateurs n'ont pas joué leur rôle. Il n'est pas rare aujourd'hui, de
      devoir rejeter plus de 80% du courrier arrivant sur l'interface externe
      d'une passerelle.</para>
      </listitem>
    </itemizedlist>

<mediaobject xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.context.mailgraph">
  <imageobject xmlns:xlink="http://www.w3.org/1999/xlink">
    <imagedata fileref="images/amavisd-month.png" format="PNG" width="48em" scalefit="1"/>
  </imageobject>
  <textobject xmlns:xlink="http://www.w3.org/1999/xlink">
    <phrase xmlns:xlink="http://www.w3.org/1999/xlink">Échantillon de statistiques amavisd-new sur un mois</phrase>
  </textobject>
  <caption xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Échantillon de statistiques amavisd-new sur un mois</para>
  </caption>
</mediaobject>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">D'après les données ci-dessus, le total des messages bloqués est :
    <inlineequation xmlns:xlink="http://www.w3.org/1999/xlink">
      <mathphrase xmlns:xlink="http://www.w3.org/1999/xlink">435675 + 31880 + 487 = 468042</mathphrase>
    </inlineequation></para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le total des messages reçus est :
    <inlineequation xmlns:xlink="http://www.w3.org/1999/xlink">
      <mathphrase xmlns:xlink="http://www.w3.org/1999/xlink">541164</mathphrase>
    </inlineequation></para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le pourcentage de messages rejeté est :
    <inlineequation xmlns:xlink="http://www.w3.org/1999/xlink">
      <mathphrase xmlns:xlink="http://www.w3.org/1999/xlink">468042 / 541164 * 100 = 86,5%</mathphrase>
    </inlineequation></para>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans ces conditions, la mise en place de cette configuration de
    traitement du courrier électronique, même à titre domestique, se justifie
    pleinement.</para>
  </sect2>
</sect1>

<?custom-pagebreak?>
<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.service">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Le service amavisd-new</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/> n'est pas
  unique en son genre, mais il n'existe pas beaucoup d'équivalents. Citons
  juste <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.mimedefang.org/">
  <application xmlns:xlink="http://www.w3.org/1999/xlink">MIMEDefang</application></link> qui s'appuie sur <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.milter.org/milter_api/">
  <application xmlns:xlink="http://www.w3.org/1999/xlink">milter</application></link> pour composer un système
  de filtrage centralisé du courrier électronique.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/> est une
  branche de la famille <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.old-amavis"/>. Parmi
  les autres membres on trouve : <application xmlns:xlink="http://www.w3.org/1999/xlink">amavis-perl</application>,
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd</application> et <application xmlns:xlink="http://www.w3.org/1999/xlink">amavis-ng</application>.
  Aujourd'hui, le code du service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/> est très éloigné des versions
  initiales d'<application xmlns:xlink="http://www.w3.org/1999/xlink">amavis-perl</application>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le code du service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/> a
  été complètement revu. Il se distingue par l'utilisation de démons pour
  lesquels toutes les phases d'initialisations sont effectuées avant de
  commencer les traitements sur le courrier électronique. C'est ce
  «pré-chargement» de démon pour chaque fonction de sécurité qui assure une
  tenue en charge très supérieure à celle obtenue avec les outils classiques
  qui recourent massivement au système de fichiers.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.service.install">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">L'installation</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Bien qu'il existe un paquet Debian dont l'évolution est présentée à la
  page : <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://packages.qa.debian.org/a/amavisd-new.html">
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new source package</citetitle></link>, celui-ci n'est pas mis à jour assez
  fréquemment pour pouvoir coller à l'actualité de la sécurité du courrier
  électronique.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le présent document décrit donc l'installation du service <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/> à partir de ses sources disponibles
  à la page : <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ijs.si/software/amavisd/">
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application></link>. Comme la distribution utilisée est <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.debian"/>, l'organisation des fichiers et
  répertoires du service essaie de se conformer aux recommandations de la <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.debian-policy"/>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Enfin, ce qui suit ne peut se substituer à la documentation officielle
  sur l'installation du service : le fichier
  <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ijs.si/software/amavisd/INSTALL">
   <filename xmlns:xlink="http://www.w3.org/1999/xlink">INSTALL</filename></link>.</para>

    <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.service.install.download">
      <title xmlns:xlink="http://www.w3.org/1999/xlink">Le téléchargement des sources et les dépendances</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Rien de bien original pour ce qui concerne l'obtention des
  sources :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ wget http://www.ijs.si/software/amavisd/amavisd-new.tar.gz
$ su
# mv amavisd-new.tar.gz /usr/local/src ; cd /usr/local/src
# tar xf amavisd-new.tar.gz
# chown -R root.src amavisd-new-2.7.x
# cd amavisd-new-2.7.x
# cp amavisd amavisd-agent amavisd-nanny amavisd-release p0f-analyzer.pl \
     /usr/local/sbin</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour ce qui est des autres logiciels nécessaires au fonctionnement du
  service, il faut comparer la liste fournie dans le fichier
  <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ijs.si/software/amavisd/INSTALL">
   <filename xmlns:xlink="http://www.w3.org/1999/xlink">INSTALL</filename></link> et les dépendances du paquet Debian.</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'exécution de la commande
  <userinput xmlns:xlink="http://www.w3.org/1999/xlink"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">$</prompt> apt-cache depends amavisd-new</userinput>
  donne la liste des paquets nécessaires et recommandés pour le fonctionnement
  du service.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On affiche les versions de la liste des paquets ci-dessus pour faire la
  correspondance avec le fichier <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ijs.si/software/amavisd/INSTALL">
   <filename xmlns:xlink="http://www.w3.org/1999/xlink">INSTALL</filename></link>  à l'aide de la
  commande suivante.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">$</prompt> dpkg -l file libconvert-tnef-perl \
  libconvert-uulib-perl libcompress-zlib-perl libarchive-zip-perl \
  libmailtools-perl libmime-perl libunix-syslog-perl libnet-server-perl \
  perl spamassassin clamav clamav-daemon lha arj rar zoo nomarch cpio lzop pax</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme les numéros de version évoluent régulièrement, donner le résultat
  des deux commandes précédentes ne présente pas un grand intérêt. Il faut
  simplement suivre régulièrement l'évolution des paquets en question de façon
  à ce que la suite des outils soit pleinement efficace.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois les paquets correctement installés, on contrôle la
  disponibilité des fonctions en lançant le service en mode
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">debug</wordasword>. Dans ce mode, l'exécution du démon lance un
  processus non détaché du <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">shell</wordasword> courant et tous les
  messages sont directement envoyés dans le terminal. On lance la commande
  <userinput xmlns:xlink="http://www.w3.org/1999/xlink"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> amavisd debug</userinput>.</para>
    </sect3>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.service.quarantine-cleanup">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">La gestion de l'arborescence de quarantaine</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une politique minimum de gestion des messages mis en quarantaine est
  nécessaire pour ne pas saturer l'espace de stockage d'une passerelle de
  courrier électronique. Ici, on se fixe comme règle de conserver les spams
  pendant 90 jours et les messages infectés pendant 6 jours. Ainsi, si un
  utilisateur du service de messagerie émet une réclamation sur un message à
  l'administrateur de la passerelle, il est toujours possible de retrouver le
  message en question et d'extraire manuellement une partie non infectée. Il
  s'agit plus d'une précaution d'usage que d'une pratique d'exploitation
  sachant qu'un message reconnu comme porteur de virus est rarement réclamé par
  son émetteur ou son destinataire.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Par configuration du service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>, le
  répertoire de quarantaine est généralement : <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/amavis/virusmails/</filename>. Il contient
  l'ensemble des messages interceptés.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'application des règles énoncées ci-avant, se fait à l'aide d'un
  simple script shell placé dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/etc/cron.daily</filename>. Voici le code du script
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">quarantine-cleanup</filename> :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">#!/bin/bash

if [ -d /var/lib/amavis/virusmails/ ]; then
   find /var/lib/amavis/virusmails/ -mtime +90 -exec rm -rf {} \;
fi

for file in `find /var/lib/amavis/virusmails/ -type f -name "virus*" -mtime +6 \
             -exec grep -l ^'X-Amavis-Alert: INFECTED' {} \;` ; do
   rm -rf $file
done

exit 0
</screen>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">En ayant placé le script dans le répertoire indiqué, le service de
  planification <application xmlns:xlink="http://www.w3.org/1999/xlink">cron</application> lance son exécution tous les
  jours à 6h25.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.service.quarantine-free">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">La libération d'un message en quarantaine</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> prévoit que l'on
  puisse libérer un message placé en quarantaine par erreur. Même si le nombre
  de faux positifs est extrêmement faible, il est important de pouvoir effectuer
  des recherches pour identifier et forcer la transmission d'un message placé en
  quarantaine.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'archive de distribution du service contient un utilitaire dédié
  appelé <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</application> que l'on place
  habituellement dans le même répertoire que le démon du service :
  <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/usr/local/sbin</filename>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il faut intervenir sur la configuration du service en éditant le
  fichier <filename xmlns:xlink="http://www.w3.org/1999/xlink">amavisd.conf</filename> pour autoriser le fonctionnement de
  l'utilitaire.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$policy_bank{'AM.PDP-SOCK'} = {
  protocol =&gt; 'AM.PDP',  # Amavis policy delegation protocol
  auth_required_release =&gt; 0,  # don't require secret_id for amavisd-release
};
&lt;snip/&gt;
$interface_policy{'SOCK'} = 'AM.PDP-SOCK';</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ces deux modifications du fichier de configuration prinicpal du service
  ont pour but d'autoriser l'accès au <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket</wordasword> UNIX du
  démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">amavisd</systemitem> via l'utilitaire
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</application>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Sachant que par configuration, on a choisi de placer les
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">sockets</wordasword> dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/run/amavis</filename>, il faut aussi éditer le fichier
  source de l'utilitaire pour qu'il communique avec le bon fichier de
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket</wordasword>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ ll /var/run/amavis/amavisd.sock
srwxr-x--- 1 amavis amavis 0 2007-03-21 17:26 /var/run/amavis/amavisd.sock
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La modification correspondante dans le code de l'utilitaire
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</application> donne :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ diff -uBb /usr/local/src/amavisd-new-2.4.5/amavisd-release amavisd-release
--- /usr/local/src/amavisd-new-2.4.5/amavisd-release    2006-08-08 20:14:47.000000000 +0200
+++ amavisd-release     2007-03-21 17:24:23.000000000 +0100
@@ -76,7 +76,7 @@

   $log_level = 1;
 # $socketname = '127.0.0.1:9998';
-  $socketname = '/var/amavis/amavisd.sock';
+  $socketname = '/var/run/amavis/amavisd.sock';

 sub sanitize_str {
  my($str, $keep_eol) = @_;
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Maintenant que l'utilitaire est prêt à fonctionner, il faut trouver un
  faux positif en quarantaine à libérer. Nous allons prendre un cas classique de
  service publicitaire sensible pour les utilisateurs et la réputation de
  l'administrateur du service de courrier électronique : une agence de
  voyage !.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme on a pris soin de journaliser toutes les transactions du service
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>, on commence par rechercher les
  références d'un message mis en quarantaine avec l'adresse de notre fameuse
  agence de voyage.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ for (( i=2 ; i &lt; 50 ; i++ ))<co xml:id="quarantine-free.loop"/> ; do \
zcat /var/log/amavis.mail.info.$i.gz |grep "fram\.fr"<co xml:id="quarantine-free.address"/> |grep "Blocked" ; \
done

Feb  9 08:59:23 MailGw amavis[30460]: (30460-14) Blocked SPAM,<co xml:id="quarantine-free.spam"/> [aaa.bbb.ccc.ddd] \
&lt;xxxxxxxx@fram.fr&gt; -&gt; &lt;DIRECTION@xxxxx.FR&gt;, quarantine: l/spam-l1bnIZN88okd.gz<co xml:id="quarantine-free.ref"/>, \
Message-ID: &lt;45CC2AC0.2090800@fram.fr&gt;, mail_id: l1bnIZN88okd, Hits: 8.43,<co xml:id="quarantine-free.score"/> 4730 ms
</screen>

  <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <callout arearefs="quarantine-free.loop">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Avec une rotation quotidienne des journaux du service de courrier
    électronique, la recherche est effectuée sur les 50 derniers jours moins
    les deux les plus récents pour lesquels les journaux ne sont pas
    compressés.</para>
    </callout>
    <callout arearefs="quarantine-free.address">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">La scrutation recherche une ligne comprenant le domaine de l'adresse
    de courrier électronique suspecte ainsi que le mot clé
    <literal xmlns:xlink="http://www.w3.org/1999/xlink">Blocked</literal> indiquant que le courrier n'a pas été transmis à
    son destinataire.</para>
    </callout>
    <callout arearefs="quarantine-free.spam quarantine-free.score">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le résultat de la recherche montre qu'un message émis depuis le
    domaine suspect a bien été considéré comme un <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">spam</wordasword>
    et qu'il a obtenu un score supérieur au seuil de mise en quarantaine mais
    relativement faible comparé au flot de <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">spams</wordasword>
    habituel.</para>
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans cet exemple, le seuil de mise en quarantaine est de 6.31 et le
    score atteint est de 8.43. Les scores classiques obtenus par les
    <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">spams</wordasword> dépassent facilement les 20 points.</para>
    </callout>
    <callout arearefs="quarantine-free.ref">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le même résultat de recherche désigne la référence du fichier de
    quarantaine. C'est cette référence qui doit être utilisée par l'utilitaire
    <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</application> pour extraire le message et le
    transmettre au <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>.</para>
    </callout>
  </calloutlist>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># amavisd-release l/spam-l1bnIZN88okd.gz
250 2.6.0 Ok, xml:id=rel-l1bnIZN88okd, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as AF6DF4E8004
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'appel à l'utilitaire <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</application>
  indique que le message à été transmis au gestionnaire de mise en file
  d'attente du service de courrier électronique
  (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>).</para>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dernière remarque très importante ; toutes ces opérations ont été
  effectuées sans <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">jamais</emphasis> consulter le contenu du moindre
  message. On respecte ainsi caractère privé du courrier électronique.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme les journaux peuvent être déposés sur un serveur dédié et que
  l'utilitaire <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-release</application> peut communiquer via
  un <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket inet</wordasword>, il est possible d'organiser la
  délégation d'administration de façon à ce qu'il soit totalement impossible à
  l'administrateur responsable de la «libération» des messages d'en connaître
  le contenu.</para>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.service.p0f">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">La reconnaissance passive d'empreinte de système
    d'exploitation</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Depuis la version <option xmlns:xlink="http://www.w3.org/1999/xlink">2.4.0</option>, le service
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> propose de compléter la pondération
  des scores calculés par <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application> en exploitant
  les informations fournies par le scanner passif <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://lcamtuf.coredump.cx/p0f.shtml">
   <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f</application></link>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il existe une condition importante pour l'exploitation de cet outil.
  L'adresse IP de l'hôte pair du dialogue <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SMTP</acronym> doit être
  transmise au service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> par l'agent de
  transport de courrier électronique (<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">Mail Transfer
  Agent</wordasword> ou <acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>). Dans le cas de
  <application xmlns:xlink="http://www.w3.org/1999/xlink">Postfix</application>, l'extension <option xmlns:xlink="http://www.w3.org/1999/xlink">XFORWARD</option>
  doit être activée. Voici un extrait du fichier de configuration
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">master.cf</filename> de <application xmlns:xlink="http://www.w3.org/1999/xlink">Postfix</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">smtp-amavis    unix    -    -    y    -    2    lmtp
    -o lmtp_data_done_timeout=1200
    -o lmtp_send_xforward_command=yes
    -o max_use=20
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le fichier <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ijs.si/software/amavisd/release-notes.txt">
   <filename xmlns:xlink="http://www.w3.org/1999/xlink">RELEASE_NOTES</filename></link> contient les instructions de
  configuration de transfert des résultats de <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f</application>
  vers <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> puis
  <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application>. Le principe de fonctionnement est le
  suivant :</para>

  <orderedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le scanner <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f</application> est exécuté de façon à
    identifier le système d'exploitation de l'hôte pair lors du dialogue
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">SMTP</acronym>. Il intercepte donc les requêtes sur le port
    destination <literal xmlns:xlink="http://www.w3.org/1999/xlink">tcp/25</literal> et génère des rapports sur la console
    courante.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le programme <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f-analyzer.pl</application>, fourni avec
    la distribution du service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>, lit le
    rapport du scanner <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f</application> sur la console courante
    (flux <literal xmlns:xlink="http://www.w3.org/1999/xlink">stdin</literal>). Ce programme conserve en cache pendant 10
    minutes les rapports générés par <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f</application>. Ce même
    programme reste en écoute sur le port <literal xmlns:xlink="http://www.w3.org/1999/xlink">udp/2345</literal> de
    l'interface de boucle locale. Tous les paramètres indiqués ici sont soit
    des valeurs par défaut soit donnés dans la ligne de commande.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> interroge le
    programme <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f-analyzer.pl</application> qui maintient les
    rapports du scanner en cache. Les informations collectées sont transmises à
    <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application> via un champ d'en-tête inséré
    spécifiquement. Il faut éditer le fichier de configuration du service pour
    activer cette fonctionnalité.</para>
    </listitem>
  </orderedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour mettre en place cet outil, on effectue les opérations
  suivantes :</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Installation du paquet <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># dpkg -l p0f
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: maj=mauvais)
||/ Nom             Version         Description
+++-===============-===============-================================================
ii  p0f             2.0.8-2         Passive OS fingerprinting tool
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Lancement du scanner et du gestionnaire de cache de rapports
    d'identification.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># p0f -l -i eth0 'dst host &lt;MailGw_IP_address&gt; and tcp dst port 25' 2&gt;&amp;1 \
| p0f-analyzer.pl 2345 &amp;
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Édition du fichier <filename xmlns:xlink="http://www.w3.org/1999/xlink">amavisd.conf</filename> pour décommenter
    la ligne d'appel au programme
    <application xmlns:xlink="http://www.w3.org/1999/xlink">p0f-analyzer.pl</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># grep p0f /etc/amavisd.conf
$os_fingerprint_method = 'p0f:127.0.0.1:2345';  # query p0f-analyzer.pl
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Insertion des scores à intégrer dans les calculs de
    <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application> dans le fichier de configuration
    global.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># echo # p0f \
header L_P0F_WXP   X-Amavis-OS-Fingerprint =~ /^Windows XP/ \
score  L_P0F_WXP   3.5 \
header L_P0F_W     X-Amavis-OS-Fingerprint =~ /^Windows(?! XP)/ \
score  L_P0F_W     1.7 \
header L_P0F_UNKN  X-Amavis-OS-Fingerprint =~ /^UNKNOWN/ \
score  L_P0F_UNKN  0.8 \
header L_P0F_Unix  X-Amavis-OS-Fingerprint =~ /^((Free|Open|Net)BSD|Solaris|HP-UX|Tru64)/ \
score  L_P0F_Unix  -1.0 \
&gt;&gt; /etc/spamassassin/local.cf
</screen>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Après redémarrage du service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>,
    on peut valider le fonctionnement de l'identification passive de système
    d'exploitation en consultant les journaux système. Dans l'exemple
    ci-dessous, on constate que le score a été augmenté à partir de la
    correspondance : <literal xmlns:xlink="http://www.w3.org/1999/xlink">L_P0F_W=1.7</literal>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">MailGw amavis[23777]: (23777-08) OS_fingerprint: 88.242.7.27 \
  46.023 Windows 2000 SP4, XP SP1, (distance 19, link: unknown-1460)
MailGw amavis[23777]: (23777-08) SPAM, &lt;xxxx@xxx-xx.com&gt; -&gt; &lt;xxxxx@xxx-xxx3.fr&gt;, \
  Yes, score=46.023 tag=-999 tag2=6.31 kill=6.31 tests=[BAYES_95=5, DCC_CHECK=4.5, \
  DIGEST_MULTIPLE=0.765, HTML_MESSAGE=0.001, L_P0F_W=1.7, MIME_HTML_ONLY=0.001, \
  NO_RECEIVED=-0.001, NO_RELAYS=-0.001, RAZOR2_CF_RANGE_51_100=3.5, \
  RAZOR2_CF_RANGE_E4_51_100=1.5, RAZOR2_CF_RANGE_E8_51_100=1.5, \
  RAZOR2_CHECK=2.5, SARE_SPEC_REPLICA_OBFU=1.812, SARE_SPEC_ROLEX_NOV5A=1.062, \
  URIBL_AB_SURBL=3.812, URIBL_BLACK=3, URIBL_JP_SURBL=4.087, URIBL_OB_SURBL=3.008, \
  URIBL_SBL=1.639, URIBL_SC_SURBL=4.498, URIBL_WS_SURBL=2.14], \
  autolearn=spam, quarantine ZLIibG52Rt-A (spam-quarantine)
</screen>
    </listitem>
  </itemizedlist>
  </sect2>
</sect1>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">La lutte contre les pourriels</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'outil de lutte contre les pourriels (<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">spams</wordasword>)
  le plus répandu dans le monde du logiciel libre est <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://spamassassin.apache.org/">
  <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application></link>. Son
  mode de fonctionnement se rapproche de celui du service <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.service">amavisd-new</link>. Il collecte les résultats
  obtenus par une collection d'autres outils et les transmet au service <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.service">amavisd-new</link> qui prend la décision sur le
  message en fonction du score total obtenu par celui-ci.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Du point de vue système, la mise en oeuvre de <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://spamassassin.apache.org/">
  <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application></link> est
  très simple. Il suffit de s'appuyer sur le paquet Debian/testing qui est très
  bien maintenu. Cette situation est d'autant plus intéressante que la
  collection des bibliothèques et des outils dépendants de
  <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application> est très volumineuse. La commande
  <userinput xmlns:xlink="http://www.w3.org/1999/xlink">$ apt-cache show spamassassin</userinput> liste ces
  dépendances.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">La configuration de spamassassin</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il faut distinguer 2 niveaux pour la configuration de cet outil.</para>

  <itemizedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">À l'échelle du système, le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/etc/spamassassin</filename> contient les fichiers de
    configuration communs à l'ensemble des utilisateurs.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour l'utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">amavis</systemitem>,
    le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">.spamassassin</filename> situé
    sous le répertoire personnel de l'utilisateur contient les fichiers de
    configuration dédiés ainsi que les bases de données constituées en cours
    d'exécution : liste blanche automatique, jetons de calcul,
    etc..</para>
    </listitem>
  </itemizedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme dans les scénarios décrits dans ce document, le système sur
  lequel sont installés les outils est un serveur passerelle dédié au
  traitement du courrier électronique, tous les paramètres de configuration
  seront dans le répertoire général <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/etc/spamassassin</filename> et toutes les bases de données
  seront dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/amavis/.spamassassin</filename>.</para>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.config.local_cf">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Le fichier de configuration principal</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le fichier <filename xmlns:xlink="http://www.w3.org/1999/xlink">local.cf</filename> regroupe les options
  principales du service. Voici un exemple de paramètres adaptés à
  l'exploitation d'une passerelle de courrier électronique. En plus des
  paramètres propres à <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application>, on y trouve des
  éléments de sélection des outils complémentaires.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># cat /etc/spamassassin/local.cf
# This is the right place to customize your installation of SpamAssassin.
#
# See 'perldoc Mail::SpamAssassin::Conf' for details of what can be
# tweaked.
#
# Only a small subset of options are listed below
#
###########################################################################

dns_available yes

whitelist_from  root@MailGw
whitelist_from  amavis@MailGw
whitelist_from  logcheck@MailGw

# Enable the Bayes system
use_bayes              1
bayes_auto_expire      0
bayes_learn_to_journal 1
bayes_journal_max_size 0
bayes_path /var/lib/amavis/.spamassassin/bayes

use_auto_whitelist     1

# Text to prepend to subject if rewrite_subject is used
add_header all Report _REPORT_

# <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.antispam.zor">DCC</link>
use_dcc 1
dcc_timeout 8

# <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.antispam.zor">Razor</link>
use_razor2 1
razor_timeout 8

# <link xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.antispam.zor">Pyzor</link>
use_pyzor 1

## Optional Score Increases
score DCC_CHECK 4.500
score SPF_FAIL 10.000
score SPF_HELO_FAIL 10.000
score RAZOR2_CHECK 2.500
score RAZOR2_CF_RANGE_51_100 3.500
score BAYES_99 5.300
score BAYES_95 4.500
score BAYES_80 3.500
score BAYES_60 2.500
score BAYES_50 2.000

# p0f
header L_P0F_WXP   X-Amavis-OS-Fingerprint =~ /^Windows XP/
score  L_P0F_WXP   3.5
header L_P0F_W     X-Amavis-OS-Fingerprint =~ /^Windows(?! XP)/
score  L_P0F_W     1.7
header L_P0F_UNKN  X-Amavis-OS-Fingerprint =~ /^UNKNOWN/
score  L_P0F_UNKN  0.8
header L_P0F_Unix  X-Amavis-OS-Fingerprint =~ /^((Free|Open|Net)BSD|Solaris|HP-UX|Tru64)/
score  L_P0F_Unix  -1.0
</screen>
  </sect3>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.sa-update">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">La mise à jour des jeux de règles de spamassassin</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La pondération des champs d'un message électronique est basée sur des
  jeux de règles prédéfinies. Comme de nouveaux styles de pourriels
  apparaissent constamment, il est nécessaire de mettre à jour ces règles
  périodiquement.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le paquet spamassassin fournit un outil dédié à cette tâche :
  <command xmlns:xlink="http://www.w3.org/1999/xlink">sa-update</command>. L'option <option xmlns:xlink="http://www.w3.org/1999/xlink">-D</option> de
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">debugging</wordasword> affiche les informations intermédiaires du
  traitement.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># sa-update -D
dbg: logger: adding facilities: all
dbg: logger: logging level is DBG
dbg: generic: SpamAssassin version 3.3.0
dbg: generic: Perl 5.010001, PREFIX=/usr, \
     DEF_RULES_DIR=/usr/share/spamassassin, \
     LOCAL_RULES_DIR=/etc/spamassassin, \
     LOCAL_STATE_DIR=/var/lib/spamassassin
dbg: config: timing enabled
dbg: config: score set 0 chosen.
dbg: dns: is Net::DNS::Resolver available? yes
dbg: dns: Net::DNS version: 0.65
dbg: generic: sa-update version svn897929
dbg: generic: using update directory: /var/lib/spamassassin/3.003000
dbg: diag: perl platform: 5.010001 linux<co xml:id="sa-update.check"/>
dbg: diag: [...] module installed: Digest::SHA1, version 2.12
dbg: diag: [...] module installed: HTML::Parser, version 3.64
dbg: diag: [...] module installed: Net::DNS, version 0.65
dbg: diag: [...] module installed: NetAddr::IP, version 4.024
dbg: diag: [...] module installed: Time::HiRes, version 1.9719
dbg: diag: [...] module installed: Archive::Tar, version 1.52
dbg: diag: [...] module installed: IO::Zlib, version 1.09
dbg: diag: [...] module installed: Digest::SHA1, version 2.12
dbg: diag: [...] module installed: MIME::Base64, version 3.08
dbg: diag: [...] module installed: DB_File, version 1.82
dbg: diag: [...] module installed: Net::SMTP, version 2.31
dbg: diag: [...] module installed: Mail::SPF, version v2.007
dbg: diag: [...] module installed: IP::Country::Fast, version 604.001
dbg: diag: [...] module installed: Razor2::Client::Agent, version 2.84
dbg: diag: [...] module installed: Net::Ident, version 1.20
dbg: diag: [...] module installed: IO::Socket::INET6, version 2.54
dbg: diag: [...] module installed: IO::Socket::SSL, version 1.31
dbg: diag: [...] module installed: Compress::Zlib, version 2.022
dbg: diag: [...] module installed: Mail::DKIM, version 0.37
dbg: diag: [...] module installed: DBI, version 1.609
dbg: diag: [...] module installed: Getopt::Long, version 2.38
dbg: diag: [...] module installed: LWP::UserAgent, version 5.834
dbg: diag: [...] module installed: HTTP::Date, version 5.831
dbg: diag: [...] module installed: Encode::Detect, version 1.01
dbg: gpg: Searching for 'gpg'
dbg: util: current PATH is: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
dbg: util: executable for gpg was found at /usr/bin/gpg
dbg: gpg: found /usr/bin/gpg<co xml:id="sa-update.gpg"/>
dbg: gpg: release trusted key id list: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
dbg: channel: attempting channel updates.spamassassin.org
dbg: channel: update directory /var/lib/spamassassin/3.003000/updates_spamassassin_org
dbg: channel: channel cf file /var/lib/spamassassin/3.003000/updates_spamassassin_org.cf
dbg: channel: channel pre file /var/lib/spamassassin/3.003000/updates_spamassassin_org.pre
dbg: channel: metadata version = 903765
dbg: dns: 0.3.3.updates.spamassassin.org =&gt; 903765, parsed as 903765<co xml:id="sa-update.dnsver"/>
dbg: channel: current version is 903765, new version is 903765, skipping channel
dbg: diag: updates complete, exiting with code 1</screen>

  <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <callout arearefs="sa-update.check">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Le traitement débute par une vérification de la liste des
    bibliothèques et outils nécessaires à l'exploitation des jeux de règles de
    <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application>.</para>
    </callout>
    <callout arearefs="sa-update.gpg">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Les transferts de jeux de règles sont signés pour éviter les
    falsifications.</para>
    </callout>
    <callout arearefs="sa-update.dnsver">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Les champs <acronym xmlns:xlink="http://www.w3.org/1999/xlink">TXT</acronym> du serveur de noms de domaines
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">DNS</acronym> sont utilisés pour véhiculer les informations de
    version des jeux de règles. Dans l'exemple, la version sur le serveur
    distant est identique à celle présente localement  473378. Il n'est
    donc pas nécessaire de télécharger les fichiers de règles de
    pondération.</para>
    </callout>
  </calloutlist>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.zor">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Les calculs distribués avec Pyzor et Razor</title>

<note xmlns:xlink="http://www.w3.org/1999/xlink">
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Si les outils présentés dans cette section n'occupent pas le «devant de
  la scène» en matière de lutte contre les pourriels, ils n'en sont pas moins
  essentiels au bon fonctionnement d'une passerelle de courrier électronique
  digne de ce nom. Après plus de cinq ans d'exploitation, on peut affirmer
  qu'ils contribuent efficacement aux calculs délivrés par
  <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application> et donc aux décisions prises par le
  service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>.</para>
</note>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les deux outils <application xmlns:xlink="http://www.w3.org/1999/xlink">Pyzor</application> et
  <application xmlns:xlink="http://www.w3.org/1999/xlink">Razor</application> appartiennent à la même catégorie. Ce sont
  des réseaux collaboratifs de partage de signatures de spams en cours de
  propagation. Les signatures peuvent être assimilées à des sommes de contrôle
  (<wordasword xmlns:xlink="http://www.w3.org/1999/xlink">checksums</wordasword>) calculées à partir d'éléments clés du
  message de courrier électronique. Les utilisateurs du réseau contribuent au
  catalogue en transmettant les sommes de contrôles pour les messages qu'ils
  émettent et exploitent les calculs stockés dans le catalogue partagé
  lorsqu'ils reçoivent les messages.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ces deux outils peuvent être utilisés de façon autonome mais ce n'est
  pas la solution retenue dans notre cas. Avec
  <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application>, les résultats obtenus à partir des
  sommes de contrôle sont intégrés dans le calcul global qui sert à déterminer
  si un courrier est un pourriel ou non. <application xmlns:xlink="http://www.w3.org/1999/xlink">Pyzor</application> et
  <application xmlns:xlink="http://www.w3.org/1999/xlink">Razor</application> constituent donc des sources d'alimentation
  supplémentaires pour <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici une présentation de l'installation et de la configuration de ces
  trois outils dans le contexte du service
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>.</para>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.zor.pyzor">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Pyzor</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On débute par l'installation du paquet et le contrôle de sa
  version.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ aptitude search 'pyzor'
i   pyzor  - spam-catcher using a collaborative filtering network</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois le paquet installé, la configuration doit être appliquée à
  l'utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">amavis</systemitem>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> su amavis -c 'pyzor discover'
downloading servers from http://pyzor.sourceforge.net/cgi-bin/inform-servers-0-3-x
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> cat /var/lib/amavis/.pyzor/servers
public.pyzor.org:24441</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le service étant configuré, on peut contrôler la disponibilité du
  serveur de distribution du catalogue des sommes de contrôle.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> su amavis -c 'pyzor ping'
public.pyzor.org:24441  (200, 'OK')</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Avec la version courante du paquet Debian, un message d'alerte apparaît
  à chaque exécution. Ce message rend l'outil inopérant.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">pyzor: failure to parse response
"/usr/lib/pymodules/python2.6/pyzor/__init__.py:11: DeprecationWarning: the sha
module is deprecated; use the hashlib module instead"</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour contourner le problème, il faut neutraliser les messages d'alerte
  lors de l'exécution de l'outil. Voici une copie du fichier
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/usr/bin/pyzor</filename>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">#!/usr/bin/python <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">-Wignore::DeprecationWarning</emphasis>

import os
# set umask
os.umask(0077)

import pyzor.client
pyzor.client.run()</screen>

  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.zor.razor">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Razor</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">On débute par l'installation du paquet et le contrôle de sa
  version.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">$</prompt> aptitude search razor
v   librazor2-perl -
p   posterazor     - splits an image into multiple sheets for assembly into a poster
i   razor          - spam-catcher using a collaborative filtering network</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois le paquet installé, il faut distinguer deux niveaux de
  configuration : système et utilisateur. Dans le cas présent, on doit créer la
  configuration pour l'utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">amavis</systemitem>. Cette étape est plus complexe que pour
  l'outil précédent.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Au niveau global ou système, on efface la configuration existante de
  façon à mettre en place une nouvelle configuration.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> rm /etc/razor/razor-agent.conf                          
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> razor-admin -create
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> cp ~/.razor/razor-agent.conf /etc/razor/</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le fichier de configuration système est modifié pour que les messages
  émis par l'outil soient journalisés dans un répertoire spécifique dans lequel
  le service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> dispose d'un accès en
  écriture.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> mkdir /var/log/razor
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> chown amavis.adm /var/log/razor
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> diff -uBb /etc/razor/razor-agent.conf.orig /etc/razor/razor-agent.conf
--- /etc/razor/razor-agent.conf.orig    2011-10-10 22:12:28.000000000 +0200
+++ /etc/razor/razor-agent.conf 2011-10-10 22:10:47.000000000 +0200
@@ -14,7 +14,7 @@
 listfile_catalogue     = servers.catalogue.lst
 listfile_discovery     = servers.discovery.lst
 listfile_nomination    = servers.nomination.lst
-logfile                = razor-agent.log
+logfile                = /var/log/razor/razor-agent.log
 logic_method           = 4
 min_cf                 = ac
 razordiscovery         = discovery.razor.cloudmark.com</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour éviter une saturation de l'espace de stockage du volume dédié à la
  journalisation système, on configure la rotation du fichier de journalisation
  <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/log/razor/razor-agent.log</filename>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> cat /etc/logrotate.d/razor
/var/log/razor/razor-agent.log {
        weekly
        rotate 52
        compress
        nomail
        notifempty
        missingok
        create 640  amavis adm
	}</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Au niveau utilisateur, on enregistre le service.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> mkdir /var/lib/amavis/.razor
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> chown amavis.amavis /var/lib/amavis/.razor
<prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> su amavis -c 'razor-admin -home /var/lib/amavis/.razor -register'
Register successful.  Identity stored in /var/lib/amavis/.razor/identity-rumyOpNfhL</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/lib/amavis/.razor/</filename> contient l'ensemble des
  éléments de la configuration utilisateur.</para>
  </sect3>

  <sect3 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antispam.zor.tests">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Tests de fonctionement</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Pour qualifier l'utilisation des deux outils, il faut étudier les
  rapports délivrés par <application xmlns:xlink="http://www.w3.org/1999/xlink">spamassassin</application>.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La première méthode consiste à tester un échantillon de pourriel fourni
  avec les sources du service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> su amavis -c 'spamassassin -D &lt;/usr/local/src/amavisd-new-2.7.0/test-messages/sample-spam-GTUBE-junk.txt &gt;test-report.txt 2&gt;&amp;1'</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Une fois cette commande exécutée, le rapport peut être consulté avec
  <command xmlns:xlink="http://www.w3.org/1999/xlink">less</command> par exemple. On peut aussi effectuer des recherches
  de chaînes de caractères avec <command xmlns:xlink="http://www.w3.org/1999/xlink">egrep</command>. Voici un
  extrait qui montre que les deux outils ont bien été appelés. Seul
  <application xmlns:xlink="http://www.w3.org/1999/xlink">Pyzor</application> a détecté un
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">spam</wordasword>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"><prompt xmlns:xlink="http://www.w3.org/1999/xlink">#</prompt> egrep -i '(pyzor|razor)' test-report.txt
dbg: plugin: loading Mail::SpamAssassin::Plugin::Pyzor from @INC
dbg: pyzor: network tests on, attempting Pyzor
dbg: plugin: loading Mail::SpamAssassin::Plugin::Razor2 from @INC
dbg: razor2: razor2 is available, version 2.84
dbg: config: fixed relative path: /var/lib/spamassassin/3.003001/updates_spamassassin_org/25_pyzor.cf
dbg: config: using "/var/lib/spamassassin/3.003001/updates_spamassassin_org/25_pyzor.cf" for included file
dbg: config: read file /var/lib/spamassassin/3.003001/updates_spamassassin_org/25_pyzor.cf
dbg: config: fixed relative path: /var/lib/spamassassin/3.003001/updates_spamassassin_org/25_razor2.cf
dbg: config: using "/var/lib/spamassassin/3.003001/updates_spamassassin_org/25_razor2.cf" for included file
dbg: config: read file /var/lib/spamassassin/3.003001/updates_spamassassin_org/25_razor2.cf
dbg: razor2: part=0 noresponse
dbg: razor2: results: spam? 0
dbg: razor2: results: engine 8, highest cf score: 0
dbg: razor2: results: engine 4, highest cf score: 0
dbg: util: executable for pyzor was found at /usr/bin/pyzor
dbg: pyzor: pyzor is available: /usr/bin/pyzor
dbg: pyzor: opening pipe: /usr/bin/pyzor check &lt; /tmp/.spamassassin17676Ek7f7Utmp
dbg: pyzor: [17677] finished successfully
dbg: pyzor: got response: public.pyzor.org:24441 (200, 'OK') 304 0
dbg: pyzor: listed: COUNT=304/5 WHITELIST=0
dbg: rules: ran eval rule PYZOR_CHECK ======&gt; got hit (1)
dbg: check: tests=GTUBE,NO_RECEIVED,NO_RELAYS,PYZOR_CHECK
dbg: timing: total 2001 ms - init: 1136 (56.8%), parse: 1.21 (0.1%),
  extract_message_metadata: 21 (1.1%), get_uri_detail_list: 0.49 (0.0%),
  tests_pri_-1000: 7 (0.4%), compile_gen: 107 (5.3%), compile_eval: 21 (1.1%),
  tests_pri_-950: 6 (0.3%), tests_pri_-900: 6 (0.3%), tests_pri_-400: 5 (0.2%),
  tests_pri_0: 743 (37.1%), dkim_load_modules: 23 (1.2%), check_dkim_signature:
  0.45 (0.0%), check_dkim_adsp: 180 (9.0%), check_spf: 30 (1.5%), check_dcc:
  0.21(0.0%), check_razor2: 209 (10.4%), check_pyzor: 80 (4.0%), tests_pri_500:
  56(2.8%), tests_pri_1000: 11 (0.5%), total_awl: 6 (0.3%), check_awl: 0.56
  (0.0%), update_awl: 1.70 (0.1%)
dbg: markup: [...] * 2.0 PYZOR_CHECK Message list=e9 par Pyzor, voir http://pyzor.sf.net/
    NO_RELAYS,PYZOR_CHECK autolearn=no version=3.3.1
    *  2.0 PYZOR_CHECK Message listé par Pyzor, voir http://pyzor.sf.net/</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">La seconde méthode consiste à consulter les journaux du service
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> en cours de fonctionnement. Voici un
  exemple de résultat de calcul sur un message dont la nature ne fait aucun
  doute. On y voit clairement apparaître les coefficients attribués par
  <application xmlns:xlink="http://www.w3.org/1999/xlink">Pyzor</application> et <application xmlns:xlink="http://www.w3.org/1999/xlink">Razor</application>.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">header_edits_for_quar: &lt;xxxxx@xxxxxxxxx.fr&gt; -&gt; &lt;xxxxxxx@xxxxxxxxx.fr&gt;,
Yes, score=48.957 tag=-999 tag2=6.31 kill=6.31
tests=[AV:Sanesecurity.Junk.38228.UNOFFICIAL=0.1, DIGEST_MULTIPLE=0.001,
FROM_IN_TO_AND_SUBJ=3.399, HELO_DYNAMIC_IPADDR2=3.888,
HELO_DYNAMIC_SPLIT_IP=2.893, HTML_IMAGE_ONLY_28=0.726, HTML_MESSAGE=0.001,
INVALID_MSGID=1.167, L_P0F_UNKN=0.8, MIME_HTML_ONLY=1.105,
MIME_QP_LONG_LINE=0.001, MISSING_DATE=1.396, 
MSGID_SHORT=0.337, <emphasis xmlns:xlink="http://www.w3.org/1999/xlink">PYZOR_CHECK=1.985, RAZOR2_CF_RANGE_51_100=0.365,
RAZOR2_CF_RANGE_E8_51_100=2.43, RAZOR2_CHECK=1.729,</emphasis> RCVD_IN_BRBL_LASTEXT=1.644,
RCVD_IN_PBL=3.558, RCVD_IN_SORBS_DUL=0.001, RCVD_IN_XBL=0.724, RDNS_NONE=1.274,
SPF_FAIL=0.919, TO_EQ_FM_DIRECT_MX=0.001, TO_EQ_FM_DOM_SPF_FAIL=0.001,
TO_EQ_FM_HTML_DIRECT=1.753, TO_EQ_FM_HTML_ONLY=0.001, TO_EQ_FM_SPF_FAIL=0.973,
TO_IN_SUBJ=3.899, TVD_RCVD_IP=0.001, URIBL_AB_SURBL=4.499, URIBL_BLACK=1.775,
URIBL_JP_SURBL=1.948, URIBL_WS_SURBL=1.659, X_MAILER_CME_6543_MSN=2.004]</screen>
  </sect3>
  </sect2>
</sect1>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Clam AntiVirus</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">En quelques années, le projet <trademark xmlns:xlink="http://www.w3.org/1999/xlink">ClamAV</trademark> est devenu
  la référence en matière de logiciel libre antivirus. La réactivité de
  l'équipe de développement est excellente qu'il s'agisse de la vitesse de
  publication des signatures de nouveaux virus ou des publications de
  correctifs de sécurité du logiciel lui-même.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">L'installation et la configuration de cet antivirus est assez
  immédiate dans la mesure où le paquet Debian est parfaitement maintenu et
  son adaptation au service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> ne demande
  pas beaucoup d'efforts.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.packages">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Paquets Debian à installer</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Les paquets Debian à installer pour une utilisation avec le service
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> sont donnés dans la liste
  suivante :</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ dpkg -l *clam* |grep ^ii
ii  clamav            0.90.1-2  antivirus scanner for Unix
ii  clamav-base       0.90.1-2  base package for clamav, an anti-virus utility
ii  clamav-daemon     0.90.1-2  antivirus scanner daemon
ii  clamav-freshclam  0.90.1-2  downloads clamav virus databases from the Internet
ii  libclamav2        0.90.1-2  virus scanner library
</screen>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Cette liste comprend trois fonctions distinctes.</para>

  <variablelist xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.packages.functions">
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="clamscan">
      <term xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">clamav</application></term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Ce paquet contient le <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">scanner</wordasword>
      <application xmlns:xlink="http://www.w3.org/1999/xlink">clamscan</application> que l'on utilise au niveau système de
      fichiers. Ce mode de traitement est excessivement coûteux en temps
      d'accès disque et dégrade très sensiblement les performances du
      traitement du courrier électronique. Le service
      <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> ne fait appel à ce
      <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">scanner</wordasword> qu'en secours ; lorsque les antivirus
      primaires travaillant en <acronym xmlns:xlink="http://www.w3.org/1999/xlink">RAM</acronym> ne sont plus
      disponibles.</para> 

      <para xmlns:xlink="http://www.w3.org/1999/xlink">Vis-à-vis du service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>, le
      <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">scanner</wordasword> est un antivirus secondaire. On obtient
      les informations suivantes lors du lancement du service.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">amavis[3000]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
</screen>
      </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="clamd">
      <term xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">clamav-daemon</application></term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Ce paquet contient le démon <application xmlns:xlink="http://www.w3.org/1999/xlink">clamd</application> qui
      réside en mémoire de façon permanente et qui communique avec le service
      <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> via un
      <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket UNIX</wordasword>. C'est ce mode de traitement
      qui donne les meilleures performances. Une fois que le service a extrait
      tous les objets contenu dans les champs d'un message, il transmet ces
      objets aux anitivirus pour examen. Il est possible de stocker les objets
      à traiter dans un système de fichiers «monté» en <acronym xmlns:xlink="http://www.w3.org/1999/xlink">RAM</acronym>
      pour accroître encore les performances.</para>

      <para xmlns:xlink="http://www.w3.org/1999/xlink">Vis-à-vis du service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>, le
      démon est un antivirus primaire. On obtient les informations suivantes
      lors du lancement du service.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">amavis[3000]: Using internal av scanner code for (primary) ClamAV-clamd
</screen>
      </listitem>
    </varlistentry>
    <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="freshclam">
      <term xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">freshclam</application></term>
      <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Ce paquet contient le démon <application xmlns:xlink="http://www.w3.org/1999/xlink">freshclam</application>
      qui réside en mémoire de façon permanente et qui collecte périodiquement
      les nouvelles signatures de virus. Ce démon est aussi chargé de notifier
      le démon <application xmlns:xlink="http://www.w3.org/1999/xlink">clamd</application> pour qu'il recompose son cache
      en fonction des nouvelles signatures.</para>
      
      <para xmlns:xlink="http://www.w3.org/1999/xlink">Ce démon n'a aucune interaction avec le service
      <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application>.</para>
      </listitem>
    </varlistentry>
  </variablelist>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.config">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Interaction avec amavisd-new</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Comme les communications entre les démons
  <application xmlns:xlink="http://www.w3.org/1999/xlink">freshclam</application>, <application xmlns:xlink="http://www.w3.org/1999/xlink">clamd</application> et le
  service <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> son basées sur un
  <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket UNIX</wordasword>, les principales opérations de
  configuration consistent à organiser l'arborescence et les permissions sur le
  système de fichiers.</para>

  <orderedlist xmlns:xlink="http://www.w3.org/1999/xlink">
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">On choisit de stocker les informations sur l'état courant des démons
    dans le répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/run/amavis</filename>.</para>
    </listitem>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Ce répertoire et tous ses objets doivent avoir pour propriétaire
    l'utilisateur et le groupe <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">amavis</systemitem>.</para>
    </listitem>
  </orderedlist>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">En cours d'exécution, on obtient les informations suivantes.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ ls -lA /var/run/amavis/
total 8
-rw-r----- 1 amavis amavis 0 2006-12-30 19:21 amavisd.lock
-rw-r----- 1 amavis amavis 5 2006-12-30 09:35 amavisd.pid
srwxr-x--- 1 amavis amavis 0 2006-12-30 09:35 amavisd.sock
-rw-rw---- 1 amavis amavis 4 2006-12-30 09:34 clamd.pid
srwxrwxrwx 1 amavis amavis 0 2006-12-30 09:34 clamd.sock
</screen>

   <variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
     <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.config.freshclam">
       <term xmlns:xlink="http://www.w3.org/1999/xlink">Configuration de <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">freshclam</systemitem></term>
       <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
         <para xmlns:xlink="http://www.w3.org/1999/xlink">La configuration de ce démon suit les directives du paquet Debian.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ cat /etc/clamav/freshclam.conf
# Automatically created by the clamav-freshclam postinst
# Comments will get lost when you reconfigure the clamav-freshclam package

DatabaseOwner clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogFileMaxSize 0
MaxAttempts 5
# Check for new database 8 times a day
Checks 8
DatabaseMirror db.local.clamav.net
DatabaseMirror database.clamav.net
DatabaseDirectory /var/lib/clamav/
NotifyClamd <co xml:id="freshclam.notify"/>
DNSDatabaseInfo current.cvd.clamav.net
</screen>

         <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
           <callout arearefs="freshclam.notify">
	   <para xmlns:xlink="http://www.w3.org/1999/xlink">La notification du démon <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">clamd</systemitem> est l'élément essentiel de ce
	   fichier de configuration.</para>
	   </callout>
	 </calloutlist>
       </listitem>
     </varlistentry>
     <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.config.clamd">
       <term xmlns:xlink="http://www.w3.org/1999/xlink">Configuration de <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">clamd</systemitem></term>
       <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
         <para xmlns:xlink="http://www.w3.org/1999/xlink">La configuration de ce démon suit aussi les directives du paquet Debian.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ cat /etc/clamav/clamd.conf
#Automatically Generated by clamav-base postinst
#To reconfigure clamd run #dpkg-reconfigure clamav-base
#Please read /usr/share/doc/clamav-base/README.Debian.gz for details
LocalSocket /var/run/amavis/clamd.sock <co xml:id="clamd.sock"/>
FixStaleSocket
User amavis <co xml:id="clamd.user"/>
AllowSupplementaryGroups
ScanMail
ScanArchive
ArchiveMaxRecursion 5
ArchiveMaxFiles 1000
ArchiveMaxFileSize 10M
ArchiveMaxCompressionRatio 250
ScanRAR
MaxDirectoryRecursion 15
ReadTimeout 180
MaxThreads 12
MaxConnectionQueueLength 15
LogSyslog
LogFile /var/log/clamav/clamav.log
LogTime
LogFileMaxSize 0
PidFile /var/run/amavis/clamd.pid
DatabaseDirectory /var/lib/clamav/
SelfCheck 3600
</screen>
         <calloutlist xmlns:xlink="http://www.w3.org/1999/xlink">
           <callout arearefs="clamd.sock">
	   <para xmlns:xlink="http://www.w3.org/1999/xlink">Conformément au choix énoncé ci-dessus, on utilise le
	   répertoire <filename xmlns:xlink="http://www.w3.org/1999/xlink" class="directory">/var/run/amavis/</filename>
	   pour stocker le fichier <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket</wordasword>.</para>
	   </callout>
           <callout arearefs="clamd.user">
	   <para xmlns:xlink="http://www.w3.org/1999/xlink">Le propriétaire du processus <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">clamd</systemitem> est l'utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">amavis</systemitem>.</para>
	   </callout>
	 </calloutlist>
       </listitem>
     </varlistentry>
     <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.config.user">
       <term xmlns:xlink="http://www.w3.org/1999/xlink">Utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">clamav</systemitem></term>
       <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
	 <para xmlns:xlink="http://www.w3.org/1999/xlink">L'utilisateur <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="username">clamav</systemitem>
	 doit faire partie du groupe <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="groupname">amavis</systemitem>.</para>
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">$ grep clam /etc/group
amavis:!:109:clamav
clamav:!:112:
</screen>
       </listitem>
     </varlistentry>
   </variablelist>
  </sect2>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.antivirus.clamav.amavisd.conf">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Configuration du service amavisd-new</title>

    <para xmlns:xlink="http://www.w3.org/1999/xlink">C'est dans la <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Section VII - External programs, virus
    scanners</citetitle> du fichier <filename xmlns:xlink="http://www.w3.org/1999/xlink">amavisd.conf</filename> que l'on
    trouve les paramètres d'appel à l'antivirus <systemitem xmlns:xlink="http://www.w3.org/1999/xlink" class="daemon">clamd</systemitem>. Il faut désigner le fichier
    <wordasword xmlns:xlink="http://www.w3.org/1999/xlink">socket</wordasword> tel qu'il a été défini ci-avant :
    <filename xmlns:xlink="http://www.w3.org/1999/xlink">/var/run/amavis/clamd.sock</filename></para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80"># ### http://www.clamav.net/
['ClamAV-clamd',
  \&amp;ask_daemon, ["CONTSCAN {}\n", "/var/run/amavis/clamd.sock"],
  qr/\bOK$/, qr/\bFOUND$/,
  qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
# # NOTE: run clamd under the same user as amavisd, or run it under its own
# #   uid such as clamav, add user clamav to the amavis group, and then add
# #   AllowSupplementaryGroups to clamd.conf;
# # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
# #   this entry; when running chrooted one may prefer socket "$MYHOME/clamd".
</screen>
  </sect2>
</sect1>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.echantillons">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Les échantillons relevés</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Voici quelques échantillons relevés lors de l'utilisation du service
  <xref xmlns:xlink="http://www.w3.org/1999/xlink" linkend="amavisd-new.refdocs.main-site"/>. Certaines informations telles que les
  adresses de courrier électronique ont été masquées par des caractères
  <literal xmlns:xlink="http://www.w3.org/1999/xlink">X</literal>.</para>

  <sect2 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.echantillons.mime">
    <title xmlns:xlink="http://www.w3.org/1999/xlink">Module MIME::Tools</title>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Ces 2 exemples sont issus de deux installations du type :
  sendmail - amavis-milter - amavisd-new.</para>

  <para xmlns:xlink="http://www.w3.org/1999/xlink">Il est important de disposer d'un module de désassemblage MIME de bonne
  qualité pour pouvoir traiter les cas anormaux. Il faut absolument éviter
  qu'un message à la composition MIME volontairement erronée suffise à sauter
  les appels aux antivirus. Dans le cas ci-dessous, un
  <literal xmlns:xlink="http://www.w3.org/1999/xlink">'W32/Dumaru-Y'</literal> est «accroché» à un message avec un en-tête
  MIME erroné.</para>

<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">mai  5 10:38:11 MailGw amavis[8378]: (i458c9dV005475) warning - MIME::Parser
error: BadHead: couldn't parse header; ProblemNear:; name="accounts.zip";
Content-Transfer-Encoding: base64; Content-Disposition: attachment;;
filename="myphoto.zip"; error: UnexpectedBound: part didn't end with expected
boundary [in multipart messag...

May  5 10:38:11 MailGw sophie[831]: WARNING          : Scan result =&gt;
'/var/lib/amavis/amavis-milter-i458c9dV005475/parts/part-00004' infected with
virus 'W32/Dumaru-Y'
</screen>
  
  <para xmlns:xlink="http://www.w3.org/1999/xlink">Dans ce second exemple, un autre message avec une mauvaise construction
  MIME contient un fichier joint exécutable. La configuration du service
  interdit la transmission de fichiers <literal xmlns:xlink="http://www.w3.org/1999/xlink">.exe</literal> par courrier
  électronique.</para>
 
<screen xmlns:xlink="http://www.w3.org/1999/xlink" width="80">mai  5 10:29:54 MailGw amavis[22332]: (i458Trqb012919) warning - MIME::Parser
error: UnexpectedBound: part didn't end with expected boundary [in multipart
message]; EOSToken: CLOSE 3692B18230B.1083745793/XXXXXXXX.XXXXX.XXX; EOSType:
EXT; error: SeveredParts: unexpected end of parts before epilogue [in multipart
message]; Virtu...

mai  5 10:29:54 MailGw amavis[22332]: (i458Trqb012919) NOTICE: DSN contains
BANNED NAME; bounce is not bouncable, mail intentionally dropped

mai  5 10:29:54 MailGw amavis[22332]: (i458Trqb012919) BANNED name/type (.exe),
&lt;&gt; -&gt; &lt;XXXX@XXXX.XXXXXXXXX.XX&gt;, quarantine
virus-20040505-102954-i458Trqb012919, Message-ID:
&lt;20040505082953.5687E182367@XXXXXXXX.XXXXX.XXX&gt;, Hits: -
</screen>
  </sect2>
</sect1>

<sect1 xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs">
  <title xmlns:xlink="http://www.w3.org/1999/xlink">Documents de référence</title>

<variablelist xmlns:xlink="http://www.w3.org/1999/xlink">
  <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs.main-site">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.ijs.si/software/amavisd/">
  <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application></link> : site principal de l'outil de filtrage de
    contenu de courrier électronique. L'interface
    <application xmlns:xlink="http://www.w3.org/1999/xlink">amavisd-new</application> se place entre les gestionnaires de
    mise en file d'attente de réception et d'émission de l'agent de transfert e
    courrier électronique (<acronym xmlns:xlink="http://www.w3.org/1999/xlink">MTA</acronym>).</para>
    </listitem>
  </varlistentry>

  <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs.www200.pair.com">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Debian Anti-Spam Anti-Virus Gateway Email Server using Postfix,
    Amavisd-new, SpamAssassin, Razor, DCC, Pyzor and ClamAV HOWTO</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Support de référence en anglais : <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www200.pair.com/mecham/spam/">Debian Anti-Spam Anti-Virus
    Gateway Email Server</link>.</para>
    </listitem>
  </varlistentry>

  <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs.old-amavis">
    <term xmlns:xlink="http://www.w3.org/1999/xlink">Amavis</term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink">Page principale du projet d'origine : <link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.amavis.org/"><application xmlns:xlink="http://www.w3.org/1999/xlink">amavis</application></link>. Cet
    outil n'est plus supporté|maintenu.</para>
    </listitem>
  </varlistentry>

  <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs.fetchmail">
    <term xmlns:xlink="http://www.w3.org/1999/xlink"><application xmlns:xlink="http://www.w3.org/1999/xlink">fetchmail</application></term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.catb.org/~esr/fetchmail/">
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">The fetchmail Home Page</citetitle></link> : <application xmlns:xlink="http://www.w3.org/1999/xlink">fetchmail</application> est un
    utilitaire de récupération et de retransmission de courrier électronique
    prévu pour fonctionner avec des connexions à la demande de type
    <acronym xmlns:xlink="http://www.w3.org/1999/xlink">PPP</acronym>.</para>
    </listitem>
  </varlistentry>

  <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs.debian">
    <term xmlns:xlink="http://www.w3.org/1999/xlink"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle></term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.debian.org/">
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Debian GNU/Linux</citetitle></link> : page principale de la distribution.</para>
    </listitem>
  </varlistentry>

  <varlistentry xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="amavisd-new.refdocs.debian-policy">
    <term xmlns:xlink="http://www.w3.org/1999/xlink"><citetitle xmlns:xlink="http://www.w3.org/1999/xlink">Charte Debian</citetitle></term>
    <listitem xmlns:xlink="http://www.w3.org/1999/xlink">
    <para xmlns:xlink="http://www.w3.org/1999/xlink"><link xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.debian.org/doc/devel-manuals#policy">
  <citetitle xmlns:xlink="http://www.w3.org/1999/xlink">La Charte Debian</citetitle></link>  décrit l'organisation des ressources du
    système d'exploitation.</para>
    </listitem>
  </varlistentry>
</variablelist>
</sect1>
</article>

