Serversperre wegen Spammails! HILFE!

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
bigm
Posts: 4
Joined: 2006-11-28 12:20
 

Serversperre wegen Spammails! HILFE!

Post by bigm »

Hallo,

mir wurde heute eine kostenpflichtige Sperrung meines Servers bei Server4You angedroht, da über meinen Server angeblich eine Menge Spam-Mails verschickt wurden.

Die Original Mail von Server4You ist wie folgt:
Sehr geehrter Kunde,

uns wurde soeben mitgeteilt, dass von Ihrem System unzählige Spammails in unser eigenes Netz versendet werden. Um Ihnen eine kostenpflichtige Sperrung zu ersparen, warnen wir Sie hiermit, den Dienst sofort einzustellen.
Bitte betrachten Sie diese Ticket als ernsthaften Hinweis darauf, dass Ihr System derzeit anscheinend nichtmehr ihrer alleinigen Administration obligt.

Mit freundlichen Grüßen
*********
Da ich Free-Webhosting anbiete und über 330 Accounts derzeit in Benutzung sind, kann ich nicht genau herausfinden, wer den Spam verschickt.

Ich bin total verzweifelt und weiß mir nicht zu helfen...

Folgendes steht in meinen Logs (und noch mehr):

/var/log/mail

Code: Select all

Nov 28 11:02:44 golf4xx postfix/qmgr[25381]: D431D526A6: from=<wwwrun@golf4xx.server4you.de>, size=330, nrcpt=1 (queue active)
Nov 28 11:02:44 golf4xx postfix/qmgr[25381]: D6C06525AA: from=<wwwrun@golf4xx.server4you.de>, size=330, nrcpt=1 (queue active)
Diese Zeilen sind hundertfach oder tausendfach vorhanden!

Code: Select all

Nov 28 11:03:27 golf4xx postfix/qmgr[25381]: 49A5D530C5: to=<info@*****.de>, relay=none, delay=127945, status=deferred (delivery temporarily suspended: connect to mail.*****.de[85.13.xxx.xxx]: Connection timed out)
Nov 28 11:03:27 golf4xx postfix/qmgr[25381]: 4F977530C6: to=<info@*****.de>, relay=none, delay=127945, status=deferred (delivery temporarily suspended: connect to mail.rapcommunity.de[85.13.xxx.xxx]: Connection timed out)
Diese Zeilen sind ebenfalls hundertfach oder tausendfach vorhanden!

Ich habe den Servernamen, IP und die Domain zensiert, hoffe das ist ok.


/var/log/mail.err

Code: Select all

Nov 17 22:35:32 golf4xx postfix/sendmail[27657]: fatal: No recipient addresses found in message header
Nov 19 17:04:38 golf4xx pop3d: DISCONNECTED, user=web1p1, ip=[::ffff:88.64.xxx.xx], top=0, retr=0, time=0
Nov 20 05:52:44 golf4xx postfix/sendmail[7386]: fatal: No recipient addresses found in message header
Nov 21 18:48:56 golf4xx imapd: DISCONNECTED, ip=[::ffff:64.107.xxx.xx], time=0
Nov 25 07:53:43 golf4xx pop3d: DISCONNECTED, user=web2p1, ip=[::ffff:84.132.xxx.xxx], top=0, retr=0, time=9
Nov 26 10:27:52 golf4xx pop3d: DISCONNECTED, user=web1p1, ip=[::ffff:84.56.xxx.xxx], top=0, retr=0, time=0
Nov 27 15:06:41 golf4xx pop3d: DISCONNECTED, user=web2p1, ip=[::ffff:84.132.xxx.xxx], top=0, retr=0, time=4
Nov 27 17:19:13 golf4xx imapd: DISCONNECTED, ip=[::ffff:80.237.xxx.xx], time=0
Nov 27 19:31:58 golf4xx imapd: DISCONNECTED, ip=[::ffff:87.106.xx.xx], time=0
Nov 27 19:46:58 golf4xx imapd: DISCONNECTED, ip=[::ffff:67.15.xx.xx], time=0
Nov 27 21:16:28 golf4xx pop3d: DISCONNECTED, user=web2p1, ip=[::ffff:84.132.xxx.xx], top=0, retr=0, time=6
/var/log/mail.warn

