Ich habe kürzlich einen erhalten Undelivered Mail Returned to Sender
, als ich meinen Newsletter an einen meiner 1500 Kunden gesendet habe. Meine Website verwendet ein Double-Opt-In-Verfahren, um sicherzustellen, dass der Benutzer meinen Newsletter ausdrücklich erhalten möchte.
Die Fehlermeldung:
smtp; 554 ...
Swisscom AG IP: 94.130.34.42, You are not allowed to send us mail. Please
refer to xyz.com if you feel this is in error.
Ich habe ein Beispiel für eine Spam-Mail erhalten (vom E-Mail-Anbieter des empfangenden Mailservers):
Received: from mail.com ([94.130.34.42])
by smtp-27.iol.local with SMTP
id itOWeYZ6O42IFitOWe35TR; Tue, 13 Feb 2018 03:54:09 +0100
From: "Servizi online - Poste Italiane" <[email protected]>
Subject: Abbiamo ricevuto una segnalazione di accredito
Date: Mon, 12 Feb 2018 11:32:03 -0500
Der Provider gab auch an, dass mein Server gehackt zu sein scheint. Er erklärte weiter, dass "der Empfänger-Mail-Server in diesem Fall einfach das rDNS aufgezeichnet hat, das ihm durch die Verbindungs-IP präsentiert wurde mail.com ([94.130.34.42])
" - was definitiv NICHT so ist, wie ich meinen rDNS-Eintrag (mail.lotsearch.de) für meine IP-Adresse konfiguriert habe. Wenn ich rDNS richtig verstanden habe, fragt der empfangende Mailserver die Absender-IP nach einem rDNS-Eintrag ab (94.130.34.42 => sollte in => mail.lotsearch.de aufgelöst werden, was definitiv der Fall ist, wenn ich es von meinem lokalen Computer aus über teste $ host 94.130.34.42
).
Wie ist es möglich, rDNS zu fälschen? Ich kann mir nicht vorstellen, wie das technisch funktionieren kann (nur bei einem Man-in-the-Middle-Angriff irgendwo in der Infrastruktur zwischen dem empfangenden Mailserver und meinem Server).
Der Anbieter erwähnte auch, dass "es wahrscheinlich ist, dass ein Computer, der eine Verbindung von meiner IP-Adresse aus herstellt, kompromittiert wurde und diese Nachrichten über direkte Verbindungen an den Empfänger-Mail-Server (auch als direkter MX bezeichnet) sendet". Was direct MX
bedeutet Jemand hat an einem meiner E-Mail-Konten gesendete E-Mail-Anmeldeinformationen gestohlen oder gefunden und diese zum Senden von E-Mails verwendet?
Was ich bisher getan habe, um sicherzustellen, dass mein Server NICHT gehackt wird / wird:
- suchte in den Mail-Protokollen (
var/log/mail*
): nichts besonderes drin - überprüfte die SSH-Anmeldeprotokolle (
last
,lastb
): nichts Ungewöhnliches - geprüft, ob Postfix Relaying macht: nein, tut es nicht (geprüft über Telnet)
- via clamav auf schädlinge überprüft: keine ergebnisse
- installiert und konfiguriert fail2ban für ssh, postfix und dovecot
- installierte die neuesten Patches / Updates für Ubuntu 16.04 (mache ich jede Woche)
- Überprüft, ob meine IP-Adresse auf einer schwarzen Liste steht
- Verifizierter rDNS-Eintrag in der Management-Konsole meines Hosting-Providers: Richtig eingestellt auf
mail.lotsearch.de
. - geänderte Passwörter aller Mail-Accounts
- öffentliche Schlüssel für den Shell-Zugriff geändert
Wichtiger: [email protected]
In den Protokollen gab es keine Informationen über . Wenn also mein Server von einem Spammer missbraucht worden wäre (z. B. wegen durchgesickerter SMTP-Anmeldeinformationen eines der E-Mail-Konten), würde ich das in den Protokolldateien sehen.
Die letzte Möglichkeit, die ich mir vorstellen kann, ist, dass ein Eindringling Malware auf meinem Server platziert hat, die ich noch nicht gefunden habe.
Wie kann ich den ausgehenden Mailverkehr (pro Prozess und pro Port) überwachen?
Nur die Überwachung von Port 25 für ausgehende E-Mails würde nicht helfen, da hierdurch nur unregelmäßige E-Mails, die per Postfix gesendet werden, abgefangen werden, jedoch nicht der E-Mail-Verkehr, der durch eine potenzielle Malware-Infektion verursacht wird (wenn die Malware einen anderen Port als 25 für den direkten Versand von E-Mails / die Kommunikation mit Empfängerservern verwendet). . Wenn ich den ausgehenden Verkehr an allen Ports überwache, erhalte ich eine Möglichkeit, eine große Protokolldatei zu erstellen, die ich nicht effizient nach verdächtigen Aktivitäten durchsuchen kann.
BEARBEITEN - Test für offenes Relais hinzugefügt:
$ telnet mail.lotsearch.de 25
$ HELO [email protected]
250 mail.lotsearch.de
$ MAIL FROM: [email protected]
250 2.1.0 Ok
$ RCPT TO:<[email protected]>
454 4.7.1 <[email protected]>: Relay access denied
EDIT - Ausführen von Webapps
- Benutzerdefinierte Plattform basierend auf Zend Framework 3 ( https://framework.zend.com/ )
- Mediawiki ( https://www.mediawiki.org/ )
- Mantis Bug Tracker ( https://www.mantisbt.org/ )
quelle
Antworten:
Bevor ich zu meinem Vorschlag komme, möchte ich noch etwas zu etwas sagen, was Ihr Provider Ihnen gesagt hat:
Dies bedeutet nicht , dass der umgekehrte DNS für 94.130.34.42 mail.com ist (oder war). Es zeigt vielmehr an, dass der SMTP-Client
mail.com
in seinerHELO
(oderEHLO
) Zeile gesendet hat . (Ein gut konfigurierter Mailserver hätte diese Verbindung vollständig abgelehnt, aber das liegt bei Swisscom, nicht bei Ihnen ...) Diese Zeile zeigt keinen umgekehrten DNS-Eintrag an. Wenn ja, wäre es in den Klammern aufgetaucht. Beispielsweise:In diesem Fall ist der erste Hostname der Name, als den sich der Mailserver identifiziert hat
EHLO
. Der zweite Hostname ist der zum Zeitpunkt der Verbindungsherstellung aufgezeichnete Reverse-DNS.RFC 5321 Abschnitt 4.4 erläutert das Format der Received: -Zeile mit einer formalen Grammatik.
In Ihrem Fall wurde kein Reverse-DNS aufgezeichnet. Da Ihre IP-Adresse einen PTR-Eintrag enthält, kann dies daran liegen, dass sie nicht nachgeschlagen haben oder dass ein vorübergehender DNS-Fehler aufgetreten ist.
Nun haben Sie anscheinend einen Webhosting-Service und zahlreiche Web-Apps. Wenn eine dieser Bedrohungen kompromittiert ist, wird möglicherweise Spam gesendet. Diese stellen häufig direkte Verbindungen zu Remotemailservern her, indem sie ihre MX-Einträge abrufen und eine Verbindung zu Port 25 herstellen, als wären sie tatsächlich ein Mailserver, anstatt Mail an den lokalen Mail-Spool oder einen authentifizierten Mail-Dienst an den Ports 587 oder 465 zuzustellen wie es legitime Web-Apps tun.
Eine Möglichkeit, dies zu verhindern, besteht darin, eine Firewall-Regel zu implementieren, die ausgehende Verbindungen an Port 25 verhindert, es sei denn, der Benutzer ist der Mailserver-Benutzer. Beispielsweise:
Web-Apps können E-Mails nicht mehr direkt an Remote-SMTP-Server übermitteln, sondern müssen den lokalen E-Mail-Spool oder einen authentifizierten E-Mail-Dienst verwenden.
quelle
iptables
Regel festlegen, nach der Postfix- und Plesk-Benutzer E-Mails senden können? Ist es auch möglich, Crondaemon (meine Cronjobs) so zu konfigurieren, dass E-Mails über SMTP via Postfix gesendet werden? Ich möchte den cron-Benutzer nicht zu iptables hinzufügen (als weitere Ausnahme), da es sicherer wäre, den E-Mail-Verkehr nach Möglichkeit durch Postfix laufen zu lassen. Ist es möglich, dass crontab postfix zum Versenden von Fehlerprotokollen verwendet? Sollte ich das hier auf serverfault in eine neue Frage stellen?root
? Weil der Master-Prozess von Postfixroot
in den meisten Fällen von ausgeführt wird. Oderpostfix
spawnt der Postfix-Master-Prozess Unterprozesse mit -user, um E-Mails zu senden / zu erledigen? Ich habe deine iptables-Regel ausprobiert, E-Mails konnten nicht zugestellt werden ... Wenn ichps -ef | grep "postfix"
sehe, dass einigepostfix
Unterprozesse vom -user und ein Hauptprozess vomroot
... ausgeführt werdenIn der heutigen Zeit ist der Versuch, einen eigenen Mail-Server einzurichten, größtenteils eine Niederlage, und Sie sind besser dran, einen erschwinglichen Dienst zu finden. Davon abgesehen ..
Sehen Sie sich Ihre Protokolle an, die an den Anbieter gehen, der Sie blockiert hat, und prüfen Sie, ob Sie Verdacht auf etwas haben. Es ist möglich und kommt häufig vor, dass jemand vergisst, dass er Ihren Newsletter abonniert hat, und Sie als Spam markiert. Dann können Sie je nach Anbieter auf die Blacklist des Anbieters gelangen, obwohl Sie nichts falsch gemacht haben.
Trennen Sie Massensendungen von all Ihren anderen E-Mails auf zwei Server.
Halten Sie Protokolle für Wochen auf ein Minimum und bessere Monate. Wenn also etwas passiert, recherchierst du.
Überprüfen Sie Ihre Protokolle täglich auf ähnliche Situationen von jedem Anbieter und prüfen Sie sie täglich oder schneller. Sobald Sie blockiert werden und weiterhin versuchen, sie zu senden, kann sich die Situation verschlechtern. Sie können von einem temporären Block zu einem permanenten Block wechseln, um an eine schwarze Liste gemeldet zu werden.
Ich bin mir nicht sicher, wie sie es implementieren, aber ich weiß, dass viele Anbieter für ausgehende Mail-Dienste Folgendes tun: Wenn ein Anbieter / eine IP-Adresse eine E-Mail blockiert, werden keine weiteren E-Mails gesendet. Im Idealfall möchten Sie so etwas. Da der zweite blockiert wird, wird das Problem nur durch das Senden von mehr verschlimmert.
quelle