TUXANANTES FORMATION

http://tuxanantes.free.fr/

Sécuriser Postfix ( Clamav - Spamassassin - Amavisd-new )


Ce document décrit l'installation de Clamav , Spamassassin, Amavisd-New et la configuration de Postfix pour utiliser ces différents services.


La mise en oeuvre a été réalisée sur une Debian etch


L'installation de Postfix n'est pas décrite dans ce document. On partira du principe que l'on dispose d'un serveur de messagerie opérationnel.


On trouvera dans ce document :

les commandes utilisées et leur retour

les fichiers de configuration

les éventuelles messages d'erreur rencontrés et leur correction

peu de commentaires .....



Clamav

Clamav est un Antivirus


Mise à jour de la date et de l'heure système :

syntaxe générale de la commande :

# date -s "MM/JJ/AAAA HH:MM:SS"



Packages Debian :

http://packages.debian.org/fr/etch-volatile/clamav

http://volatile.debian.org/debian-volatile/


Pour installer la dernière version mise à jour de clamav , ajouter dans /etc/apt/sources.list :

deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free


Aprés modification , le fichier /etc/apt/sources.list contient :

# cat /etc/apt/sources.list

deb http://ftp.fr.debian.org/debian/ etch main

deb-src http://ftp.fr.debian.org/debian/ etch main

## security

deb http://security.debian.org/ etch/updates main contrib non-free

deb-src http://security.debian.org/ etch/updates main contrib non-free

# non free

deb http://ftp.fr.debian.org/debian/ stable main contrib non-free

deb-src http://ftp.fr.debian.org/debian/ stable main contrib non-free


deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free


# apt-get upgrade


# apt-get install clamav

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances... Fait

Les paquets supplémentaires suivants seront installés :

clamav-base clamav-freshclam libclamav4 libgmp3c2

Paquets suggérés :

unrar lha clamav-docs

Paquets recommandés :

arj unzoo

Les NOUVEAUX paquets suivants seront installés :

clamav clamav-base clamav-freshclam libclamav4 libgmp3c2

0 mis à jour, 5 nouvellement installés, 0 à enlever et 1 non mis à jour.

Il est nécessaire de prendre 16,7Mo dans les archives.

Après dépaquetage, 18,2Mo d'espace disque supplémentaires seront utilisés.

Souhaitez-vous continuer [O/n] ?


# apt-get install clamav-daemon

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances... Fait

Paquets suggérés :

daemon clamav-docs

Les NOUVEAUX paquets suivants seront installés :

clamav-daemon

0 mis à jour, 1 nouvellement installés, 0 à enlever et 1 non mis à jour.

Il est nécessaire de prendre 210ko dans les archives.

Après dépaquetage, 467ko d'espace disque supplémentaires seront utilisés.

Réception de : 1 http://volatile.debian.org etch/volatile/main clamav-daemon 0.93.1.dfsg-volatile1 [210kB]

210ko réceptionnés en 1s (137ko/s)

Sélection du paquet clamav-daemon précédemment désélectionné.

(Lecture de la base de données... 79119 fichiers et répertoires déjà installés.)

Dépaquetage de clamav-daemon (à partir de .../clamav-daemon_0.93.1.dfsg-volatile1_i386.deb) ...

Paramétrage de clamav-daemon (0.93.1.dfsg-volatile1) ...

Starting ClamAV daemon: clamd .


# apt-get install clamav-testfiles

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances... Fait

Les NOUVEAUX paquets suivants seront installés :

clamav-testfiles

0 mis à jour, 1 nouvellement installés, 0 à enlever et 1 non mis à jour.

Il est nécessaire de prendre 192ko dans les archives.

Après dépaquetage, 307ko d'espace disque supplémentaires seront utilisés.

Réception de : 1 http://volatile.debian.org etch/volatile/main clamav-testfiles 0.93.1.dfsg-volatile1 [192kB]

192ko réceptionnés en 1s (167ko/s)

Sélection du paquet clamav-testfiles précédemment désélectionné.