Code: Select all

Nov 28 09:47:40 golf4xx postfix/smtpd[30036]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 09:50:25 golf4xx postfix/smtpd[30154]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: mail for *******.de is using up 4001 of 4001 active queue entries
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: you may need to reduce smtp connect and helo timeouts
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: so that Postfix quickly skips unavailable hosts
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: you may need to increase the main.cf minimal_backoff_time and maximal_backoff_time
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: so that Postfix wastes less time on undeliverable mail
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: you may need to increase the master.cf smtp process limit
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: please avoid flushing the whole queue when you have
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: lots of deferred mail, that is bad for performance
Nov 28 09:56:36 golf4xx postfix/qmgr[25381]: warning: to turn off these warnings specify: qmgr_clog_warn_time = 0
Nov 28 10:05:24 golf4xx postfix/smtpd[30737]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 10:09:27 golf4xx postfix/smtpd[30830]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 10:12:46 golf4xx postfix/smtpd[30830]: warning: 210.1.96.44: hostname ppp44.dyn1.96.pacific.net.ph verification failed: Name or service not known
Nov 28 10:27:20 golf4xx postfix/smtpd[31560]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 10:37:15 golf4xx postfix/smtpd[31836]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 10:41:15 golf4xx postfix/smtpd[31958]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 11:01:28 golf4xx postfix/smtpd[32471]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: mail for *******.de is using up 4001 of 4001 active queue entries
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: you may need to reduce smtp connect and helo timeouts
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: so that Postfix quickly skips unavailable hosts
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: you may need to increase the main.cf minimal_backoff_time and maximal_backoff_time
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: so that Postfix wastes less time on undeliverable mail
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: you may need to increase the master.cf smtp process limit
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: please avoid flushing the whole queue when you have
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: lots of deferred mail, that is bad for performance
Nov 28 11:20:02 golf4xx postfix/qmgr[25381]: warning: to turn off these warnings specify: qmgr_clog_warn_time = 0
Nov 28 11:30:29 golf4xx postfix/smtpd[1161]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 11:42:05 golf4xx postfix/smtpd[1577]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 11:44:02 golf4xx postfix/smtpd[1636]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 11:57:21 golf4xx postfix/smtpd[2260]: warning: 59.183.136.40: hostname triband-mum-59.183.136.40.mtnl.net.in verification failed: Name or service not known
Nov 28 11:57:50 golf4xx postfix/smtpd[2270]: warning: 59.183.136.40: hostname triband-mum-59.183.136.40.mtnl.net.in verification failed: Name or service not known
Nov 28 11:57:51 golf4xx postfix/smtpd[2270]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 12:06:48 golf4xx postfix/smtpd[2598]: warning: 59.183.136.40: hostname triband-mum-59.183.136.40.mtnl.net.in verification failed: Name or service not known
Nov 28 12:06:49 golf4xx postfix/smtpd[2598]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 12:23:07 golf4xx postfix/smtpd[3441]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Nov 28 12:23:16 golf4xx postfix/smtpd[3360]: warning: support for restriction "check_relay_domains" will be removed from Postfix; use "reject_unauth_destination" instead
Die mail.warn sieht mir sehr verdächtig aus, allerdings weiß ich nicht was zu tun ist.

Wie kann ich ein Script aufspüren, dass diese Mails verschickt hat? Oder kann ich irgendwie die IP herausfinden und / oder bestimmte Empfänger auf eine blacklist setzen?

