Comment localiser l’activité de spam d’e-mails sur un serveur

https://www.applitech.ci/themes/user/site/default/asset/imagesBlog/Custom-dimensions-1910x1080-px-5-1.png

Qu'est-ce que le spam

Les spams sont ces messages indésirables envoyés en masse, principalement par un annonceur commercial. Le trafic de courrier indésirable représente plus de 50 % du trafic total de courrier électronique de nos jours.

Spamming - envoi d'un tas de messages commerciaux ou de publicités inutiles à un groupe de destinataires, généralement par e-mail (mais peut également être publié sur des forums de discussion en ligne, des babillards électroniques et des cellules (spam de téléphone portable ou également appelé m-spam)). Le spamming est considéré comme une violation flagrante de l'étiquette sur Internet et est punissable. L'envoi de spam peut même entraîner l'annulation d'un compte d'hébergement sans aucune compensation.

En tant que fournisseur de services d'hébergement, nous ne tolérons aucune activité de spam sur nos serveurs. Les serveurs de Namecheap sont alimentés par un logiciel sophistiqué de filtrage des e-mails visant à protéger nos clients et l'infrastructure de Namecheap contre une grande variété de menaces de messagerie externes et internes.

Malgré cela, si vous possédez nos options d'hébergement VPS ou serveur dédié, l'activité de spam provenant de tout compte ou script hébergé sur celui-ci peut entraîner le blocage de l'adresse IP de votre serveur par différentes listes noires en temps réel (RBL). Cela diminuera considérablement la réputation du serveur sur Internet. Cependant, en tant qu'administrateur de serveur, vous disposez d'une variété d'outils. De tels outils peuvent être utiles pour localiser et traiter directement l'activité de spam au sein du serveur.

Localisation de l'activité de spam



Exim Mail Transfer Agent (MTA) est préinstallé et configuré prêt à l'emploi sur toutes les instances de serveur basées sur cPanel. Sa configuration par défaut est suffisante pour assurer la délivrabilité des emails depuis le serveur. Tous les e-mails provenant du serveur (peu importe qu'il s'agisse de messages légitimes ou de spam) sont traités par le module Exim. Si vous pensez que votre serveur fait partie de l'activité de spam en cours, une configuration comme celle-ci est pratique pour détecter et dépanner les actions de spam indésirables sur le serveur.

Pour suivre et tester d'autres informations de cet article dans la pratique, vous aurez besoin de :
Accès root au serveur. Tous nos VPS et serveurs dédiés avec gestion User-Responsible ou Basic sont livrés avec l'accès root préconfiguré pour vous. Ces détails peuvent être trouvés dans l'e-mail de bienvenue d'hébergement de notre part. Cependant, il est recommandé de réinitialiser régulièrement le mot de passe root pour le VPS ou le serveur dédié.
Accès SSH configuré. Bien que certaines fonctionnalités de dépannage puissent être disponibles dans l'interface de votre WHM, l'utilisation du terminal est essentielle pour une analyse et une automatisation plus approfondies. Cet article explique plusieurs façons d'établir une connexion au serveur via SSH.

Analyse et gestion de la file d'attente de messagerie



Tout d'abord, il est important de comprendre ce qui se passe au sein de l'Exim. Rappelant la définition initiale du spam, ces messages sont généralement envoyés en masse en encombrant la bande passante de messagerie du serveur. Idéalement, la file d'attente des e-mails doit être vide. Cependant, ce n'est pas toujours le cas réaliste d'un serveur de messagerie actif. Il existe de nombreuses raisons pour lesquelles les e-mails entrent dans la file d'attente de livraison, par exemple, la charge sur le serveur est supérieure au seuil de livraison ou le serveur de messagerie de réception n'est pas disponible pour le moment.
Voici une commande de base pour vérifier le nombre de messages existant actuellement dans la file d'attente :



exim-bpc

REMARQUE : Une file d'attente de courrier en masse n'est pas uniquement un indicateur de l'activité de spam en cours sur le serveur. Nous recommandons une enquête plus approfondie, par exemple en analysant les raisons possibles pour lesquelles les messages sont mis en file d'attente. Finalement, l'examen des en-têtes/corps des messages en file d'attente et leur traçage dans les journaux Exim apporteront un éclairage supplémentaire sur le contexte.

Chaque e-mail envoyé sur Internet possède son identifiant unique. Cet ID de message suivra l'e-mail sur plusieurs serveurs et ne sera pas modifié. Il peut être trouvé dans les journaux de messagerie et dans les en-têtes de message. Dans le même temps, un autre identifiant local est attribué au même message - un Exim ID. Il n'est pas garanti que ce dernier soit un numéro unique une fois que le message a quitté le réseau local. Cependant, lorsque l'activité de spam local est étudiée, l'ID Exim vaut la peine d'être utilisé et de s'y référer.
Ci-dessous se trouve la commande qui fournit des informations de base sur chaque message dans la file d'attente (où 73m - temps passé dans la file d'attente ; 46K - la taille du message ; 1iqxSJ-0006JQ-Dy - Exim ID) :


