-----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";

Reply via email to