Identifier les sources de pourriels dans Parallels Plesk (Qmail)

Pour vous protéger contre les polluposteurs, il vous faut d’abord identifier les scripts PHP qui envoient des messages. Suivez les instructions ci-dessous pour trouver les domaines sur lesquels s’exécutent ces scripts au moyen de Postfix :

Avertissement : cette méthode peut augmenter la charge du serveur en raison des étapes supplémentaires que nécessite le traitement de chaque message soumis au serveur de messagerie local. Si vous éprouvez des problèmes en raison d’une charge élevée après avoir effectué l’étape 2, remédiez-y en suivant les instructions de l’étape 3.

Il existe une façon de déterminer le dossier à partir duquel a été exécuté le script PHP qui envoie les courriels.

Remarque : Selon votre système d’exploitation et votre version de Plesk, les chemins d’accès peuvent être différents de ceux indiqués ci-après.

1) Créez un script /var/qmail/bin/sendmail-wrapper contenant le texte suivant :

#!/bin/sh
(echo X-Additional-Header: $PWD ;cat) | tee -a /var/tmp/mail.send|/var/qmail/bin/sendmail-qmail "$@"

Remarque : ce script devrait compter deux lignes,

dont #!/bin/sh.

2) Créez un fichier journal 

/var/tmp/mail.send

 et attribuez-lui les droits « a+rw ». Rendez l’enveloppeur exécutable, renommez l’ancien sendmail et associez-le au nouvel enveloppeur :

~# touch /var/tmp/mail.send
~# chmod a+rw /var/tmp/mail.send
~# chmod a+x /var/qmail/bin/sendmail-wrapper
~# mv /var/qmail/bin/sendmail /var/qmail/bin/sendmail-qmail
~# ln -s /var/qmail/bin/sendmail-wrapper /var/qmail/bin/sendmail

3) Patientez deux heures, puis revenez au sendmail initial :

~# rm -f /var/qmail/bin/sendmail
~# mv /var/qmail/bin/sendmail-qmail /var/qmail/bin/sendmail

Examinez le fichier 

/var/tmp/mail.send.

Vous devriez voir des lignes commençant par « X-Additional-Header: » associées aux dossiers de domaines où sont situés les scripts qui ont envoyé les courriels.

Vous pouvez consulter tous les dossiers à partir desquels les scripts de messagerie PHP ont été exécutés au moyen de la commande suivante :

~# grep X-Additional /var/tmp/mail.send | grep `cat /etc/psa/psa.conf | grep HTTPD_VHOSTS_D | sed -e 's/HTTPD_VHOSTS_D//' `

Si cette commande ne donne aucun résultat, cela signifie qu’aucun courriel n’a été envoyé au moyen de la fonction PHP mail() depuis le répertoire d’hôtes virtuels de Plesk.

Si le fichier 

/var/tmp/mail.send 

ne contient que la ligne

X-Additional-Header: /var/www

sans être associé à un dossier de domaine en particulier, modifiez les droits du binaire Perl :

~# chmod 700 /usr/bin/perl
Vous avez d’autres questions ? Envoyer une demande

0 Commentaires

Cet article n'accepte pas de commentaires.
Réalisé par Zendesk