-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le Mercredi 11 D�cembre 2002 14:54, Alain Siani a �crit :
> Je veux bien jeter un oeil a la doc :)
>
> Sophos est gratuit ?
Non, mais VRAIMENT pas cher. Et bien. Et il tourne sous Linux, se met � jour 
toutes les nuits (J'ai un script qui fait �a, mais il ne doit pas �tre livr� 
en standard)
Je tourne n�anmoins avec une d�mo depuis longtemps... J'ai pas encore fait les 
d�marches.


La doc :

- ------------------------------------------------------------------------->

Postfix - AMaViS


POSTFIX


R�cuperer le rpm (postfix-20001217-8 ou sp�rieur) sur 
http://rpmfind.net/linux/RPM ou http://fr2.rpmfind.net


Pr�paration


postfix et sendmail ne peuvent cohabiter en rpm sur la meme machine. Il faut 
donc enlever sendmail du serveur avant de pouvoir mettre postfix.


 Note : Il faut faire une sauvegarde des fichiers de configuration de sendmail 
:
/etc/sendmail.cf
 /etc/aliases
 /etc/revaliases


Pour enlever sendmail:


# rpm -e sendmail


Installation de postfix


# rpm -Uvh postfix-xxxx.rpm


De nombreux programmes font appel � sendmail via /usr/lib/sendmail qui n'est 
pas install� par Postfix. Il faut donc faire un lien:


# ln -s /usr/sbin/sendmail /usr/lib/sendmail


Configuration


Les fichiers de configuration de postfix se trouvent dans /etc/postfix. La
 configuration de postfix se d�compose en 2 fichiers:

main.cf qui permet de configurer postfix proprement dit
master.cf qui permet de configurer l'interaction de postfix avec
 d'�ventuel process externe (serveur smtp, antivirus, etc.)

Dans main.cf il faut modifier:

mydomain : nom du domaine principal du serveur
mynetworks : contient la liste des IP/reseaux qui sont autoris� a envoyer des
 mail a partir du serveur (pour l'anti-relay)
myorigin : quand un utilisateur local envoie un mail, au lieu de mettre
 [EMAIL PROTECTED], postfix peut remplacer
 nommachine.domaine.top par un autre domaine (domain.top, par exemple)
mydestination : liste des domaines mail g�r�s par le serveur
 (mail.domain.com, www.domain.com, domain.com, etc.)
alias_map : emplacement du fichier d'alias (hash:/etc/postfix/aliases)
alias_database : idem aliasmap
sender_canonical_map : emplacement du fichier de revaliases 
(hash:/etc/postfix/revaliases)
biff = no : pour �viter les messages d'alerte biff dans les logs (d�sactive la 
fonctionnalit�)
soft-bounce = YES

Les fichiers aliases et revaliases sont � compiler avec postmap :


# postmap hash:/etc/postfix/aliases
 # postmap hash:/etc/postfix/revaliases


Lancement


 Le script de d�marrage /etc/rc.d/init.d/postfix prend les m�mes arguments que 
le binaire /usr/sbin/postfix :


# /etc/rc.d/init.d/postfix
 Usage: postfix {start|stop|restart|reload|abort|flush|check|status}


V�rifier d'�ventuelles erreurs dans /var/log/maillog


V�rifier le lancement automatique au d�marrage :


# chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off


Exemple de configuration


[root@callisto /root]# egrep -v "^#|^$" /etc/postfix/main.cf
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
mail_owner = postfix
mydomain = sous-domaine.domaine.fr
myorigin = $mydomain
mydestination = domaine.fr, sous-domaine.domaine.fr,
                           machine.sous-domaine.domaine.fr
sender_canonical_maps = hash:/etc/postfix/revaliases
alias_maps = hash:/etc/postfix/aliases, hash:/var/mailman/data/aliases
alias_database = hash:/etc/postfix/aliases, hash:/var/mailman/data/aliases
mynetworks = 193.XXX.XXX.0/24, sous-domaine.domaine.fr,127.0.0.0/8
local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debug_peer_level = 2
debugger_command =
         PATH=/usr/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5
content_filter= vscan:
default_mailbox_size = 20480000
mailbox_size_limit = 20480000
message_size_limit = 20480000
biff = no
[root@callisto /root]#





AMaViS - A Mail Virus Scanner


