Comment ajouter l'antivirus et la protection du spam au serveur de messagerie postfix avec Clamav et Spamassassin - Partie 3

Comment ajouter l'antivirus et la protection du spam au serveur de messagerie postfix avec Clamav et Spamassassin - Partie 3

Dans les deux articles précédents Postfix Série Vous avez appris à configurer et à gérer la base de données du serveur de messagerie via PhpMyAdmin, et comment configurer Postfix et DoveCot pour gérer le courrier entrant et sortant. De plus, nous avons expliqué comment configurer un client de messagerie, comme Thunderbird, pour les comptes virtuels que nous avons créés précédemment.

  1. Configuration du serveur de messagerie postfix et Dovecot avec MariaDB - Partie 1
  2. Comment configurer PostFix et Dovecot avec des utilisateurs de domaine virtuel - Partie 2
  3. Installez et configurez le client de la carte Web Roundcube avec des utilisateurs virtuels dans Postfix - partie 4
  4. Utilisez Sagator, une passerelle antivirus / antipam pour protéger votre serveur de messagerie - partie 5

Étant donné qu'aucune configuration de serveur de messagerie ne peut être complète sans prendre de précautions contre les virus et le spam, nous allons couvrir ce sujet dans l'article actuel.

Intégrez Clamav et Spamassassin pour protéger le postfix

Veuillez garder à l'esprit que même lorsque * comme un nix Les systèmes d'exploitation sont généralement considérés comme sans virus, il est probable que les clients utilisant d'autres systèmes d'exploitation se connecteront également à votre serveur de messagerie.

Pour cette raison, vous devez leur donner la confiance que vous avez pris les mesures nécessaires pour les protéger dans la mesure du possible de ces menaces.

Configuration du spamassassin pour Postfix

En train de recevoir des e-mails, Spamassassin se tiendra entre le monde extérieur et les services de messagerie exécutant sur votre serveur lui-même. S'il trouve, selon ses règles de définition et sa configuration, qu'un message entrant est spam, il réécrira la ligne d'objet pour l'identifier clairement comme telle. Voyons comment.

Le fichier de configuration principal est / etc / mail / spamassassin / local.cf, et nous devons nous assurer que les options suivantes sont disponibles (ajoutez-les si elles ne sont pas présentes ou non les comment si nécessaire):

local.cf
report_safe 0 requis_score 8.0 Rewrite_Header Sujet [SPAM] 
  1. Quand report_safe est réglé sur 0 (Valeur recommandée), le spam entrant n'est modifié qu'en modifiant les en-têtes de messagerie conformément à Rewrite_header. S'il est défini sur 1, Le message sera supprimé.
  2. Pour définir l'agressivité du filtre de spam, requis_score doit être suivi d'un numéro entier ou décimal. Plus le nombre est moindre, plus le filtre devient sensible. Paramètre requis_score à une valeur quelque part entre 8.0 et dix.0 est recommandé pour un grand système servant de nombreux (~ 100S) comptes mail.

Une fois que vous avez enregistré ces modifications, activez et démarrez le service de filtre Spam, puis mettez à jour les règles de spam:

# SystemCTL Activer Spamassassin # SystemCTL Start Spamassassin # SA-Update 

Pour plus d'options de configuration, vous souhaiterez peut-être vous référer à la documentation en exécutant Perldoc Mail :: Spamassassin :: confr dans la ligne de commande.

Intégration de postfix et de spamassassin

Afin d'intégrer efficacement PostFix et Spamassassin, nous devrons créer un utilisateur et un groupe dédiés pour exécuter le démon de filtre de spam:

# userAdd spamd -s / bin / false -d / var / log / spamassassin 

Ensuite, ajoutez la ligne suivante au bas de / etc / postfix / maître.cf:

maître.cf
Spamassassin Unix - N N - - Pipe Flags = R User = spamd argv = / usr / bin / spamc -e / usr / sbin / sendmail -oi -f $ Sender $ destinataire 

Et indiquer (en haut) que Spamassassin servira de Filtre de contenu:

-o content_filter = spamassassin 
Intégrer le post-fixe avec Spamassassin

Enfin, redémarrez Postfix pour appliquer les modifications:

# systemctl redémarrer postfix 

Pour vérifier que Spamassassin travaille correctement et détecte le spam entrant, un test appelé Gtube (Test générique pour un e-mail en vrac non sollicité) est fourni.

Pour effectuer ce test, envoyez un e-mail à partir d'un domaine en dehors de votre réseau (comme Yahoo!, Hotmail, ou gmail) sur un compte résidant dans votre serveur de messagerie. Définissez la ligne d'objet sur ce que vous voulez et incluez le texte suivant dans le corps du message:

Xjs * c4jdbqadn1.Nsbn3 * 2idnen * gtube-standard-asti-ube-test-email * c.34x 

Par exemple, l'envoi du texte ci-dessus dans un corps de message de mon compte Gmail produit le résultat suivant:

Vérifiez le spamassassin détectant des courriers de spam

Et affiche l'avis correspondant dans les journaux:

# JournalCTL | spam grep 
Surveiller les journaux de courrier spamassassin

