Spam Versand Nachsuche

CEW4

Member
Hallo,

ich habe hier einen ubuntu-Server, über den offensichtlich in erheblichem Maß Spam verschickt wurde. Jetzt würde mich interessieren, wie.

Gibt es ein Logfile, aus dem hervorgeht, unter welchem Account die fraglichen mails eingeliefert wurden? Daraus sollte ich doch wenigstens ersehen können, ob es sich um einen externen (z.B. IMAP) oder einen internen (PHP Skript) User handelt, oder?

MfG
 
schau mal unter /var/log/mail.log nach
Danke, da war ich schon, aber dort finden sich nur ein Haufen Fehlermeldungen, die vom Versenden an den Ziel-MTA herrühren (z.B. "your IP is blocked by RBL"). Ich finde dort keine Zeilen, welche die Einlieferung an meinen eigenen Postfix beschreiben.

Bin ich vielleicht "zu spät" und sehe nur die retries, während die eigentliche Einlieferung schon 12 oder 24 Stunden früher stattgefunden hat? Aber dort sind auch keine verdächtigen Logins zu finden.

Ich könnte versuchen, die Zeiten mit auth.log zu korrelieren, aber dort scheinen nur die fehlgeschlagenen Login-Versuche protokolliert zu sein, nicht die erfolgreichen.

MfG
 
Last edited by a moderator:
auth.log protokolliert auch erfolgreiche Logins.

Hast du mal in der mail.log.1 geschaut? Wenn dir eine Spammail, die du verschickt haben sollst, vorliegt, hast du auch eine ID zu der Mail. Die ist eindeutig und muss im Log zu finden sein.
 
Ich würde dann mal unter den Webanwendungen schauen ob es da irgendwo eine php gibt welche fröhlich dazu mißbraucht wird von deinem Server zu senden. Kann irgendeine veraltete Joomla, Wordpress installation sein oder was ähnliches.
 
auth.log protokolliert auch erfolgreiche Logins.

Hast du mal in der mail.log.1 geschaut? Wenn dir eine Spammail, die du verschickt haben sollst, vorliegt, hast du auch eine ID zu der Mail. Die ist eindeutig und muss im Log zu finden sein.
In mail.info finde ich z.B. sowas:

Code:
May  3 06:38:56 h1644516 postfix/smtpd[25796]: connect from 1-160-119-2.dynamic.hinet.net[1.160.119.2]
May  3 06:38:57 h1644516 postfix/smtpd[25796]: NOQUEUE: reject: RCPT from 1-160-119-2.dynamic.hinet.net[1.160.119.2]: 554 5.7.1 <gk49fawn@yahoo.com.tw>: Relay access denied; from=<z2007tw@yahoo.com.tw> to=<gk49fawn@yahoo.com.tw> proto=SMTP helo=<85.214.145.92>
May  3 06:38:58 h1644516 postfix/smtpd[25796]: lost connection after RCPT from 1-160-119-2.dynamic.hinet.net[1.160.119.2]
May  3 06:38:58 h1644516 postfix/smtpd[25796]: disconnect from 1-160-119-2.dynamic.hinet.net[1.160.119.2]

Wenn ich es richtig lese, dann wollte der Host 1.160.119.2 eine mail einliefern, was ihm aber mit "relay access denied" verweigert wurde. Aber es steht nicht da, wie sich der Host bei meinem System anmelden wollte.

Oder liegt das daran, daß momentan relay prinzipiell ausgeschaltet ist; kommt es erst gar nicht mehr zum Login?

Oder ist das ein Dritt-Täter, der mit meinem ursprünglichen Problem gar nichts zutun hat?

Leider sind mir die Logdateien dermaßen vollgelaufen, daß ich nur wenige Tage in die Vergangenheit blicken kann.

Trotzdem habe ich hier gigabyte-weise Logs - gibt es dazu eigentlich kein Tool, mit dem solche Logs besser zu handhaben sind als ein blanker ASCII-Editor?

MfG
 
Last edited by a moderator:
Ich würde dann mal unter den Webanwendungen schauen ob es da irgendwo eine php gibt welche fröhlich dazu mißbraucht wird von deinem Server zu senden. Kann irgendeine veraltete Joomla, Wordpress installation sein oder was ähnliches.
Ich habe da tatsächlich einen Verdacht.

Heute werde ich die Dateien auf mein lokales System duplizieren und byteweise mit einer Referenzinstallation vergleichen. Das müsste ausreichen, oder? Soweit, daß exploit-Code in einer Datenbank abgelegt worden wäre, sind wir noch nicht?

MfG
 
