Spamerkennung per Sendmail Wrapper und X-Header

In der Mail-Queue lagern hunderte E-Mails, ohne Authentifizierung im Header oder Logfile? Die E-Mails werden meist über ein Malware PHP Script verschickt. Es gibt zwei Möglichkeiten den Verursacher dingfest zu machen.

Methode 1: Sendmail Wrapper

Der Klassiker ist und bleibt der Sendmail Wrapper, die Sendmail Binary wird umhüllt und mit einem zusätzlichen Mail-Header versehen.
Auf den meisten Systemen ist es der Pfad /usr/sbin/sendmail, prüft das bitte nach und passt ggf. den Pfad an.

mv /usr/sbin/sendmail /usr/sbin/sendmail.orig
touch /tmp/mail.send
echo '#!/bin/sh' > /usr/sbin/sendmail
echo '(echo X-Additional-Header: $PWD ;cat)|tee -a /tmp/mail.send|/usr/sbin/sendmail.orig "$@"' >> /usr/sbin/sendmail
chmod 755 /usr/sbin/sendmail

Ab sofort wird in der Datei /tmp/mail.send der Pfad mitgeloggt indem ein PHP mail() ausgeführt wurde. Weiter wird ein Header in der E-Mail eingefügt.

X-Additional-Header: /var/www/vhosts/example.org/httpdocs/

Methode 2: mail.add_x_header ab PHP 5.3.0

Neuere PHP Versionen haben diese Funktion bereits von Haus aus.
Prüft zunächst ob die PHP Version 5.3.0 oder höher vorhanden ist.

# php -v
PHP 5.3.3-7+squeeze18 with Suhosin-Patch (cli) (built: Dec 12 2013 09:20:04)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with the ionCube PHP Loader v4.2.2, Copyright (c) 2002-2012, by ionCube Ltd.
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH

Nun prüfen wir ob die Variable in unserer php.ini existiert.

Debian

# grep "mail.add_x_header" /etc/php5/*/php.ini
/etc/php5/apache2/php.ini:mail.add_x_header = On
/etc/php5/cli/php.ini:mail.add_x_header = On
/etc/php5/fpm/php.ini:mail.add_x_header = On

CentOS

# grep "mail.add_x_header" /etc/php.ini
mail.add_x_header = On

Sollte keine Variable vorhanden sein, fügen wir unter [mail function] die Zeile hinzu.

[mail function]
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On

Das Ergebnis schaut dann zum Beispiel so aus.

X-PHP-Originating-Script: 501:example_script.php
Dominion

Dominion

Linux Systemadministrator

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.