Comme vous pouvez le voir dans l'image ci-dessus, cet e-mail a obtenu un score de spam de 1002.3. De plus, vous pouvez tester spamassassin Dès la ligne de commande:

# spamassassin -d < /usr/share/doc/spamassassin-3.4.0/sample-spam.txt 

La commande ci-dessus produira une sortie vraiment verbeuse qui devrait inclure les éléments suivants:

Tester Spamassassin Spam à partir de la ligne de commandement

Si ces tests ne réussissent pas, vous voudrez peut-être vous référer au Guide des intégrations Spamassassin.

Démarrage des définitions de virus de Clamav et de mise à jour

Pour commencer, nous devrons modifier / etc / Clamd.d / scanner.confli. Décommente la ligne suivante:

Localsocket / var / Run / Clamd.scan / palourde.chaussette 

Et commentez ou supprimez la ligne:

Exemple 

Ensuite, activez et démarrez le démon du scanner Clamav:

# SystemCTL Activer [Protégé par e-mail] # SystemCTL Démarrer [Protégé par e-mail] 

Et n'oubliez pas de définir le antivirus_can_scan_system SELINUX Boolean à 1:

# setSebool -p antivirus_can_scan_system 1 

À ce stade, il vaut la peine et bien de vérifier l'état du service:

Démarrer et mettre à jour les définitions du virus Clamav

Comme vous pouvez le voir dans l'image ci-dessus, nos signatures virales sont plus anciennes que 7 jours. Pour les mettre à jour, nous utiliserons un outil appelé cale de fraîcheur qui a été installé dans le cadre du clamer emballer.

Le moyen le plus simple de mettre à jour les définitions du virus est par un travail cron qui s'exécute aussi souvent que souhaité (une fois par jour par exemple, à 1 h Le temps du serveur comme indiqué dans l'exemple suivant est considéré comme suffisant):

00 01 * * * root / usr / share / cllamav / freshclam-sleep 

Vous pouvez également mettre à jour les définitions du virus manuellement, mais avant de devoir supprimer ou commenter la ligne suivante dans / etc / freshclam.confli.

Exemple 

Maintenant, vous devriez pouvoir courir:

# FreshClam 

qui mettra à jour les définitions du virus comme vous le souhaitez:

Base de données de virus ClamAV à mise à jour FreshClam Clamav

Tester Clamav pour le virus dans les e-mails

Vérifier Clamp fonctionne correctement, téléchargeons un virus de test (que nous pouvons obtenir de http: // www.eicar.org / téléchargement / eicar.com) au Maildir de [e-mail protégé] (qui est situé dans / home / vmail / linuxnewz.com / Tecmint / Maildir) Pour simuler un fichier infecté reçu en pièce jointe:

# CD / Home / Vmail / LinuxNewz.com / tecmint / usidir # wget http: // www.eicar.org / téléchargement / eicar.com 

Puis scanner le / home / vmail / linuxnewz.com Répertoire récursivement:

# ClamScan - Infecté - Remarque - Recursif / Home / Vmail / LinuxNewz.com 
Clamav SCAN pour le virus des e-mails

Maintenant, n'hésitez pas à configurer ce scan pour exécuter un Tâche planifiée. Créer un fichier nommé / etc / cron.quotidien / dailyclamscan, Insérez les lignes suivantes:

#!/ bin / bash scan_dir = "/ home / vmail / linuxnewz.com "log_file =" / var / log / cllamav / dailyclamscan.Log "Touch $ log_file / usr / bin / clamscan --fecté --remiez - réécursif $ scan_dir >> $ log_file 

et Grant Exécuter les autorisations:

# chmod + x / etc / cron.quotidien / dailyclamscan 

Le cronjob ci-dessus analysera le répertoire du serveur de messagerie récursivement et laissera un journal de son opération dans / var / log / cllamav / dailyclamscan.enregistrer (assurez-vous que le / var / log / Clamav Le répertoire existe).

Voyons ce qui se passe lorsque nous envoyons le eicar.com dossier de [Protégé par e-mail] pour [Protégé par e-mail]:

Tester et trouver un virus dans les e-mails

Résumé

Si vous avez suivi les étapes décrites dans ce tutoriel et dans les deux précédents articles de cette série, vous avez maintenant un serveur de messagerie postfix fonctionnel avec une protection contre le spam et l'antivirus.

CLAUSE DE NON-RESPONSABILITÉ: Veuillez noter que la sécurité du serveur est un vaste sujet et ne peut pas être correctement couverte dans une courte série comme celle-ci.

Pour cette raison, je vous encourage fortement à vous familiariser avec les outils utilisés dans cette série et leurs pages d'homme. Bien que j'ai fait de mon mieux pour couvrir les concepts essentiels associés à ce sujet, ne supposez pas qu'après avoir parcouru cette série, vous êtes entièrement qualifié pour configurer et maintenir un serveur de messagerie dans un environnement de production.

Cette série est destinée à un point de départ et non comme un guide exhaustif de l'administration du serveur de messagerie dans Linux.

Vous penserez probablement à d'autres idées qui peuvent enrichir cette série. Si c'est le cas, n'hésitez pas à nous envoyer une note en utilisant le formulaire de commentaire ci-dessous. Les questions et autres suggestions sont également appréciées - nous sommes impatients de vous entendre!