Trotzdem habe ich hier gigabyte-weise Logs - gibt es dazu eigentlich kein Tool, mit dem solche Logs besser zu handhaben sind als ein blanker ASCII-Editor?
Ja, nennt sich grep.
http://unixhelp.ed.ac.uk/CGI/man-cgi?grep

Wenn du Zeilen siehst, bei der eine Spam-Mail von einem Empfänger-MTA abgewiesen wurde (schreibst du ja, dass du davon viele siehst), dann enthalten diese Zeilen auch die Mail-ID, die die Mails in deinem System haben.
Mit grep filterst du dann alle Zeilen zu dieser Mail aus den Logs. Da muss auch dabei sein, wo die Mail her gekommen ist.
 
Soweit, daß exploit-Code in einer Datenbank abgelegt worden wäre, sind wir noch nicht?
Doch, ein entsprechendes (kostenpflichtiges) Tool wäre cxs (einmalig $50 je Server).
Es wird vom Hersteller als cPanel-Erweiterung beworben, kann aber standalone auf allen gängigen Linux-Plattformen betrieben werden.

Ich kann dir sendmail-wrapper empfehlen (Achtung: der Web-User darf dann keine Shell-Befehle ausführen dürfen oder sendmail selber muss für ihn nicht erreichbar sein), damit kannst du dich nicht nur über ausgehenden Massenversand informieren lassen sondern auch extreme Versand-Stöße (generell Spam) blockieren.

Am Rand: bitte stelle sicher dass Port 25 ausgehend für die Web-User blockiert ist. Ansonsten kann man den Mailserver schlicht umgehen und Direkt-Verbindungen mit dem Empfänger aufbauen.
 
Wenn du Zeilen siehst, bei der eine Spam-Mail von einem Empfänger-MTA abgewiesen wurde (schreibst du ja, dass du davon viele siehst), dann enthalten diese Zeilen auch die Mail-ID, die die Mails in deinem System haben.
Mit grep filterst du dann alle Zeilen zu dieser Mail aus den Logs. Da muss auch dabei sein, wo die Mail her gekommen ist.
Der Tip war gut:

Ich habe inzwischen den Zeitpunkt gefunden, an dem die Logs begonnen haben zu explodieren. Glücklicherweise sind die Logs gerade da noch vollständig. Dort habe ich eine Id verfolgt und bin bis zu einem Login gekommen:

Code:
postfix/smtpd[26913]: C5E0D116231C: client=unknown[94.186.144.59], sasl_method=LOGIN, sasl_username=einuser@meinserver.de
Das ist doch eindeutig ein erfolgreicher Login von einuser@meinserver.de, oder?

Aber C5E0D116231C ist eine Art session-ID, keine mail-ID, richtig? Im folgenden sieht es nämlich so aus, als wären unter dieser ID reihenweise mails eingereicht worden:

Code:
postfix/smtp[27056]: C5E0D116231C: to=<simbach@stahlgruber.de>, relay=mailrelay.stahlgruber.de[145.253.184.38]:25, delay=29, delays=28/0.04/0.25/0.42, dsn=2.0.0, status=sent (250 2.0.0 Message received OK)
postfix/smtp[27045]: C5E0D116231C: to=<silviourban@funfunclan.de>, relay=none, delay=28, delays=28/0.02/0.02/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=funfunclan.de type=AAAA: Host not found)
postfix/smtp[27067]: C5E0D116231C: to=<sima@karo-team.de>, relay=none, delay=28, delays=28/0.03/0.1/0, dsn=4.4.1, status=deferred (connect to mail.karo-team.de[195.14.232.150]:25: Connection refused)
postfix/smtp[27044]: C5E0D116231C: to=<simdorn@dfv.de>, relay=mail.dfv.de[213.83.3.5]:25, delay=29, delays=28/0.02/0.14/0.73, dsn=2.0.0, status=sent (250 Ok: queued as 86CE6174A671)

Stimmt meine Analyse bis hierhin?

MfG
 
Aber C5E0D116231C ist eine Art session-ID, keine mail-ID, richtig?
Leider falsch - das ist die Queue-ID, die die Mail in deinem System hatte. (Hatte ich vorher Mail-ID genannt, Queue-ID ist aber richtiger.)
Die späteren Zeilen sind alle Zeilen, in denen die Mail dein System wieder verlässt. (Deshalb waren die alle unter der selben Queue-ID geloggt.) Ich nehme an, die Mail war an eine ganze Liste von Empfängern adressiert.
 
Last edited by a moderator:
Ja, so scheint es gewesen zu sein.

Seitdem der betreffende Benutzer gesperrt wurde, ist Ruhe.

Danke an alle, die mir geholfen haben!

MfG
 
Back
Top