exim -bp


Au fait, si la file d'attente des e-mails est importante, vous pouvez diriger le résultat de la commande "exim -bp" vers "moins" pour éviter l'encombrement :




exim-bp | moins

Tant que vous disposez de l'identifiant local unique du message (Exim ID), vous pouvez afficher les informations d'en-tête du message (drapeau "-Mvh"), le contenu du message (drapeau "-Mvb") ou son journal ("- drapeau Mvl") :

exim -Mvh ID Exim
exim -Mvb ID Exim
exim -Mvl ID Exim

Nous vous déconseillons de vider la file d'attente ou de supprimer manuellement les messages avant l'enquête (pour éviter la suppression de messages légitimes). Cependant, si vous êtes sûr qu'un certain message peut être supprimé de la file d'attente, cette action peut être exécutée avec la commande suivante :

exim -Mrm ID Exim


Alternativement, pour forcer une nouvelle tentative de livraison de message, utilisez cette commande :

exim -M ID Exim

Finalement, Exim est livré avec un utilitaire utile qui couvre le processus de filtrage des entrées correspondant à la requête de recherche dans la file d'attente et les sorties : - exiqgrep (à ne pas confondre avec exigrep, qui recherche dans les fichiers journaux les entrées correspondant à un modèle donné). Par exemple, il est possible de sortir les messages en file d'attente à partir de l'e-mail d'un expéditeur spécifique "expéditeur@domaine.tld" uniquement (drapeau "-f") :

exiqgrep -f expéditeur@domaine.tld

Cette requête effectuera une recherche dans la file d'attente et affichera uniquement les ID Exim (drapeau "-i") pour les messages avec des destinataires @gmail.com (drapeau "-r") :

exiqgrep -i -r @gmail.com


L'utilisation de l'indicateur "-i" susmentionné peut être de la plus haute importance lorsqu'il s'agit de supprimer les e-mails d'un expéditeur spécifique (via la commande "xargs") :

exiqgrep -i -f expéditeur@domaine.tld | xargs exim -Mrm


Il est possible d'effacer tous les e-mails de la file d'attente actuelle.

REMARQUE : Cette action est irréversible et doit être entreprise en pleine connaissance des conséquences :

exiqgrep -i | xargs exim -Mrm

Analyser les journaux Exim pour localiser l'activité de spam

Localiser le script de spam avec un one-liner et le traiter



Exim écrit le répertoire de travail actuel (CWD) de tout processus qui déclenche la livraison du courrier sortant dans son fichier journal principal à /var/log/exim_mainlog. Il s'agit d'une fonctionnalité pratique lorsqu'il s'agit de localiser et de suivre le script d'envoi du message initial. En particulier, ce one-liner populaire extraira l'emplacement du script de mailing le plus utilisé du journal de messagerie Exim :

grep cwd=/ /var/log/exim_mainlog | couper -d = -f 2 | couper -d " " -f 1 | trier | uniq-c | trier -n
Vous obtiendrez quelque chose comme ceci :


Selon la sortie ci-dessus, plus de 20 000 e-mails ont été envoyés par le script situé dans le répertoire /home/cpusername1/domain.tld/.well-known/pki-validation/ksdjgfkls/wtuds. Bien qu'il existe des comptes de messagerie légitimes et des scripts pouvant envoyer un grand nombre d'e-mails (par exemple, des systèmes de gestion de contenu de forum hébergés), s'il y a beaucoup d'e-mails sortants provenant d'annuaires personnels, il est préférable de regarder de plus près. . Les scripts générateurs de spam ne peuvent pas toujours être facilement distingués des scripts légitimes. Néanmoins, il existe quelques tendances générales : les scripts peuvent avoir un nom de fichier généré aléatoirement (comme pdyihizr.php), ils ressemblent donc à des fichiers système existants (par exemple, template.config.php), ou peuvent être intégrés dans un fichier légitime existant. Dans cet esprit, il vaut la peine de vérifier le contenu du répertoire suspecté d'avoir un script de spam à l'intérieur :

ls -lat /home/cpusername1/domain.tld/.well-known/pki-validation/ksdjgfkls/wtuds/



Une fois qu'un fichier suspect est détecté, il peut être désactivé en modifiant son ensemble d'autorisations sur 000 :

chmod 000 /home/cpusername1/domain.tld/.well-known/pki-validation/ksdjgfkls/wtuds/pdyihizr.php

Dès que vous êtes sûr que le script pdyihizr.php était responsable de l'activité de spam, il est possible de vérifier quelles adresses IP ont été utilisées pour y accéder :

grep pdyihizr.php /home/cpusername1/access-logs/ -rl
grep pdyihizr.php /home/cpusername1/access-logs/domain.tld | awk '{imprimer $1}' | trier -n | uniq-c | trier -n


Selon la sortie, vous verrez l'adresse IP (123.123.123.123) et la fréquence (12450) auxquelles il a accédé au script. Si vous ne connaissez pas cette adresse IP, cela peut valoir la peine de la mettre sur liste noire sur le serveur.