R�cup�rer AMaViS (amavisd-snapshot-200105xx ou sup�rieur) en tar.gz sur 
http://www.amavis.org


Note : la version AMaViS/daemon est beaucoup plus rapide que la version 
AMaViS/perl


Principe


Les dernieres versions de postfix permettent d'utiliser un analyseur de 
contenu automatiquement grace a l'instruction content_filter de main.cf (dans 
notre cas, c'est AMaViS). A la r�ception d'un mail, postfix fait appel � 
AMaViS, puis AMaViS le r�-injecte en smtp � postfix qui ensuite le 
redistribut. Si un virus est trouv�, AMaViS le met en quarantaine et envoie 
les mails de notifications.


Antivirus


Les antivirus doivent �tre install�s avant AMaViS car le ./configure d'AMaViS 
d�tecte les antivirus et les configure ad-hoc.

McAfee Viruscan: ???
sophos: http://www.sophos.fr
...Plein d'autres ....

Compilation / installation


D�compresser le .tar.gz d'amavis dans un repertoire temporaire


Pr�paration


AMaViS requiert des modules Perl (� prendre sur http://kobesearch.cpan.org), 
et � installer dans cet ordre :

Archive-Tar
Compress-Zlib
Archive-Zip
Bundle-libnet
IO-stringy
Syslog
MIME-Base64
libnet
MailTools
MIME-tools version 5.313 or better (!!)
Convert-TNEF 0.06 or better (!!)
Convert-UUlib


Pour chaque module Perl :


 # tar xf <module>.tar
 # cd <module>
 # perl Makefile.PL
 # make
 # make test
 # make install

(On peut aussi lancer perl avec cette ligne de commande:
 # perl -MCPAN -e shell
Puis faire:
CPAN> i nom_du_module
Pour avoir de l'info sur le nom exact des modules, puis
CPAN>install nom_module )


AMaViS requiert �galement des archiveurs (� prendre sur 
http://rpmfind.net/linux/RPM) :

lha
zoo
unrar
unarj

Compilation


 # ./configure --enable-postfix --enable-syslog --enable-smtp \
 --with-amavis-user=vscan -with-warnrecip


Installation


Ajouter un utilisateur 'vscan' sans droits administrateur:


# groupadd -g 56 vscan
 # adduser -u 56 -g 56 -c "Utilisateur amavis" -d /var/amavis \
 -s /bin/bash -n vscan


Puis pour finir:


# make install


Mise en route


AMaViS se lance par la commande :


su - vscan -c "/usr/sbin/amavisd >/dev/null 2>&1"


Le script de lancement /etc/rc.d/init.d/amavis permet de d�marrer l'antivirus 
au boot de la machine. Il doit �tre lancer avant Postfix (et arr�ter apr�s 
Postfix) :



# chkconfig --level 2345 amavis on
 # chkconfig --level 016 amavis off
 # chkconfig --list amavis
amavis 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# cd /etc/rc.d/
 # ls -l */*amavis* */*postfix*
 ls -l */*amavis* */*postfix*
 -rwxr-xr-x 1 root root 1197 Dec 21 15:37 init.d/amavis
 -rwxr-xr-x 1 root root 1510 Jan 4 2001 init.d/postfix
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc0.d/K30postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 16 Jan 3 14:39 rc0.d/K31amavis -> ../init.d/amavis
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc1.d/K30postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 16 Jan 3 14:39 rc1.d/K31amavis -> ../init.d/amavis
 lrwxrwxrwx 1 root root 16 Oct 9 09:27 rc2.d/S65amavis -> ../init.d/amavis
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc2.d/S80postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 16 Oct 9 09:27 rc3.d/S65amavis -> ../init.d/amavis
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc3.d/S80postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 16 Oct 9 09:27 rc4.d/S65amavis -> ../init.d/amavis
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc4.d/S80postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 16 Oct 9 09:27 rc5.d/S65amavis -> ../init.d/amavis
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc5.d/S80postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 17 Oct 1 18:24 rc6.d/K30postfix -> ../init.d/postfix
 lrwxrwxrwx 1 root root 16 Jan 3 14:39 rc6.d/K31amavis -> ../init.d/amavis



Ne pas n�gliger de faire cette v�rification. Cela �vite quelques soucis au 
red�marrage du serveur !!!


 Pour lancer AMaViS avant PostFix, v�rifier dans les scripts de d�marrage 
(/etc/rc.d/init.d) que le num�ro d'ordre de lancement pour AMaVis soit 
inf�rieur � celui de PostFix et inverssement pour l'arr�t :


# grep chkconfig init.d/amavis init.d/postfix
init.d/amavis:# chkconfig: - 65 31
init.d/postfix:# chkconfig: 2345 80 30



Configuration d'amavisd


Le script configure a cr�� un fichier /etc/amavisd.conf qui convient � toutes 
les configurations.


le fichier /etc/amavisd.conf doit �tre lisible par le user vscan.A priori, il 
doit appartenir � vscan !



# ll /etc/amavisd.conf
- -rw------- 1 vscan root 2903 Dec 19 13:11 /etc/amavisd.conf





Post installation


Il convient de :

programmer le nettoyage automatique des mails infect�s collect�s par AMaViS 
dans /var/amavis/virusmails avec le script amavisclean.sh
 AMaViS conserve les fichiers infect�s pour anayle. Mais ceux-ci peuvent faire 
plusieurs Ko voire plusieurs Mo. D'o� l'importance de les nettoyer 
r�guli�rement.

# crontab -l | grep "amavis"
0 5 * * 1 /usr/local/bin/amavisclean.sh

programmer la rotation des logs d'AMaViS :

# cat /etc/logrotate.d/amavisd
/var/amavis/amavis.log {
    missingok
    compress
    size=200k
}


Configuration de Postfix & AMaViS


Elle consiste en l'ajout de quelques lignes de param�tres dans les fichiers de 
configuration de postfix (main.cf et master.cf) :


Ajouter dans /etc/postfix/main.cf :


content_filter = vscan:


Ajouter dans /etc/postfix/master.cf :


# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (50)
# ==========================================================================
vscan     unix  -       n       n        -       10     pipe user=vscan
    argv=/usr/sbin/amavis ${sender} ${recipient}
localhost:10025  inet n -       n        -       -      smtpd
    -o content_filter=



McAfee Viruscan


R�cup�rer le programme d'installation  :


vlnx414l.tar.Z (Obsol�te... Google est ton ami ! Je tourne personnellement 
avec des demos depuis... heu... Longtemps.)


Extraire les fichiers dans un r�pertoire temporaire et lancer l'installeur :


 # mkdir /tmp/installuvscan
 # cd /tmp/installuvscan
 # tar zxvf /usr/local/src/vlnx414l.tar.Z scan.dat
 names.dat
 clean.dat
 readme.txt
 license.txt
 reseller.txt
 unxadmin.pdf
 uvscan.1
 liblnxfv.so
 uvscan
 messages.dat
 license.dat
 install-uvscan
 uninstall-uvscan
# ./install-uvscan
Which directory do you want to install into? [/usr/local/uvscan]
/usr/local/uvscan doesn't exist. Create it? [y]/n y
 Do you want a link to uvscan placed in /usr/local/bin [y]/n y
 Do you want a link to liblnxfv.so placed in /usr/local/lib [y]/n y
 Do you want a link to uvscan.1 placed in /usr/local/man/man1 [y]/n y

 Installation completed.

 Do you want to perform a scan of all filesystems y/[n]
# cd
 # /bin/rm -rf /tmp/installuvscan


Il faut ensuite programmer la mise � jour automatique des signatures de virus. 
Le programme update_vscan.sh permet de r�cup�rer et installer ces mises � 
jour.


 # crontab -l | grep "uvscan"
0 5 * * 1 /usr/local/uvscan/update_vscan.sh


Auteurs:

Arnaud Ab�lard
 Herv� Pinvidic
(Universit� de Nantes)

- ------------------------------------------------------------------->

Et voilou !
Merci aux auteurs, des coll�gues !
Il manque encore des choses, mais d�j�, �a fait du boulot, on fera le WebMail 
apr�s :-)

- --
   ,,
  ( �>  Nicolas Costes
  /||\    IUT de La Roche / Yon
 ( ^ )   [EMAIL PROTECTED]
  ^ ^    http://luxregina.free.fr

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE991ImDeRAHGw6DGURArDdAJ0cney3F1/g2R449+E0Tdx4Rurd1gCfZ65Q
cmeKNsTOnCcfrToz+p3BYU8=
=FdcS
-----END PGP SIGNATURE-----


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à