Ceci est une ancienne révision du document !
Table des matières
Configurer un antivirus et antispam sur votre serveur de mail
Comme vous avez pu le voir sur la page précédente, certaines directives de la configuration de postfix appellent amavis pour le filtrage du contenu.
Amavis peut être perçu comme un conteneur pouvant contenir … ce que l'en veut … pour filtrer le contenu des mails. L'idée est donc d'utiliser ce conteneur pour effectuer sur les mails :
- du filtrage antispam avec spamassassin
- du filtrage de virus avec clamav
Le configuration sera la suivante : utilisation de clamav en démon, mais utilisation de spamassassin sans utiliser le démon pour des raisons de performance.
Les bases de signature de virus de clamav seront mises a jour grâce à clamav-freschlam.
Prérequis
Comme d'habitude nous nous baserons sur une machine en debian stable (squeeze à l'heur ou j'écris ces lignes).
L'utilisation de l'antispam va générer pas mal de requêtes DNS, il est donc fortement conseillé d'avoir un serveur/cche DNS local sur ce serveur.
Installation de base
# apt-get install amavisd-new clamav clamav-freshclam clamav-daemon spamassassin
Installation(s) optionnelle(s)
Archives en pièce jointe
Si vous souhaitez que clamav puisse regarder a l'intérieur des pièces jointes compressées pour y chercher des virus, il est conseillé d'installer les paquets suivants. Vous pouvez néanmoins réduire cette liste si vous ne souhaitez pas gérer tous les types d'archives ci dessous.
# apt-get install arj unrar-free zoo nomarch lzop cabextract p7zip
Si vous avez ajouté les depots non-free, vous pouvez utiliser cette commande à la place :
apt-get install lha arj unrar zoo nomarch lzop cabextract p7zip
Partition dédiée à la quarantaine
Si comme moi vous souhaitez utiliser une partition séparée pour la quarantaine (dans mon cas un Logical Volume LVM de 500 Mo sur le Volume Group vg0) :
# lvcreate -n virusmails -L 500M vg0 # mkfs.ext4 /dev/vg0/virusmails # echo "/dev/vg0/virusmails /var/lib/amavis/virusmails ext4 defaults 0 2" >> /etc/fstab # mount /var/lib/amavis/virusmails # chown amavis:amavis /var/lib/amavis/virusmails
Répertoires temporaires d'amavis en tmpfs
Pour gagner en performance on peut utiliser des partitions tmpfs pour les fichiers temporaires d'amavis. Ainsi les acces se feront en mémoire et non plus sur le disque.
- stopper amavis s'il est démarré :
# /etc/init.d/amavis stop
- déclarer ces partitions dans le fichier /etc/fstab (adaptez les tailles au besoin) :
# cat << EOF >> /etc/fstab tmpfs /var/lib/amavis/db tmpfs rw,size=10m,mode=750,uid=amavis,gid=amavis 0 0 tmpfs /var/lib/amavis/tmp tmpfs rw,size=150m,mode=770,uid=amavis,gid=amavis 0 0 EOF
- monter ces partitions :
# mount /var/lib/amavis/db # mount /var/lib/amavis/tmp
- redémarrer amavis :
# /etc/init.d/amavis start
Pas de compilation des règles spamassassin
Pour gagner en performance on peut aussi choisir de compiler les règles spamassassin. Ce choix n'a pas été fait pour ne pas avoir a installer “inutilement” un compilateur sur un serveur.
Configuration initiale
Configuration de clamav
- ajouter l’utilisateur clamav au groupe amavis :
# adduser clamav amavis
- La configuration par défaut de clamd conviendra
Configuration de clamav
- Modifier le fichier /etc/clamav/freshclam.conf pour utiliser en plus un miroir de signature français, et notifier le demon clamd qu'une mise a jour de la base de signature à été effectuée, par exemple à l'aide de la commande suivante :
# cat << EOF >> /etc/clamav/freshclam.conf DatabaseMirror db.fr.clamav.net NotifyClamd /etc/clamav/clamd.conf EOF
<note>la directive NotifyClamd prend bien comme valeur l'emplacement du fichier de configuration de clamd, ca n'est pas une erreur, l'application se chargeant d'aller parcourir ce fichier pour y trouver l'emplacement du socket à utiliser</note>
- Il ne reste plus qu'a redémarrer ces services pour prendre cette configuration en compte :
# /etc/init.d/clamav-freshclam restart # /etc/init.d/clamav-daemon restart
TODO: finir