depuis le 3/10/2001
Préambule: Pourquoi ces quelques
lignes?..... parceque pour se prémunir des 99% de virus
qui nous parviennent par mail, un seul antivirus au niveau d'un seul serveur
de Mail, c'est quand même plus logique, moins couteux bref mieux
que 200 antivirus probablement (mais pas sûr) installés sur
200 PC de 200 utilisateurs... Attention ce que je dis ne dispense pas les
200 utilisateurs d'installer leur antivirus sur leur PC windolookexpress...
mais enfin au niveau du serveur de Mail l'antivirus, va écrémer
pas mal le tas de saletés W32/xxxx qu'on recoit!
M'enfin à part sophos y en a plein d'autres qui tournent sur Unix de nos jours...McAfee Virusscan, Kaspersky Anti-Virus (AVPDaemon) , DataFellows F-Secure, Trend Micro CyberSoft vfind , FileScanner, CAI InoculateIT , GeCAD RAV AntiVirus 8 ....lors de l'installation, Amavis détecte automatiquement la présence de ces antivirus sur le serveur.
NB: pour savoir la version de votre librairie "C" du système, il suffit de le voir par
$ ll /lib/libc.so.*
Comme le dit shakespeare : "Amavis
ensure attachments coming via email are scanned for viruses before they
reach
a system they are able to infect" ...
When a mail arrives, instead of being delivered via procmail directly,
is parsed through a script that extracts all attachments from the mail,
unpacks (if needed) and scannes them using a professional virus scanner
program (sophos par exemple ou tout autre antivirus qui marche sur plateforme
Un*X comme Linux).
Comme amavis va chercher les virus à
l'intérieur de fichiers attachés, eh bien il faut qu'il puisse
les décompresser...Amavis doit donc comprendre comment décompresser
les zip, bzip, gzip, compress, rar, exe, zoo, et tout ce merdier
Il lui faut donc pas mal de modules de
décompression de la librairie Perl.
Unix::Syslog
Convert::UUlib
Convert::TNEF
Compress::Zlib
Archive::Tar
Archive::Zip
G/GB/GBARR/MailTools-1.15.tar.gz
MIME::Tools
Bundle::libnetPour ce faire: aller sur un serveur d'archive Perl CPAN, ils sont classés par Modules
http://www.cpan.org/ ou bien comme on est français c'est mieux sur un mirroir bien de chez nous...une fois que le module est récupéré sous forme de fichier.tar.gz ex:Syslog-0.96.tar.gzexemple pour chercher le module Syslog de la bibliothèque Unix
ftp://ftp.lip6.fr/pub/perl/CPAN/
ftp://ftp.lip6.fr/pub/perl/CPAN/modules/by-module/
ftp://ftp.lip6.fr/pub/perl/CPAN/modules/by-module/Unix/pour l'installer il suffit de faire
- tar zxvf Syslog-0.96.tar.gz
- perl Makefile.PL
- make
- make test
- make install
Amavis - Installation
Une fois que tous les modules Perl ci dessus ont été installés, Premièrement un... bien lire le fichier README.postfix... [....ce qui suit n'en est qu'un résumé ]Dans ce fichier, on lit qu'il ya 3 façon d'intaller Amavis pour qu'il marche avec Postfix.....
i) ne scanne QUE les mails reçus et pas ceux en partance
- La 2eme facon : est abandonnée on n'en parle plus (lu dans les FAQ),
- la 1ere façon : (scanning incoming mail only) n'est pas très efficace et a beaucoup d'inconvénients car elle
ii) le scan de mail se fait sous l'identité du destinataire du mail, ce qui oblige à mettre certains répertoires propres à Amavis en "world writable 1777"
iii) les mails sont scannés aurtant de fois que ce qu'il ya de destinataires (1 mail identique envoyé à 20 personnes est scanné 20 fois)...conclusion on laisse tomber cette méthode de flan....
qui est décrite ci dessous...très simple à mettre en oeuvre il suffit de lire le README.postfix
- Reste la 3ème façon : appelée "Using the content filtering interface of newer postfix snapshots"
i). cd ~/amavis-perl-11
ii). configure --enable-postfix --enable-smtp (NDLR: ne pas oublier --enable-smtp comme moi sinon ca ne marche pas... vous cherchez 2 heures, et vous êtes très énervé.... )
iii) make clean; make; make installLe script de configuration de Amavis détecte AUTOMATIQUEMENT le ou les antivirus que vous avez installés au préalable... ca fait u petit rapport de synthèse
==> En bout de course,** Configuration summary for amavis perl-11 2001-04-07:Install amavis as: /usr/sbin/amavis
Configured for use with: postfix
Relay configuration: no
Enable SMTP: yes
Use SMTP port: 10025
Use virus scanner(s): Sophos Sweep
Scanner runs as: vscan
Logging to syslog: yes
Quarantine directory: /var/virusmails
Max. recursion depth: 20
Add X-Virus-Scanned header: yes
Display AMaViS credits: no
Warn sender: yes
Reports sent to: virusalert
Reports sent by: postmaster
- ca génère un script Perl qui s'appelle /usr/sbin/amavis
- les fichiers de mails contenant un virus sont mis en quarantaine dans /var/virusmails
- les permissions de /var/virusmails devraient être
drwxrwx--- 2 vscan vscan 250 oct 3 14:43 /var/virusmails/fini! ca fait beaucoup de blabla pour pas grand chose hein?
sur http://www.postfix.org/ftp-sites.htmlNDLR: si comme moi vous testez à partir d'une Mandrake7.2 dans laquelle par défaut ya une version de Postfix1999... eh bien... ca ne marche pas (cette version ne reconnait pas l'option content-filter)...du coup vous cherchez pendant 2 heures pourquoi ca ne marche pas, et vous êtes très enervé... et après on dit que vous avez une sale gueule d'aministrateur système pas sympa...pourtant sur la photo je souris )
plus près de nous mon Dieu... ftp://ftp.oav.net/postfix/index.html
content_filter = vscan: [ <------ avec les : ]
NDLR: ne vous trompez pas comme moi, en oubliant un petit espace " " en début des lignes que vous rajoutez dans le fichier master.cf, sans quoi la dite ligne est prise comme une "continuation" de la ligne précédente.... oui ca m'est arrivé... et ca marchait pas, et j'ai mis 1heure à trouver pourquoi, et j'étais très enervé et j'avais la gueule de l'administrateur système qui fait peur aux utilisateurs
c'est tout!!!!!!
Ca vient du fait
que postfix lancé par amavis sur le port 10025 s'exécute
avec comme adresse source de destinataire localhost.localdomain...
et bien sur je n'avais pas mis cette adresse dans la variable
mynetworks
de postfix... Donc postfix ne relayait pas les messages en partance avec
comme adresse d'origine localhost.localdomain
Amavis est donc
bien lancé, il scanne les mails grace sophos, mais je ne recois
pas de message de notification...
Le mieux est d'aler
voir et vérifier COMMENT /usr/sbin/amavis lance la commande sendmail,
et de s'assurer que le programme est bien à l'endroit indiqué...
Amavis par defaut var chercher sendmail dans /usr/lib/sendmail, or POstfix
l'installe dans /usr/sbin/sendmail... Il faut donc faire le nécessaire...
soit
modifier la variable
dans amavis... soit faire un lien
my $LOGDIR = "/var/amavis";
my $LOGFILE = "amavis.log";
my $log_level = 0;
# Add X-Virus-Scanned line
to mail?
my $X_HEADER = "yes";
my $X_HEADER_TAG = "X-Virus-Scanned";
my $X_HEADER_LINE = "by
AMaViS perl-11";
# What sendmail wrapper to
use
my $sendmail_wrapper = "/usr/sbin/sendmail";
my $sendmail_wrapper_args
= "-i -t";
System time 15:50:39, System date 03 October 2001
Product version
: 3.49
Engine version
: 2.6
User interface version
: 2.03.077
Platform
: Linux/Intel
Released
: 03 September 2001
Total viruses (with IDEs)
: 67221
moi pour pas mettre la zone noire sur
mon serveur de mail en production, j'ai testé amavis+postfix sur
mon propre PC dont le nom IP est pcmomo.com.univ-mrs.fr... par défaut
la conf de ce PC qui est un Null client, renvoie tout les mails partant
et arrivant à un serveur de mail officiel du labo relayhost=mailhost.com.univ-mrs.fr
Pour tester amavis, sur mon propre PC sans avoir d'interaction avec le serveur de mail officiel :
ainsi je peux tester l'envoi de message
à un utilisateur local toto@pcmomo.com.univ-mrs.fr en lui envoyant
une piece jointe avec un virus dedans...sans passer par le relayhost
echo "test antivirus" | mutt -s"test amavis" toto@pcmomo.com.univ-mrs.fr -a ./fichier-virus.txtML le 03/10/2001dans les logs de postfix, on doit voir ce qui se passe
from=<Maurice.Libes@com.univ-mrs.fr>, size=784, nrcpt=1 (queue active)
Oct 4 12:59:44 compc32 amavis[9174]: starting. amavis perl-11 Wed Oct 3 10:22:46 CEST 2001
Oct 4 12:59:45 compc32 amavis[9174]: Virus found - quarantined as virus-20011004-125945-9174
Oct 4 12:59:45 compc32 postfix/pickup[8946]: 5F1F7212B1: uid=12348 from=<postmaster>
Oct 4 12:59:45 compc32 postfix/cleanup[9171]: 5F1F7212B1: message-id=<20011004105945.5F1F7212B1@pcml.com.univ-mrs.fr>
Oct 4 12:59:45 compc32 postfix/qmgr[589]: 5F1F7212B1: from=<postmaster@com.univ-mrs.fr>, size=1270, nrcpt=1 (queue active)
Oct 4 12:59:45 compc32 postfix/pickup[8946]: 7966B212B4: uid=12348 from=<postmaster>
Oct 4 12:59:45 compc32 postfix/cleanup[9171]: 7966B212B4: message-id=<20011004105945.7966B212B4@pcml.com.univ-mrs.fr>
Oct 4 12:59:45 compc32 postfix/qmgr[589]: 7966B212B4: from=<postmaster@com.univ-mrs.fr>, size=1347, nrcpt=1 (queue active)
Oct 4 12:59:45 compc32 amavis[9174]: do_exit:465 - ending execution with 0
Oct 4 12:59:45 compc32 postfix/pipe[9173]: BBBFF21292: to=<pat@pcml.com.univ-mrs.fr>, relay=vscan, delay=2, status=sent (pcml.com.univ-mrs.fr)
Oct 4 12:59:47 compc32 amavis[9183]: starting. amavis perl-11 Wed Oct 3 10:22:46 CEST 2001
Oct 4 12:59:47 compc32 amavis[9185]: starting. amavis perl-11 Wed Oct 3 10:22:46 CEST 2001
Oct 4 12:59:48 compc32 postfix/smtpd[9193]: connect from localhost.localdomain[127.0.0.1]
Oct 4 12:59:48 compc32 postfix/smtpd[9193]: 80C9F212B7: client=localhost.localdomain[127.0.0.1]
Oct 4 12:59:48 compc32 postfix/cleanup[9171]: 80C9F212B7: message-id=<20011004105945.5F1F7212B1@pcml.com.univ-mrs.fr>
Oct 4 12:59:48 compc32 postfix/smtpd[9194]: connect from localhost.localdomain[127.0.0.1]
Oct 4 12:59:48 compc32 postfix/qmgr[589]: 80C9F212B7: from=<postmaster@com.univ-mrs.fr>, size=1507, nrcpt=1 (queue active)
Oct 4 12:59:48 compc32 postfix/smtpd[9193]: disconnect from localhost.localdomain[127.0.0.1]
Oct 4 12:59:48 compc32 amavis[9183]: do_exit:416 - ending execution with 0
Oct 4 12:59:48 compc32 postfix/pipe[9181]: 5F1F7212B1: to=<Maurice.Libes@com.univ-mrs.fr>, relay=vscan, delay=3, status=sent (pcml.com.univ-mrs.fr)
Oct 4 12:59:48 compc32 postfix/smtpd[9194]: 93044212B9: client=localhost.localdomain[127.0.0.1]
Oct 4 12:59:48 compc32 postfix/cleanup[9171]: 93044212B9: message-id=<20011004105945.7966B212B4@pcml.com.univ-mrs.fr>
Oct 4 12:59:48 compc32 postfix/qmgr[589]: 93044212B9: from=<postmaster@com.univ-mrs.fr>, size=1581, nrcpt=1 (queue active)
Oct 4 12:59:48 compc32 postfix/smtpd[9194]: disconnect from localhost.localdomain[127.0.0.1]
Oct 4 12:59:48 compc32 amavis[9185]: do_exit:416 - ending execution with 0
Oct 4 12:59:48 compc32 postfix/pipe[9184]: 7966B212B4: to=<virusalert@com.univ-mrs.fr>, relay=vscan, delay=3, status=sent (pcml.com.univ-mrs.fr)
Oct 4 12:59:52 compc32 postfix/smtp[9197]: 80C9F212B7: to=<Maurice.Libes@com.univ-mrs.fr>, relay=com1.com.univ-mrs.fr[139.124.2.100], delay=4, status=sent (250 Ok: queued as 40694200AA)
Oct 4 12:59:56 compc32 postfix/smtp[9199]: 93044212B9: to=<virusalert@com.univ-mrs.fr>, relay=com1.com.univ-mrs.fr[139.124.2.100], delay=8, status=sent (250 Ok: queued as 4E8A72053E)
![]() |
![]() |