(Lecture de la base de données... 79142 fichiers et répertoires déjà installés.)

Dépaquetage de clamav-testfiles (à partir de .../clamav-testfiles_0.93.1.dfsg-volatile1_all.deb) ...

Paramétrage de clamav-testfiles (0.93.1.dfsg-volatile1) ...


Résultat de l'installation :

Le fichier /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/clamav/clamd.ctl

FixStaleSocket true

User clamav

AllowSupplementaryGroups true

ScanMail true

ScanArchive true

ArchiveLimitMemoryUsage false

ArchiveBlockEncrypted false

MaxDirectoryRecursion 15

FollowDirectorySymlinks false

FollowFileSymlinks false

ReadTimeout 180

MaxThreads 12

MaxConnectionQueueLength 15

StreamMaxLength 10M

LogSyslog false

LogFacility LOG_LOCAL6

LogClean false

LogVerbose false

PidFile /var/run/clamav/clamd.pid

DatabaseDirectory /var/lib/clamav

TemporaryDirectory /tmp

SelfCheck 3600

Foreground false

Debug false

ScanPE true

ScanOLE2 true

ScanHTML true

DetectBrokenExecutables false

MailFollowURLs false

ExitOnOOM false

LeaveTemporaryFiles false

AlgorithmicDetection true

ScanELF true

IdleTimeout 30

PhishingSignatures true

PhishingScanURLs true

PhishingRestrictedScan true

PhishingAlwaysBlockSSLMismatch false

PhishingAlwaysBlockCloak false

DetectPUA false

LogFile /var/log/clamav/clamav.log

LogTime true

LogFileUnlock false

LogFileMaxSize 0


Le fichier /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

LogVerbose false

LogSyslog false

LogFacility LOG_LOCAL6

LogFileMaxSize 0

LogTime no

Foreground false

Debug false

MaxAttempts 5

DatabaseDirectory /var/lib/clamav/

DNSDatabaseInfo current.cvd.clamav.net

AllowSupplementaryGroups false

PidFile /var/run/clamav/freshclam.pid

ConnectTimeout 30

ReceiveTimeout 30

ScriptedUpdates yes

CompressLocalDatabase no

NotifyClamd /etc/clamav/clamd.conf

# Check for new database 24 times a day

Checks 24

DatabaseMirror db.local.clamav.net

DatabaseMirror database.clamav.net


Les processus :

clamav 11947 1 1 11:16 ? 00:00:03 /usr/bin/freshclam -d --quiet

clamav 12423 1 0 11:17 ? 00:00:00 /usr/sbin/clamd


Les fichiers contenant les signatures des virus :

# ls -l /var/lib/clamav/

total 32768

-rw-r--r-- 1 clamav clamav 446221 2008-06-26 11:16 daily.cvd

-rw-r--r-- 1 clamav clamav 33062400 2008-06-26 11:16 main.cld

-rw------- 1 clamav clamav 52 2008-06-26 11:16 mirrors.dat


# cd /usr/share/clamav-testfiles/

# clamscan .

./clam.zip: ClamAV-Test-File FOUND

./clam.exe.bz2: ClamAV-Test-File FOUND

./clam.cab: ClamAV-Test-File FOUND

LibClamAV Warning: RAR code not compiled-in

./clam-v2.rar: OK

LibClamAV Warning: RAR code not compiled-in

./clam-v3.rar: OK

./clam.exe: ClamAV-Test-File FOUND


----------- SCAN SUMMARY -----------

Known viruses: 327691

Engine version: 0.93.1

Scanned directories: 1

Scanned files: 6

Infected files: 4

Data scanned: 0.00 MB

Time: 8.498 sec (0 m 8 s)


Remarque concernant les Warning sur RAR :

Attention : l'article qui suit fait référence à la version clamav-0.92, à la date de rédaction de ce document la dernière version à jour est : clamav-0.93.1




http://www.securiteinfo.com/divers/Clamav_LibClamAV_Warning_RAR_code_not_compiled-in.shtml


