ClamAV
Aller à la navigation
Aller à la recherche
.:[ Serveur de Messagerie ]:.
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
Architecture
- 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).
|
|
- On procède à la mise à jour des signatures de ClamAV :
|
|
- Lancement de ClamAV :
|
|
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
|
|
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.
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.
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 courriel contenant la signature d'un virus qui déclenche un faux-positif. Pour cela, avec notre courriel on y attachera 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*
- Nous effectuons le test de réception toujours sur la boîte cacheln@mail.glx. Observons maintenant les logs relevéd 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.
Feb 9 17:37:59 alice postfix/smtpd[7876]: connect from geocoucou.net.ncad.fr[10.0.0.49] 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 postfix/smtpd[7876]: disconnect from geocoucou.net.ncad.fr[10.0.0.49] Feb 9 17:38:00 alice clamsmtpd: 100006: accepted connection from: 127.0.0.1
Feb 9 17:38:00 alice postfix/smtpd[7884]: connect from localhost[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]