Nous allons installer et configurer un anti-virus pour notre serveur de messagerie.

Installation de l'anti-virus (clamav)

yum install -y clamav-milter-systemd clamav-scanner-systemd clamav-update

Configuration

Clamav

  1. Editer le fichier /etc/clamd.d/scan.conf et modifier les lignes comme ci-dessous:

    vim /etc/clamd.d/scan.conf

    # Example
    LogFacility LOG_MAIL
    LocalSocket /var/run/clamd.scan/clamd.sock
  2. Activer le service au démarrage du serveur.

    systemctl enable clamd@scan

  3. Démarrer le service.

    systemctl start clamd@scan

  4. Vérifier que le service a bien démarré.

    systemctl status clamd@scan

    Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. - Generic clamav scanner daemon
       Loaded: loaded (/usr/lib/systemd/system/Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.; disabled; vendor preset: disabled)
       Active: active (running) since mar 2016-01-12 17:58:53 CET; 4min 50s ago
     Main PID: 3644 (clamd)
       CGroup: /system.slice/system-clamd.slice/Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
       ...

Configuration de clamav-milter

  1. Editer le fichier /etc/mail/clamav-milter.conf et modifier les lignes comme ci-dessous:

    vim /etc/mail/clamav-milter.conf

    # Example
    MilterSocket inet:10025@127.0.0.1
    ClamdSocket unix:/var/run/clamd.scan/clamd.sock
    LogFacility LOG_MAIL
    
  2. Activer le service au démarrage du serveur.

    systemctl enable clamav-milter

  3. Démarrer le service.

    systemctl start clamav-milter

  4. Vérifier que le service a bien démarré.

    systemctl status clamav-milter

    ● clamav-milter.service - Milter module for the Clam Antivirus scanner
       Loaded: loaded (/usr/lib/systemd/system/clamav-milter.service; enabled; vendor preset: disabled)
       Active: active (running) since Thu 2016-01-14 08:56:30 CET; 3min 29s ago
     Main PID: 13348 (clamav-milter)
       CGroup: /system.slice/clamav-milter.service
               └─13348 /usr/sbin/clamav-milter -c /etc/mail/clamav-milter.conf --...
    ...

Configuration de la mise à jour des signatures de l'antivirus

  1. Editer le fichier /etc/freshclam.conf et modifier les lignes comme ci-dessous:

    vim /etc/freshclam.conf

    # Exemple
    LogFacility LOG_MAIL
    OnUpdateExecute `echo "Mise a jour OK." | /bin/mail -s "Mise à jour des signatures sur $HOSTNAME OK !"  mailadmin`
    OnErrorExecute `echo "Erreur lors de la mise à jour." | /bin/mail -s "Clamav: ERREUR de mise à jour des signatures sur $HOSTNAME" mailadmin`
    OnOutdatedExecute `echo "Clamav doit être mis à jour." | /bin/mail -s "Clamav doit être mis à jour (version:%v) sur $HOSTNAME" mailadmin`
    
  2. Commenter la ligne FRESHCLAM_DELAY=disabled-warn # REMOVE ME dans le fichier /etc/sysconfig/freshclam. En commentant cette ligne, cela va activer la mise à jour automatique des signatures.

    vim /etc/sysconfig/freshclam

    ### !!!!! REMOVE ME !!!!!!
    ### REMOVE ME: By default, the freshclam update is disabled to avoid
    ### REMOVE ME: network access without prior activation
    #FRESHCLAM_DELAY=disabled-warn  # REMOVE ME
          
  3. Lancer la mise à jour des signatures.

    freshclam

Configuration de Postfix

Nous allons configurer postfix de manière à ce qu'il envoie tous les messages à l'antivirus.

  1. Taper les commandes suivantes:

    postconf -e smtpd_milters=inet:127.0.0.1:10025
    postconf -e non_smtpd_milters=\$smtpd_milters

  2. Redémarrer postfix.

    systemctl restart postfix

Test de l'antivirus

Nous allons tester l'antivirus. Pour cela vous devez paramètrer un client de messagerie (Thunderbird, Outlook, etc...).

  1. Envoyer (depuis votre client de messagerie) un message à Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. avec dans le corps du message la ligne suivante:

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

  2. Vérifier dans le fichier log /var/log/maillog que le virus ait bien été détecté.

    cat /var/log/maillog | grep FOUND

    Vous devriez obtenir une ligne ressemblant à celle-ci:
    Jan 14 09:42:32 srvname clamd[3659]: fd[10]: Eicar-Test-Signature FOUND