Localisation du script de spam en vérifiant l'en-tête X-PHP-Script


Si l'en-tête X-PHP-Script est activé (par défaut, il est installé dans le cadre de l'installation principale de PHP dans EasyApache 4), le script de spam peut également être détecté en cochant le champ X-PHP-Script dans l'en-tête de les e-mails.

grep X-PHP-Script /var/spool/exim/input/*/*-H | awk '{imprimer $3}' | trier | uniq-c | sort -nr
La commande ci-dessus filtrera la file d'attente de messagerie active sur le serveur uniquement.


Localisation d'un compte de spam dans le filtrage du contenu dupliqué dans les journaux de messagerie


Dans certains cas, le spam est envoyé comme le même message, à plusieurs reprises, à un grand nombre de destinataires. La commande suivante peut être utilisée pour récupérer ces e-mails dans le journal Exim (non limité à la file d'attente) :

awk -F"T=\"" '/<=/ {print $2}' /var/log/exim_mainlog | cut -d\" -f1 | trier | uniq-c | trier -n


La sortie de la commande susmentionnée peut être utilisée pour localiser le compte responsable de l'envoi des e-mails avec le même sujet :

grep "Voici un sujet qui a été envoyé 1243 fois" /var/log/exim_mainlog | awk '{print $5}' | trier | uniq-c | trier -n


Ayant le compte de messagerie responsable de l'activité de spam (spam@domain.tld), il est possible de vérifier à partir de quelles adresses IP il a été accédé :

grep "<= spam@domaine.tld" /var/log/exim_mainlog | grep "Voici un sujet qui a été envoyé 1243 fois" | grep -o "\[[0-9.]*\]" | trier -n | uniq-c | trier -n


Encore une fois, la disponibilité de l'IP permet d'envisager son blacklistage sur le serveur.


Renforcement des politiques de sécurité anti-spam sur le serveur


L'analyse de la file d'attente de livraison du courrier et des journaux Exim peut entraîner la détection de certaines tendances du comportement du courrier sur votre serveur. Si tel est le cas, nous vous suggérons d'intégrer ces tendances comme base pour renforcer vos mesures et politiques de sécurité anti-spam côté serveur. Nous avons rassemblé plusieurs recommandations pour vous qui peuvent être utilisées comme point de départ pour l'examen.

Rendre votre serveur plus sécurisé



Tout comme un seul compte d'hébergement, le niveau de sécurité du serveur facilitera certainement le changement régulier des identifiants d'accès, en n'exposant aucune information sensible, en utilisant une connexion sécurisée, en maintenant un système de sauvegarde viable et en gardant tous les modules à jour. date. C'est une bonne approche pour changer le port SSH par défaut pour le serveur. De plus, empêcher tout accès indésirable au serveur peut toujours être configuré avec le système de pare-feu.


Détection de logiciels/scripts malveillants


ClamAV



Le logiciel antivirus Clam AntiVirus Scanner (ClamAV) peut être utilisé pour localiser des entités malveillantes dans le système de fichiers du serveur. Si le scanner identifie une menace potentielle pour la sécurité, il signale le fichier pour vous permettre de prendre les mesures appropriées.

n.m. ClamAV nécessite un accès root pour être installé et peut être installé via WHM root ou via SSH. Lors de l'installation, il peut être configuré via le menu WHM >> Plugins >> Configurer ClamAV Scanner ou en utilisant la ligne de commande.


Maldet



Linux Malware Detect (LMD) est un scanner de logiciels malveillants pour les systèmes basés sur Linux et est spécifiquement conçu autour des menaces rencontrées dans les environnements hébergés partagés. LMD peut être installé en utilisant l'accès root SSH et en exécutant ces commandes :

cd /usr/local/src/

wget http://www.rfxn.com/downloads/...

tar -xzf maldetect-current.tar.gz

cd maldetect-*

sh ./install.sh


Avoir à la fois ClamAV et LMD installés permet de les combiner avec la création de liens symboliques :

ln -s /usr/local/cpanel/3rdparty/bin/clamscan /usr/local/bin/clamscan
ln -s /usr/local/cpanel/3rdparty/bin/freshclam /usr/local/bin/freshclam

Par défaut, le LMD n'est pas livré avec des préférences déjà configurées. Cependant, la configuration est effectuée en décommentant et en ajustant davantage le fichier conf.maldet :

nano /usr/local/maldetect/conf.maldet

Analyseur ConfigServer eXploit (CXS)



CXS est un système antivirus de serveur qui peut être acheté et installé sur des VPS et des serveurs dédiés pour détecter et atténuer divers types de logiciels malveillants. CXS est un produit commercial qui est vendu et concédé sous licence strictement sur une base unique par serveur, avec des mises à jour fournies pour la durée de vie du produit. Selon la disponibilité de la licence, l'analyse CXS peut être configurée et exécutée via SSH.

Commenting for this entry has expired.