Clamav with Debian : LibClamAV Warning: RAR code not compiled-in


A non-GPL license

Since 0.92, Debian cannot distribute Clamav packages with the unrar 3.0 code compiled in for license reasons. Unrar 1.0 and 2.0 file format are still supported but unrar 3.0 is not compiled in by default anymore. At the moment, there is no debian official / volatile / backport / non-free / unofficial mirror that offers a clamav package with RAR 3.0 code built-in.


How do I know if my Clamscan handles RAR 3.0 or not ?

Download RAR 3.0 test file, check it with clamscan. Two results are possible :


The user's choice

To face to this problem, the user has 3 choices :


How to compile ?


Preparing the operating system

First of all, be sure to have at least a gcc compiler :

apt-get install gcc make

You could need other packages and devel packages :

apt-get install libwrap0 html2text libmagic1 libmilter0 libgmp3c2 file gettext bc libbz2-dev libmilter-dev libgmp3-dev libwrap0-dev zlib1g-dev


Get Clamav compile and install

cd /tmp
wget http://heanet.dl.sourceforge.net/sourceforge/clamav/clamav-0.92.tar.gz
tar xvzf clamav-0.92.tar.gz
cd clamav-0.92
./configure --prefix=/usr --mandir=$­{prefix}/share/man --infodir=$­{prefix}/share/info --disable-clamav --with-dbdir=/var/lib/clamav/ --sysconfdir=/etc/clamav --with-sendmail=/usr/sbin/sendmail --enable-milter --disable-clamuko --with-tcpwrappers --with-gnu-ld --with-dns --enable-dns-fix
/usr/bin/make CFLAGS="-Wall -g -O2" pkgdatadir=/var/lib/clamav/ all
/usr/bin/make install

If all above does not generate errors, then it should be fully operational. Check it by clamscan the clam.rar file.


Warranty

NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING OR MISUSING THIS SOFTWARE.


Arnaud Jacques
27th december 2007





SpamAssassin

SA travaille sur des heuristiques : base de règles empiriques permettant

de reconnaître des occurrences de spam dans les mail

Quand le motif d’une règle est reconnu dans un mail, un score est

affecté au mail

Chaque règle donne un score qui est additionné au score total

Plus le score total est élevé, plus le mail a une probabilité forte d’être un

Spam…


# apt-get install spamassassin

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances... Fait

Les paquets supplémentaires suivants seront installés :

libdigest-hmac-perl libdigest-sha1-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libnet-dns-perl

libnet-ip-perl libsocket6-perl libsys-hostname-long-perl liburi-perl libwww-perl

Paquets suggérés :

libio-socket-ssl-perl razor libnet-ident-perl libdbi-perl dcc-client pyzor libmail-dkim-perl

Paquets recommandés :

libhtml-format-perl spamc libmail-spf-query-perl re2c libsys-syslog-perl

Les NOUVEAUX paquets suivants seront installés :

libdigest-hmac-perl libdigest-sha1-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libnet-dns-perl

libnet-ip-perl libsocket6-perl libsys-hostname-long-perl liburi-perl libwww-perl spamassassin

0 mis à jour, 12 nouvellement installés, 0 à enlever et 1 non mis à jour.

Il est nécessaire de prendre 2200ko dans les archives.

Après dépaquetage, 6799ko d'espace disque supplémentaires seront utilisés.

Souhaitez-vous continuer [O/n] ?



Modifier le fichier /etc/default/spamassassin

ENABLED=1

Modifier le fichier /etc/spamassassin/local.cf

rewrite_header Subject *****SPAM*****

report_safe 1

required_score 5.0

use_bayes 1

bayes_auto_learn 1


Mise à jour des régles :

# sa-update -D



Amavisd-new

Amavisd-new est un scanneur de mail pour détecter virus et/ou

spams

Amavisd-new est une amélioration des versions précédentes, car il

est « daemonisé » (résident en mémoire et pré-forké i.e plusieurs

daemon en attente)

antispam

clamav)

serveur de mails

de non délivrance


