Spam mit Empfangsbestätigung

In letzter Zeit kommt es immer wieder vor, dass die Warteschlange der ausgehenden E-Mails gewaltig anwächst. Es handelt sich dabei oft im Spam-Mails mit gefälschtem Absender und aktivierter Empfangsbestätigung. Ein paar trickreiche Sendmail-Kommandos räumen auf.

In der Warteschlangen stehen hunderte von E-Mails, hier exemplarisch zwei herausgenommen:

~# mailq
v7DB2pot018012     2519 Sun Aug 13 13:02 MAILER-DAEMON
                 (Deferred: Connection refused by habacland.com.)
                                         <hulda1tdnap3@habacland.com>
v7DKLjhL019655     2125 Sun Aug 13 22:21 MAILER-DAEMON
                 (Deferred: Connection refused by habacland.com.)
                                         <marien4j06sq@habacland.com>

Zum einen liegen diese E-Mails schon lange in der Warteschlange (es ist ja Donnerstag, der 17. August). Dies lässt die Warteschlange anwachsen.

Zum anderen wird ein vermutlich unschuldiger Server mit Backscatter attackiert. Auch das ist nicht gut.

Also erst einmal dem Kram wegräumen und manuell begutachten:

~# sendmail -Q"strange backscatter" -qR@habacland.com

Alle E-Mails, die an diese Empfängerdomain gehen, werden mit der Meldung "strange backscatter" in Quarantäne geschoben.

Dies bewirkt zweierlei:

  • Erstens versucht der Mailserver nicht mehr die E-Mails zuzustellen.
  • Und zweitens sind die E-Mails nun leicht erkennbar (die Spooldateien beginnen mit einem 'h').

Da die E-Mails nicht mehr in der normalen Warteschlange auftauchen, muss man ein anderes Kommando zur Anzeige bemühen:

# mailq -qQ
v7DKLjhL019655     2125 Sun Aug 13 22:21 MAILER-DAEMON
     QUARANTINE: strange backscatter
                 (Deferred: Connection refused by habacland.com.)
                                         <marien4j06sq@habacland.com>
v7DB2pot018012     2519 Sun Aug 13 13:02 MAILER-DAEMON
     QUARANTINE: strange backscatter
                 (Deferred: Connection refused by habacland.com.)
                                         <hulda1tdnap3@habacland.com>

Es ist schön zu sehen, dass der Quarantänegrund extra genannt wird. Man kann also mehrere Arten von Quarantäne gleichzeitig betreiben und trotzdem voneinander trennen.

Nachdem ich mich davon überzeugt habe, dass all diese E-Mails die gleiche Art Backscatter sind ...

H??Content-Type: multipart/report; report-type=delivery-status;
        boundary="v7..."

... wird die Zustellung dieser E-Mails abgebrochen.

# mailq -qQ |
  sed -n '/^v/s/[    ].*//p' |
  while read a; do
    sendmail -Q -qQ -qI$a
    sendmail -qI$a -O Timeout.queuereturn=now
  done

Dazu wird pro interner Mailkennung (mit sed extrahiert) der Quarantäne-Mails (mit mailq -qQ selektiert)

  • die Mail aus der Quarantäne genommen (mit sendmail -Q) und
  • die individuelle Queue-Verteilzeit auf 0 gesetzt.

Es wäre natürlich auch möglich gewesen, die E-Mails einfach zu löschen. Aber das ist Ansichtssache.

Bleibt die Frage. woher man so etwas lernen kann: Im Sendmail-Contrib-Verzeichnis gibt es ein Tool qtool.pl, dass all diese Dinge kann und leicht zu lesen ist.

Avatar
Lutz Donnerhacke 17.08.2017 12:29
Und dann noch eine Änderung in der sendmail.cf:
O Timeout.queuereturn.dsn=1d

Fertig.

1 Kommentare

Post a comment

Verwandter Inhalt