Mon serveur n'arrive pas à gérer traité tous les mails
Description :
Vous constatez que :Resolution :
Tout d'abord, assurez-vous que, pour tous les domaines, le 'Mail à un utilisateur non existant' est défini sur 'Rejeter' et non sur 'Transférer'. Vous pouvez le changer pour tous les domaines à l'aide des "Opérations du groupe" sur l'onglet "Domaines" dans le CP de Parallels Plesk Panel. La fonction 'Rejeter le mail à un utilisateur non-existant' est disponible depuis la version 7.5.3 de Parallels Plesk Panel.
De plus, assurez-vous qu'il n'y a aucune IP ou aucun réseau qui ne soit pas fiable dans la liste blance.
Vérifiez le nombre de messages qu'il y a dans la file d'attente de Qmail avec :
Si la file d'attente compte trop de messages, essayez de trouver d'où le SPAM provient.
Si le mail est en train d'être envoyé par l'utilisateur autorisé et non par le script PHP, vous pouvez trouver l'utilisateur qui a envoyé le plus de messages avec la commande ci dessous (depuis Parallels Plesk Panel 8), remarquez que l'autorisation SMTP' doit être activée sur le serveur pour voir ces enregistrements :
# cat /usr/local/psa/var/log/maillog |grep -I smtp_auth |grep -I user |awk '{print $11}' |sort |uniq -c |sort -n
Le chemin vers 'maillog' peut être différent en fonction de l'OS que vous utilisez.'
La prochaine étape est l'utilitaire `qmail-qread` qui peut être utilisé pour les en-têtes de messages avec :
# /var/qmail/bin/qmail-qread
18 Jul 2005 15:03:07 GMT #2996948 9073 <user@domain.com> bouncing
done remote user1@domain1.com
done remote user2@domain2.com
done remote user3@domain3.com
....
Cela indique les destinataires et l'expéditeur des messages. Si le message a trop de destinaires, il s'agit pour la plupart de SPAMS. Maintenant, essayez de trouver ce message dans la file d'attente par son ID #2996948:
# find /var/qmail/queue/mess/ -name 2996948
regardez ce message et trouvez le premier à partir de la ligne finale "Recieved" pour trouver la source de l'envoi, par ex. vous pouvez trouver quelque chose de ce type :
Received: (qmail 19514 invoked by uid 10003); 13 Sep 2005 17:48:22 +0700
Cela signifie que ce message a éta envoyé via un certain script CGI par l'utilisateur portant UID 10003. A l'aide de cet UID, vous pouvez trouver un domaine correspondant :
# grep 10003 /etc/passwd
Si la ligne 'Received' contient l'UID de l'utilisateur 'apache' (par exemple "invoked by uid 48") - cela signifie que le SPAM a été envoyé via un certain script PHP. Dans ce cas, vous pouvez trouver le spammer à l'aide des informations des mails spam (adresses de l'expéditeur/des destinataires, objets ou autres). Mais, en général, il est très difficile de retrouver la source SPAM. Si vous êtes sûr qu'en ce moment, un certain script envoie des SPAMS (la file d'attente augmente à vue d'oeil), vous pouvez utiliser ce petit script pour découvrir les scripts PHP qui fonctionnent en temps réel :
# lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ' { if(!str) { str=$1 } else { str=str","$1}}END{print str}'` | grep vhosts | grep php
De plus, vous pouvez appliquer l'article 1711 qui décrit comment trouver à partir de quels domaines le mail est envoyé via les scripts PHP.
Lignes 'Received' de ce type :
Received: (qmail 19622 invoked from network); 13 Sep 2005 17:52:36 +0700
Received: from external_domain.com (192.168.0.1)
cela signifie que le message a été accepté et envoyé via SMTP et l'expéditeur est un utilisateur de messagerie autorisé.
REMARQUE : pour savoir comment recréer une file d'attente Qmail, reportez-vous à http://kb.swsoft.com/fr/252
>
Suivre cet article sur le forum