# apt-get install amavisd-new

Lecture des listes de paquets... Fait

Construction de l'arbre des dépendances... Fait

Les paquets supplémentaires suivants seront installés :

libarchive-tar-perl libarchive-zip-perl libberkeleydb-perl libcompress-zlib-perl libconvert-binhex-perl

libconvert-tnef-perl libconvert-uulib-perl libio-multiplex-perl libio-stringy-perl libio-zlib-perl libmailtools-perl

libmime-perl libnet-cidr-perl libnet-server-perl libtimedate-perl libunix-syslog-perl

Paquets suggérés :

spamassassin lha arj unrar zoo nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl libdbi-perl

libio-string-perl libio-socket-ssl-perl

Les NOUVEAUX paquets suivants seront installés :

amavisd-new libarchive-tar-perl libarchive-zip-perl libberkeleydb-perl libcompress-zlib-perl libconvert-binhex-perl

libconvert-tnef-perl libconvert-uulib-perl libio-multiplex-perl libio-stringy-perl libio-zlib-perl libmailtools-perl

libmime-perl libnet-cidr-perl libnet-server-perl libtimedate-perl libunix-syslog-perl

0 mis à jour, 17 nouvellement installés, 0 à enlever et 1 non mis à jour.

Il est nécessaire de prendre 1772ko dans les archives.

Après dépaquetage, 5468ko d'espace disque supplémentaires seront utilisés.

Souhaitez-vous continuer [O/n] ?



La configuration se situe dans /etc/amavis/conf.d, elle est séparé en 7 fichiers :


01-debian : Rarement modifié
05-domain_id : detection automatique du domaine

Dans ce fichier , vous devez ajouter tous les domaines gérés mem les virtuels :
@local_domains_acl = ( ".$­mydomain",".dsl-fr.eu" ,".lindev.fr" ,".toto.com" );

05-node_id : detection automatique du nom d'hôte

Rien a faire dans ce fichier, juste vérifier que hostname --fqdn renvoie le bon nom

15-av_scanner : liens des antivirus installés (autodetection)

Rien à faire dans ce fichier si ce n'est vérifier que l'antivirus utilisé est décommenté

15-content_filter_mode : lignes à décommenter pour activer AV&SA

Décommenter ces deux lignes :
@bypass_virus_checks_maps = (
%bypass_virus_checks, @bypass_virus_checks_acl, $­bypass_virus_checks_re);

@bypass_spam_checks_maps = (
%bypass_spam_checks, @bypass_spam_checks_acl, $­bypass_spam_checks_re);

20-debian_defaults : Paramétres principaux à modifier/ajouter selon vos besoins

Voici les principaux paramétres que modifié :

$­mydomain='lindev.fr';
$­myhostname = 'spms.lindev.fr';

$­sa_tag_level_deflt = -100.0;

$­sa_tag2_level_deflt = 5;

$­sa_kill_level_deflt = 5;

$­final_virus_destiny = D_DISCARD;

$­final_banned_destiny = D_BOUNCE;

$­final_spam_destiny = D_BOUNCE;

$­final_bad_header_destiny = D_PASS;

Les notes positives tendent à définir le mail comme spam les note négatives en tendence à whitlister le mail

50-user : Paramétres perso

Pas de modification.
Toutes les options disponibles sont listés dans : /usr/share/doc/amavisd-new/examples



Configuration postfix :


Dans /etc/postfix/main.cf , on ajoute la ligne :

content_filter = smtp-amavis:[127.0.0.1]:10024


Dans le fichier /etc/postfix/master.cf, on ajoute les lignes :

