Von PHP-Skripten auf dem Server werden viele E-Mail-Nachrichten versendet. Wie kann ich feststellen, auf welchen Domains diese Skripts ausgeführt werden, wenn ich Postfix verwende?

Created:

2016-11-16 12:49:00 UTC

Modified:

2017-08-17 20:55:00 UTC

28

Was this article helpful?


Have more questions?

Anfrage einreichen

Von PHP-Skripten auf dem Server werden viele E-Mail-Nachrichten versendet. Wie kann ich feststellen, auf welchen Domains diese Skripts ausgeführt werden, wenn ich Postfix verwende?

Applicable to:

  • Plesk for Linux

Kennzeichen

Von PHP-Skripten auf dem Server werden viele E-Mail-Nachrichten versendet. Wie kann ich feststellen, auf welchen Domains diese Skripts ausgeführt werden, wenn ich Postfix verwende?

Lösung

Hinweis: Dieser Artikel bezieht sich auf Postfix. Wenn Sie den qmail-Mailserver verwenden, sollten Sie diesen Artikel lesen:
213959565 : Von PHP-Skripten auf dem Server werden viele E-Mail-Nachrichten versendet. Wie finde ich die Domains, auf denen die Skripts ausgeführt werden?

Es gibt eine Möglichkeit festzustellen, von welchem Ordner aus das PHP-Skript ausgeführt wurde, das die E-Mail-Nachrichten versendet.

Hinweis: Je nach Betriebssystem und Plesk Version können die Pfade von den im Folgenden genannten Pfaden abweichen.

  1. Erstellen Sie das Skript /usr/sbin/sendmail.postfix-wrapper mit folgendem Inhalt:

    Erstellen Sie eine Datei und öffnen Sie sie zum Zwecke der Bearbeitung:

    #touch /usr/sbin/sendmail.postfix-wrapper
    #vi /usr/sbin/sendmail.postfix-wrapper

    Fügen Sie folgenden Inhalt hinzu:

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

    Beachten Sie, dass oben Genanntes zwei Zeilen sein müssen, einschließlich der Zeile #!/bin/sh .

  2. Erstellen Sie eine Protokolldatei, /var/tmp/mail.send , und gewähren Sie ihr die Rechte a+rw . Machen Sie das Wrapper-Skript ausführbar, benennen Sie das alte sendmail -Skript um und verknüpfen Sie es mit dem neuen Wrapper. Führen Sie anschließend die nachfolgenden Befehle aus:

    ~# touch /var/tmp/mail.send
    ~# chmod a+rw /var/tmp/mail.send
    ~# chmod a+x /usr/sbin/sendmail.postfix-wrapper
    ~# mv /usr/sbin/sendmail.postfix /usr/sbin/sendmail.postfix-bin
    ~# ln -s /usr/sbin/sendmail.postfix-wrapper /usr/sbin/sendmail.postfix
  3. Warten Sie eine Stunde und stellen Sie anschließend das sendmail-Skript wieder her:

    ~# rm -f /usr/sbin/sendmail.postfix
    ~# mv /usr/sbin/sendmail.postfix-bin /usr/sbin/sendmail.postfix

Überprüfen Sie die Datei /var/tmp/mail.send . Sie sollte Zeilen enthalten, die mit X-Additional-Header: beginnen und auf die Domain-Ordner verweisen, in denen sich die Skripts befinden, von denen die E-Mail-Nachrichten versendet wurden.

Mit dem folgenden Befehl können Sie alle Ordner anzeigen, von denen aus die PHP-Mailskripts ausgeführt wurden:

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

HINWEIS: Wenn Sie vom obigen Befehl keine Ausgabe erhalten, wurde keine E-Mail mit der PHP mail()-Funktion aus dem Verzeichnis der virtuellen Hosts von Plesk gesendet.

Für gewöhnlich bedeutet dies, dass eines der E-Mail-Konten kompromittiert wurde. Überprüfen Sie die Anzahl an Anmeldeversuchen:

# zgrep -c 'sasl_method=LOGIN' /usr/local/psa/var/log/maillog*
/usr/local/psa/var/log/maillog:221000
/usr/local/psa/var/log/maillog.processed:362327
/usr/local/psa/var/log/maillog.processed.1.gz:308956

Wenn Sie sehen, dass ungewöhnlich oft versucht wurde sich anzumelden, ist es sehr wahrscheinlich, dass die Konten kompromittiert wurden. Sie können auf folgende Weise versuchen, diese Konten zu identifizieren:

# zgrep 'sasl_method=LOGIN' /usr/local/psa/var/log/maillog* | awk '{print $9}' | sort | uniq -c | sort -nr | head
891574 sasl_username=admin@example.com

Um zu verhindern, dass Spam gesendet wird, sollten Sie die Passwörter für die kompromittierten Konten ändern und den Postfix-Service neu starten.

Für Plesk 12 : Lesen Sie auch den entsprechenden Abschnitt im Administratorhandbuch

Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.