« ClamAV » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
Ligne 57 : Ligne 57 :
==== Message sain ====
==== Message sain ====


* Pour vérifier que '''Postfix''' route bien les message vers '''ClamAV''', on effectue un test de réception sur la boîte '''cacheln@mail.glx'''. On observe ensuite les logs dans '''/var/log/mail.log''' :
* Pour vérifier que '''Postfix''' route bien les message vers '''ClamAV''', on effectue un test de réception sur la boîte '''cacheln@mail.glx'''. On observe ensuite les logs dans '''/var/log/mail.log'''.


  Feb  9 17:24:55 alice postfix/smtpd[7845]: 717D94621F3: client=geocoucou.net.ncad.fr[10.0.0.49]
* Le message transite jusqu'au gestionnaire de file '''qmgr''' où il y stationnera. Une copie du message est transmise au serveur '''clamsmtp''' pour être analysée.
  Feb  9 17:24:55 alice postfix/cleanup[7850]: 717D94621F3:
 
[[Image:ClamAV_Reception_Sain_1.png|thumb|center|750px]]
 
  <span style="background-color:darkblue;color:#FFFFFF">1</span> Feb  9 17:24:55 alice postfix/<font color=red>smtpd</font>[7845]: 717D94621F3: client=geocoucou.net.ncad.fr[10.0.0.49]
  <span style="background-color:darkblue;color:#FFFFFF">2</span> Feb  9 17:24:55 alice postfix/<font color=red>cleanup</font>[7850]: 717D94621F3:
   message-id=<fdba2ffadb52abbccc0390fc89987e84@ncad.me>
   message-id=<fdba2ffadb52abbccc0390fc89987e84@ncad.me>
  Feb  9 17:24:55 alice postfix/qmgr[6777]: 717D94621F3: from=<nicolas.cachelou@ncad.me>,
  <span style="background-color:darkblue;color:#FFFFFF">3</span> Feb  9 17:24:55 alice postfix/<font color=red>qmgr</font>[6777]: 717D94621F3: from=<nicolas.cachelou@ncad.me>,
   size=1563, nrcpt=1 (queue active)
   size=1563, nrcpt=1 (queue active)
  Feb  9 17:24:55 alice clamsmtpd: 100005: accepted connection from: 127.0.0.1
  <span style="background-color:darkorange;color:#FFFFFF">4</span> Feb  9 17:24:55 alice <font color=red>clamsmtpd</font>: 100005: accepted connection from: 127.0.0.1
 
*


* Une fois le mail analysé par '''ClamAV''', il est renvoyé à '''Postfix''' mais avec un '''ID''' différent. Le message étant <font color=green>CLEAN</font>, il est transmis dans la boîte mail du destinataire. La copie du message en file d'attente ''(qmgr)''est supprimée.
* Une fois le mail analysé par '''ClamAV''', il est renvoyé à '''Postfix''' mais avec un '''ID''' différent. Le message étant <font color=green>CLEAN</font>, il est transmis dans la boîte mail du destinataire. La copie du message en file d'attente ''(qmgr)''est supprimée.

Version du 10 février 2014 à 19:23

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav


Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL


Plus de fonctions : Ajouter un Disclaimer | Signature DKIM | Mailman | Maildrop


Clients de messagerie : Configurer Thundirbird | Configurer Roundcube


Pour aller plus loin : Commandes messagerie | DNSBL | MX Backup
ClamAV Logo.png

Architecture

Architecture ClamAV avec Postfix
  • Le serveur SMTP ClamAV est exploité par Postfix pour lui soumettre les courriels à analyser. Une fois analysés par ClamAV, les courriers sont ré-injecté dans Postfix avec le résultat de l'analyse.

Installation

  • Il faut installer le programme de base clamav, avec sa base de données (clamav-base) et l'outil de mise à jour de cette dernière (clamav-freshclam). Dans le cadre de son exploitation avec Postfix on installera le daemon smtp de ClamAV (clamsmtp).

clamsmtp clamav-daemon clamav clamav-freshclam clamav-base

  • On procède à la mise à jour des signatures de ClamAV :

freshclam

  • Lancement de ClamAV :

service clamav-daemon restart

Intégration dans Postfix

Configuration

  • On va demander à Postfix d'interroger ClamAV pour savoir si les courriels reçus contiennent des virus. Pour cela, on va renseigner un filtre dans le fichier /etc/postfix/main.cf. Les mails seront envoyés sur ce filtre :
content_filter = clamav:127.0.0.1:10026
receive_override_options = no_address_mappings
  • La configuration du filtre et plus particulièrement son action va être définit dans le fichier /etc/postfix/master.cf. En début de fichier juste en dessous de la ligne smtp, on va renseigner la ligne suivante :
clamav      unix  -       -       n       -       16      smtp
       -o smtp_send_xforward_command=yes:q
  • En fin de fichier, on ajoutera le connecteur de sortie du serveur SMTP de ClamAV pour autoriser le relayage des mails via Postfix :
127.0.0.1:10025 inet  n -       n       -       16      smtpd
       -o content_filter=
       -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
       -o smtpd_helo_restrictions=
       -o smtpd_client_restrictions=
       -o smtpd_sender_restrictions=
       -o smtpd_recipient_restrictions=permit_mynetworks,reject
       -o mynetworks_style=host
       -o smtpd_authorized_xforward_hosts=127.0.0.0/8

service postfix restart

Validation

Message sain

  • Pour vérifier que Postfix route bien les message vers ClamAV, on effectue un test de réception sur la boîte cacheln@mail.glx. On observe ensuite les logs dans /var/log/mail.log.
  • Le message transite jusqu'au gestionnaire de file qmgr où il y stationnera. Une copie du message est transmise au serveur clamsmtp pour être analysée.
ClamAV Reception Sain 1.png
1 Feb  9 17:24:55 alice postfix/smtpd[7845]: 717D94621F3: client=geocoucou.net.ncad.fr[10.0.0.49]
2 Feb  9 17:24:55 alice postfix/cleanup[7850]: 717D94621F3:
 message-id=<fdba2ffadb52abbccc0390fc89987e84@ncad.me>
3 Feb  9 17:24:55 alice postfix/qmgr[6777]: 717D94621F3: from=<nicolas.cachelou@ncad.me>,
 size=1563, nrcpt=1 (queue active)
4 Feb  9 17:24:55 alice clamsmtpd: 100005: accepted connection from: 127.0.0.1
  • Une fois le mail analysé par ClamAV, il est renvoyé à Postfix mais avec un ID différent. Le message étant CLEAN, il est transmis dans la boîte mail du destinataire. La copie du message en file d'attente (qmgr)est supprimée.
ClamAV Reception Sain 2.png
2 Feb  9 17:24:55 alice postfix/smtpd[7853]: 894B3462205: client=localhost[127.0.0.1],
 orig_queue_id=717D94621F3,  orig_client=geocoucou.net.ncad.fr[10.0.0.49]
3 Feb  9 17:24:55 alice postfix/cleanup[7850]: 894B3462205:
 message-id=<fdba2ffadb52abbccc0390fc89987e84@ncad.me>
4 Feb  9 17:24:55 alice postfix/qmgr[6777]: 894B3462205: from=<nicolas.cachelou@ncad.me>,
 size=1768, nrcpt=1 (queue active)
Feb  9 17:24:55 alice clamsmtpd: 100005: from=nicolas.cachelou@ncad.me, to=cacheln@mail.glx,
 status=CLEAN
6 Feb  9 17:24:55 alice postfix/smtp[7851]: 717D94621F3: to=<cacheln@mail.glx>,
 relay=127.0.0.1[127.0.0.1]:10026, delay=0.18, delays=0.04/0.01/0.05/0.07, dsn=2.0.0,
 status=sent (250 2.0.0 Ok: queued as 894B3462205)
5 Feb  9 17:24:55 alice postfix/virtual[7855]: 894B3462205: to=<cacheln@mail.glx>, relay=virtual,
 delay=0.13,delays=0.07/0.01/0/0.05, dsn=2.0.0, status=sent (delivered to maildir)

Message infecté

  • Pour vérifier le comportement de ClamAV on va envoyer un faux positif. On enverra un mail avec un fichier texte en pièce jointe. Dans ce fichier texte nous renseigneront la ligne suivante :
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
  • Dans notre cas, nous envoyons le message à la boîte mail cacheln@mail.glx. Voici les logs relevé dans /var/log/mail.log :
Feb  9 17:37:59 alice postfix/smtpd[7876]: EC96E462205: client=geocoucou.net.ncad.fr[10.0.0.49]
Feb  9 17:37:59 alice postfix/cleanup[7881]: EC96E462205: message-id=<ea7adebb357308308e914b0ebd6a60ed@ncad.me>
Feb  9 17:38:00 alice postfix/qmgr[6777]: EC96E462205: from=<nicolas.cachelou@ncad.me>, size=2022, nrcpt=1 (queue active)
Feb  9 17:38:00 alice clamsmtpd: 100006: accepted connection from: 127.0.0.1
Feb  9 17:38:00 alice postfix/smtpd[7884]: 1537A462207: client=localhost[127.0.0.1], orig_queue_id=EC96E462205,
 orig_client=geocoucou.net.ncad.fr[10.0.0.49]
Feb  9 17:38:00 alice postfix/smtp[7882]: EC96E462205: to=<cacheln@mail.glx>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.14,
 delays=0.06/0.01/0.06/0.01, dsn=2.0.0, status=sent (250 Virus Detected; Discarded Email)
Feb  9 17:38:00 alice postfix/qmgr[6777]: EC96E462205: removed
Feb  9 17:38:00 alice clamsmtpd: 100006: from=nicolas.cachelou@ncad.me, to=cacheln@mail.glx,
 status=VIRUS:Eicar-Test-Signature
Feb  9 17:38:00 alice postfix/smtpd[7884]: disconnect from localhost[127.0.0.1]