Plesk 12 offre le GreyListing par défaut. Il ne reste ainsi plus qu’à installer ClamAV en remplacement de l’anti-virus par défaut de Plesk pour protéger notre messagerie.

La marche à suivre ci-dessous a été testée sur une machine avec Centos 7 (64 bits) et Plesk 12.0.18.

- Plesk: Remplacer qmail par Postfix

Afin d’installer Postfix, il suffit d’exécuter l’AutoInstaller en ligne de commande et de sélectionner Postfix.

/usr/local/psa/bin/autoinstaller

- Configurer YUM pour utiliser les packages de Atomic Rocket Turtle (repository)

wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh

- Désinstaller DrWeb

Via Plesk Panel > Tools & Settings > Updates and Upgrades

Sous Add/Remove Components, définir “Not installed” en face de Mail Hosting Features > Parallels Premium antivirus

plesk-antivirus_psa_installer.png

http://kb.odin.com/en/113611

- Installer de quoi builder ClamSMTP

yum install rpm-build automake autoconf gcc

- Installer ClamAV

yum install clamav clamd

- Installer ClamSMTP

Télécharger la dernière version sur http://www.inet.lt/clamsmtp/.

Note: les path ./rpmbuild/*/ peuvent varier en fonction de votre distribution.

rpm -ivh http://www.inet.lt/clamsmtp/clamsmtp-1.10-1.src.rpm
cd ./rpmbuild/SPECS/
rpmbuild -bb clamsmtp.spec
cd ../RPMS/x86_64
rpm -ivh clamsmtp-1.10-1.i386.rpm

- Configurer Postfix

postconf -e "content_filter = scan:[127.0.0.1]:5025"
vi /etc/postfix/master.cf

Ajouter les lignes suivantes dans le fichier master.cf:

# AV scan filter (used by content_filter)
scan unix - - n - 16 smtp
        -o smtp_send_xforward_command=yes
        -o smtp_enforce_tls=no
# For injecting mail back into postfix from the filter
127.0.0.1:5026 inet n - n - 16 smtpd
 -o content_filter=
 -o smtpd_helo_restrictions=
 -o smtpd_sender_restrictions=
 -o smtpd_recipient_restrictions=permit_mynetworks,reject
 -o mynetworks=127.0.0.0/8
 -o smtpd_error_sleep_time=0
 -o smtpd_soft_error_limit=1001
 -o smtpd_hard_error_limit=1000
 -o receive_override_options=no_header_body_checks
 -o smtpd_helo_required=no
 -o smtpd_client_restrictions=
 -o smtpd_restriction_classes=
 -o disable_vrfy_command=no
 -o strict_rfc821_envelopes=yes

- Configurer ClamSMTP

vi /etc/clamsmtpd.conf

Modifier les lignes suivantes:

OutAddress: 127.0.0.1:5026
Listen: 0.0.0.0:5025
ClamAddress: /tmp/clamd.socket
Action: drop
User: clamav

Note: la socket (ligne “ClamAdress:”) doit correspondre au contenu de /etc/clamd.conf

- Configurer ClamAV

vi /etc/clamd.conf

Commenter la ligne (= ajouter un # au début)

Example

Dé-commenter la ligne (= enlever le # au début)

LocalSocket /tmp/clamd.socket

Editer le fichier de configuration de freshclam (updater de la base de l’anti-virus ClamAV)

vi /etc/freshclam.conf

Commenter la ligne (= ajouter un # au début)

 Example

- Mettre à jour ClamAV

/usr/bin/freshclam

Créer une tâche planifiée (via interface Plesk, pour l’utilisateur root) exécutée chaque jour pour la commande:

/usr/bin/freshclam >/dev/null

- Lancer ClamD, ClamSMTP

service clamd start
service clamsmtpd start

- Redémarrer Postfix

service postfix restart

- Contrôler le fonctionnement

Tout se trouve dans le fichier /usr/local/psa/var/log/maillog

- Surveiller les processus ClamD, ClamSMTPD et Postgrey

Si l’un des démons de ClamAV ou Postgrey venait à s’arrêter, les mails seraient bloqués dans la file d’attente de Postfix.

Il est recommandé de les surveiller avec PSMON.

yum install psmon
vi /etc/psmon.conf

Editer la configuration de psmon afin de commenter les 2 lignes “Disabled”. Et insérer les lignes suivantes:

<Process clamd>
        spawncmd        /sbin/service clamd start
        pidfile         /var/run/clamav/clamd.pid
</Process>
<Process clamsmtpd>
        spawncmd        /sbin/service clamsmtpd start
        pidfile         /var/run/clamav/clamsmtpd.pid
</Process>

- Désactiver le repository ATOMIC (afin de ne pas créer de conflit lors de l’update de PLESK)

cd /etc/yum.repos.d/
mkdir disabled
mv atomic.repo ./disabled