( respecter l'espace blanc devant chaque -o, marque de continuité des lignes pour Postfix )

smtp-amavis unix - - y - 2 smtp

-o smtp_data_done_timeout=1200

-o disable_dns_lookups=yes


127.0.0.1:10025 inet n - y - - smtpd

-o content_filter=

-o local_recipient_maps=

-o relay_recipient_maps=

-o smtpd_restriction_classes=

-o smtpd_client_restrictions=

-o smtpd_helo_restrictions=

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o mynetworks=127.0.0.0/8

-o strict_rfc821_envelopes=yes


On relance le service postfix :

# postfix reload




Test de la configuration mise en place :


On envoie un mail à l'aide par exemple de la comande « mail » :

# mail root

Subject: 2

2

Cc:

Lecture du mail :

# mail -u linux1 ( dans cette configuration le compte root est aliasé sur le compte linu1 )

# mail -u linux1

Mail version 8.1.2 01/15/2001. Type ? for help.

"/var/mail/linux1": 1 message 1 new

>N 1 root@db41.exemple Thu Jun 26 14:08 26/1036 2

& 1

Message 1:

From root@db41.exemple.com Thu Jun 26 14:08:28 2008

X-Original-To: root@db41.exemple.com

X-Virus-Scanned: Debian amavisd-new at db41.exemple.com

X-Spam-Score: 2.898

X-Spam-Level: **

X-Spam-Status: No, score=2.898 tagged_above=2 required=6.31

tests=[NO_RELAYS=-0.001, TVD_SPACE_RATIO=2.899]

To: root@db41.exemple.com

Subject: 2

Date: Thu, 26 Jun 2008 12:08:18 +0000 (UTC)

From: root@db41.exemple.com (root)


2


Regardons les logs :


Jun 26 14:08:19 db41 amavis[16786]: (16786-01) (!!) ask_av (ClamAV-clamd) FAILED - unexpected result: /var/lib/amavis/tmp/amavis-20080626T140818-16786/parts: lstat() failed. ERRORn

Jun 26 14:08:19 db41 amavis[16786]: (16786-01) (!!) WARN: all primary virus scanners failed, considering backups

Jun 26 14:08:28 db41 postfix/smtpd[18554]: connect from unknown[127.0.0.1]

Jun 26 14:08:28 db41 postfix/smtpd[18554]: 5A1A396C4E: client=unknown[127.0.0.1]

Jun 26 14:08:28 db41 postfix/cleanup[18545]: 5A1A396C4E: message-id=<20080626120818.94C7096C48@db41.exemple.com>

Jun 26 14:08:28 db41 postfix/qmgr[18310]: 5A1A396C4E: from=, size=893, nrcpt=1 (queue active)

Jun 26 14:08:28 db41 postfix/smtpd[18554]: disconnect from unknown[127.0.0.1]

Jun 26 14:08:28 db41 amavis[16786]: (16786-01) Passed CLEAN, -> , Message-ID: <20080626120818.94C7096C48@db41.exemple.com>, mail_id: 4-qhPNkKTvRb, Hits: 2.898, queued_as: 5A1A396C4E, 9739 ms

Jun 26 14:08:28 db41 postfix/smtp[18547]: 94C7096C48: to=, orig_to=, relay=127.0.0.1[127.0.0.1]:10024, delay=9.9, delays=0.08/0.03/0.06/9.7, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=16786-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 5A1A396C4E)

Jun 26 14:08:28 db41 postfix/qmgr[18310]: 94C7096C48: removed

Jun 26 14:08:28 db41 postfix/local[18555]: 5A1A396C4E: to=, orig_to=, relay=local, delay=0.13, delays=0.06/0.04/0/0.03, dsn=2.0.0, status=sent (delivered to mailbox)

Jun 26 14:08:28 db41 postfix/qmgr[18310]: 5A1A396C4E: removed


La solution du problème est ici :

http://wiki.clamav.net/Main/AmavisdNew


# addgroup clamav amavis

Ajout de l'utilisateur « clamav » au groupe « amavis »...

Terminé.


Dans le fichier /etc/clamav/clamd.conf , verifier la présence de la ligne :

AllowSupplementaryGroups true


et redemarrer le service clamd :

# /etc/init.d/clamav-daemon restart


Plus de messages d'erreur dans les logs.


On teste l'envoie d'un virus :

On récupère sur le site : http://securite-informatique.info/virus/eicar/ le code de test :