Es werden anscheinend hunderte von mails an den selben empfänger geschickt.... :(

Bitte um Ratschläge und Hilfe.

MfG
bigM
duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA
 

Re: Serversperre wegen Spammails! HILFE!

Post by duergner »

MTA beenden, Script suchen (Wie das geht verraet dir die Forensche hier), Kunden kuendigen (und u.U. verklagen), Queue saubermachen und dann den MTA wieder starten.
bigm
Posts: 4
Joined: 2006-11-28 12:20
 

Re: Serversperre wegen Spammails! HILFE!

Post by bigm »

Danke für die Antwort.

Mit MTA meinst du sicherlich meinen Postfix Mailserver?
Den habe ich bereits deaktiviert.

Ich bin gerade dabei zu suchen, wo sich die Mail Queue befindet.

Im Verzeichnis /var/spool/postfix/ befinden sich verschiedene Ordner unter anderem auch "defer und deferred".

In den Ordnern befinden sich jeweils 15.975 in jeweils 16 Ordner.

Die Dateien nennen sich:

0A0B452040
0A1B552093

usw.

Ist das meine Queue? Wenn ja, kann ich das einfach so löschen? Der Inhalt so relativ der gleiche wie in meiner "mail log".

Der Ordner maildrop scheint die Mails zu speichern, die jetzt ohne postfix nicht gesendet werden können, kann das sein?

Danke für deine Hilfe!

MfG
bigM
lucki2
Posts: 427
Joined: 2006-10-03 01:31
 

Re: Serversperre wegen Spammails! HILFE!

Post by lucki2 »

und u.U. verklagen
Nee, geht nicht. Erst wenn bei Dir eine Klage eingetroffen ist. Klagen kann imho nur der Spamempfänger und da meine ich erst ab nächstem Jahr richtig ernsthaft(50.000€) oder wenn der Serverbetrieb eines dritten gefährdet wird - dann müsste aber imho auch der Dritte das anzetteln(bzw irgendwie bka/lka ermitteln).

Das, was der Provider macht, ist die richtige Vorgehensweise: Kunden abmahnen. Evtl mit Unterlassungserklärung und Schadensersatzandrohung.
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim
 

Re: Serversperre wegen Spammails! HILFE!

Post by oxygen »

lucki2 wrote:
und u.U. verklagen
Nee, geht nicht.
Jein. Es gibt in so einer Situation natürlich mehrere Klagewege, nicht nur wegen Spam.
rot
Posts: 45
Joined: 2004-03-20 12:44
 

Re: Serversperre wegen Spammails! HILFE!

Post by rot »

Um deinem Problem näher zu kommen: Dem Absender nach tippe ich auf ein unzureichend geschütztes Mailformular (z. B. in einem Kontaktformular), welches Header-Injection erlaubt.
Anonymous
 

Re: Serversperre wegen Spammails! HILFE!

Post by Anonymous »

Hatte gerade das selbe Problem. Als Ursache hat sich dann herausgestellt, dass etliche User in ihren Homeverzeichnissen PHP-Skripte hatten, die Zeilen wie

include($_POST["page"]);

enthielten. Wenn nun in $_POST["page"] "zufällig" die URL einer Seite mit einem ganz boshaften PHP-Skript enthalten ist, wird eben dieses boshafte Skript ausgeführt und dein Rechner spammt dann möglicherweise in der Weltgeschichte herum...

In diesem Fall: in php.ini

allow_url_fopen = Off

setzen. Dann akzeptiert include keine URLs mehr.
metrax
Posts: 194
Joined: 2003-02-22 22:51
Location: München / Berg-am-Laim
 

Re: Serversperre wegen Spammails! HILFE!

Post by metrax »

das neuste PHP (5.2.0) bietet da noch eine option mehr:
allow_url_include

gruß
Robert
franki
Posts: 60
Joined: 2005-05-31 16:23
Location: Dresden
 

Re: Serversperre wegen Spammails! HILFE!

Post by franki »

Check mal die Apache-Logs mit cat /var/log/apache/access.log | grep wget

Das mit dem Spams mit wwwrun als Absender hatte ich vor ca. 1 Jahr auch, Ursache war nicht aktuelles Mambo/Joomla, hab daraufhin php.ini geändert, Firewall (Shorewall) installiert, mod_security installiert usw.

Gruß von Franki.
Anonymous
 

Re: Serversperre wegen Spammails! HILFE!

Post by Anonymous »

Hier noch ein billiges Skript als Soforthilfe, wenn man seinen postfix nicht einfach abschalten kann und das Problem nicht gleich findet. Es testet alle 5 Sekunden, ob der Mailserver gerade überfordert wird (sieht man an der Ansammlung von Dateien im active-Spoolverzeichnis von postfix; typisch, wenn gerade eine Attacke läuft), fährt dann postfix und apache runter, löscht die postfix-Spool-Verzeichnisse active, bounce, maildrop, defer/* und deferred/*, fährt dann die Server wieder hoch und wartet auf die nächste Attacke :evil:
Die Pfade sind opensuse 10.1, müssen ggf. natürlich angepasst werden.

Einfach als Hintergrundprozess laufen lassen und die Ausgabe in eine Log-Datei lenken. Verbraucht praktisch keine Ressourcen.

Code: Select all

#!/usr/bin/php
<?php
## Temporarily stop mail and webserver when they are abused to send spam

## Fit these values to your requirements

#path to postfix spool directories
$basedir = "/var/spool/postfix";
#commands to start and stop apache
$apachestart = "/usr/sbin/rcapache2 start";
$apachestop = "/usr/sbin/rcapache2 stop";
#commands to start and stop postfix
$postfixstart = "/sbin/rcpostfix start";
$postfixstop = "/sbin/rcpostfix stop";
# account to receive system mail
$sysadmin = "ws";
# your domain to receive email
$mydomain = "duck.entenhausen";
# if the number of files in $basedir/active exceeds $maxfiles,
# consider this as a spam attack.
$maxfiles = 10;


$activequeue = "$basedir/active";
$hex = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
$i = 0;
$allqueues[$i++] = $activequeue;
$allqueues[$i++] = "$basedir/maildrop";
$allqueues[$i++] = "$basedir/bounce";
for($k = 0; $k < sizeof($hex); $k++) {
   $allqueues[$i] = "$basedir/defer/".$hex[$k];
   $allqueues[$i++] = "$basedir/deferred/".$hex[$k];
}

while(true) {
  if(filenumber_exeeds($activequeue, $maxfiles)) {
    cleanup($allqueues);
  }
  sleep(5);
}

function filenumber_exeeds($dir, $nr) {
  $nr += 3; // don't count . and .., and add 1 for excess
  if($dp = @opendir($dir)) {
    for($i = 0; $i < $nr; $i++) {
      if(readdir($dp) === false) {
        closedir($dp);
        return false;
      }
    }
    closedir($dp);
    return true;
  }
  return false;
}

function cleanup($queues) {
  global $postfixstart, $postfixstop, $apachestart, $apachestop;
  global $sysadmin, $mydomain;

  echo date("D M j G:i:s T Y")." starting cleanup processn";
  echo date("D M j G:i:s T Y")." stopping postfixn";
  system($postfixstop);
  echo date("D M j G:i:s T Y")." stopping apachen";
  system($apachestop);

  for($i = 0; $i < sizeof($queues); $i++) {
     unset($files);
     $f = 0;
     if(!($dp = @opendir($queues[$i])))
       continue;
     echo "emptying ".$queues[$i]."n";
     while(($file = readdir($dp)) !== false) {
       if($file != "." and $file != "..")
          $files[$f++] = $queues[$i]."/".$file;
     }
     closedir($dp);
     for($k = 0; $k < sizeof($files); $k++) {
       $command = "rm -f ".$files[$k];
       system($command);
     }
  }
  sleep(1);
  echo date("D M j G:i:s T Y")." restarting postfixn";
  system($postfixstart);
  sleep(3);
  echo date("D M j G:i:s T Y")." restarting apachen";
  system($apachestart);
  sleep(10);
  echo date("D M j G:i:s T Y")." sending mail to $sysadmin@$mydomainn";
  mail($sysadmin."@".$mydomain, "Spam-Attacke", "Es wurde eine Spam-Attacke abgewürgt.n", "From: spamstopper@$mydomainn");
}
?>
hackintosh
Posts: 4
Joined: 2006-12-07 15:14
 

Re: Serversperre wegen Spammails! HILFE!

Post by hackintosh »

Oh, so ein script ist natürlich prima, geht das auch mit qmail unter suse?
croc
Posts: 71
Joined: 2005-09-16 15:30
Location: Leipzig
 

Re: Serversperre wegen Spammails! HILFE!

Post by croc »

Sollte funktionieren.
Es müssen dann entsprechend Pfade an Qmail angepasst werden und evtl die Variablen und Outputs geändert werden, damit es dann aufm Bildschirm auch Qmail und nicht Postfix hinschreibt.
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin
 

Re: Serversperre wegen Spammails! HILFE!

Post by flo »

Ich würde davon Abstand nehmen, automatisiert Mails zu löschen - was passiert, wenn einer der Kunden gerade Massen-Mails verschickt?

davon abgesehen, tut es ein

Code: Select all

if [ `mailq | wc -l` -gt 5 ]; then mailq | mail -s "Mailqueue zu voll" root && sleep 5; /etc/init.d/postfix stop; fi
auch, ist schlanker und sicherer, als Deine Queue beim leisesten Anzeichen eine Mißbrauchs zu purgen.

flo.
distanzcheck
Posts: 531
Joined: 2003-01-09 08:58
Location: NRW
 

Re: Serversperre wegen Spammails! HILFE!

Post by distanzcheck »

wo sollte dies den am besten hin ?

Dirk
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin
 

Re: Serversperre wegen Spammails! HILFE!

Post by flo »

ab in die Crontab und darauf achten, daß das Environment für Cron passt - oder alternativ absolute Pfade benutzen. Die 5 sollte rvtl. auch noch an einen vernünftigen Wert angepasst werden, das wäre nämlich eine Mail.

flo.
rootsvr
Posts: 538
Joined: 2005-09-02 11:12
 

Re: Serversperre wegen Spammails! HILFE!

Post by rootsvr »

Ich glaube automatisiert die queue löschen weil eine Firma grade ihre Weihnachtsmailings verschchickt wäre ein ziemliches Todesurteil.. aber jeder wie er will.. löschen von dir anvertrauten Mails ist strafbar. (§206 StGB Verletzung Post und Fernmeldegeheimnis)
3. eine Sendung, die einem solchen Unternehmen zur Übermittlung
anvertraut worden und verschlossen ist, öffnet oder sich von ihrem Inhalt
ohne Öffnung des Verschlusses unter Anwendung technischer Mittel
Kenntnis verschafft,
2. eine einem solchen Unternehmen zur Übermittlung anvertraute Sendung
unterdrückt
oder ...
tangenta
Posts: 36
Joined: 2006-12-15 11:20
 

Re: Serversperre wegen Spammails! HILFE!

Post by tangenta »

Hatte genau das selbe Problem und habe das so gelöst:
http://www.rootforum.org/forum/viewtopic.php?t=43917
(siehe 4. posting "meine Lösung"

Ich schätze das wäre wahrscheinlich auch die beste Lösung für einen Free-Webhosting Anbieter!
flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin
 

Re: Serversperre wegen Spammails! HILFE!

Post by flo »

tangenta wrote:Ich schätze das wäre wahrscheinlich auch die beste Lösung für einen Free-Webhosting Anbieter!
Nich böse sein, aber da sollte php mindestens als CGI laufen, wenn nicht die Apaches in chroots und einzeln ... damit wäre nachvollziehbar, von welchem Account aus emails geshickt werden.

flo.