X5O!P%@AP[4PZX54(P^)7CC)7}$­EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$­H+H*

qu'on insère dans un mail :


# mail root

Subject: test de virus

X5O!P%@AP[4PZX54(P^)7CC)7}$­EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$­H+H*

Cc:


On consulte les messages :

# mail -u linux1

Mail version 8.1.2 01/15/2001. Type ? for help.

"/var/mail/linux1": 3 messages 3 unread

>U 1 root@db41.exemple Thu Jun 26 14:17 27/1046 3

U 2 root@db41.exemple Thu Jun 26 14:20 27/1046 4

U 3 postmaster@db41.e Thu Jun 26 14:27 63/2029 VIRUS (Eicar-Test-Signature) in mail FROM LOCAL <root@db41.exemple.com>


& 3

Message 3:

From MAILER-DAEMON Thu Jun 26 14:27:07 2008

X-Original-To: postmaster@db41.exemple.com

Content-Type: multipart/mixed; boundary="----------=_1214483227-16785-0"

Content-Transfer-Encoding: 7bit

MIME-Version: 1.0

Date: Thu, 26 Jun 2008 14:27:06 +0200 (CEST)

From: "Content-filter at db41.exemple.com"

Subject: VIRUS (Eicar-Test-Signature) in mail FROM LOCAL

To:


This is a multi-part message in MIME format...


------------=_1214483227-16785-0

Content-Type: text/plain; charset="iso-8859-1"

Content-Disposition: inline

Content-Transfer-Encoding: 7bit


A virus was found: Eicar-Test-Signature


Scanner detecting a virus: ClamAV-clamd


Content type: Virus (9,0)

Internal reference code for the message is 16785-03/gM-zhuTSP4yz



Return-Path:

Message-ID: <20080626122706.632F596C4D@db41.exemple.com>

Subject: test de virus

The message has been quarantined as: virus-gM-zhuTSP4yz


The message WAS NOT relayed to:

:

254 2.7.1 Ok, discarded, id=16785-03 - VIRUS: Eicar-Test-Signature


Virus scanner output:

p001: Eicar-Test-Signature FOUND

Virus scanner output:

p001: Eicar-Test-Signature FOUND



------------=_1214483227-16785-0

Content-Type: text/rfc822-headers; name="header"

Content-Disposition: inline; filename="header"

Content-Transfer-Encoding: 7bit

Content-Description: Message headers


Return-Path:

Received: by db41.exemple.com (Postfix, from userid 0)

id 632F596C4D; Thu, 26 Jun 2008 12:27:06 +0000 (UTC)

To: root@db41.exemple.com

Subject: test de virus

Message-Id: <20080626122706.632F596C4D@db41.exemple.com>

Date: Thu, 26 Jun 2008 12:27:06 +0000 (UTC)

From: root@db41.exemple.com (root)


------------=_1214483227-16785-0--


et dans les logs /var/log/mail.log :

...

Jun 26 14:27:07 db41 postfix/smtpd[19635]: 8C02996C4F: client=unknown[127.0.0.1]

Jun 26 14:27:07 db41 postfix/cleanup[19630]: 8C02996C4F: message-id=

Jun 26 14:27:07 db41 postfix/qmgr[18310]: 8C02996C4F: from=<>, size=1929, nrcpt=1 (queue active)

Jun 26 14:27:07 db41 amavis[16785]: (16785-03) Blocked INFECTED (Eicar-Test-Signature), -> , quarantine: virus-gM-zhuTSP4yz, Message-ID: <20080626122706.632F596C4D@db41.exemple.com>, mail_id: gM-zhuTSP4yz, Hits: -, 1200 ms

Jun 26 14:27:07 db41 postfix/smtp[19632]: 632F596C4D: to=, orig_to=, relay=127.0.0.1[127.0.0.1]:10024, delay=1.3, delays=0.08/0.03/0.04/1.2, dsn=2.7.1, status=sent (254 2.7.1 Ok, discarded, id=16785-03 - VIRUS: Eicar-Test-Signature)

...