staging.inyokaproject.org

Mailserver Angriff?

Status: Ungelöst | Ubuntu-Version: Ubuntu 9.10 (Karmic Koala)
Antworten |

donchris

Avatar von donchris

Anmeldungsdatum:
28. Mai 2007

Beiträge: Zähle...

Seit einigen Stunden steht der ganze Mailserver. Die Queue füllt sich (sobald man den Dienst wieder startet) innerhalb weniger Sekunden auf über tausende Nachrichten und der Maillog hat auch schon die 5GB erreicht. Im Moment weiß ich nicht genau was falsch gelaufen ist.

Ich kann im Moment nur sagen, dass alle Postfächer mit "Undelivered Mail Returned to Sender" - Nachrichten überfluten werden.

Der Absender ist: MAILER-DAEMON@xy (Mail Delivery System) <MAILER-DAEMON@xy (Mail Delivery System)>

xy steht hierbei für meinen Host.

Meine postconf -n Ausgabe:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
content_filter = scan:127.0.0.1:10025
inet_interfaces = all
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 0
message_size_limit = 51200000
milter_default_action = accept
mydestination = localhost
myhostname = xy
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
receive_override_options = no_address_mappings
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = mail.xy ESMTP
smtpd_milters = unix:/var/run/spamass.sock
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination, check_client_access regexp:/etc/postfix/blacklist_clients
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
virtual_alias_maps = mysql:/etc/postfix/virtual-alias-maps.cf,mysql:/etc/postfix/email2email.cf
virtual_mailbox_domains = mysql:/etc/postfix/virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual-mailbox-maps.cf
virtual_transport = dovecot

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Von Mailservern habe ich auch keine Ahnung. Vielleicht haben sich Loops gebildet, wodurch Mails immer wieder neu weitergeleitet werden. Interessant wäre noch zu wissen wer der Empfänger der E-Mails sein soll. Da ich keine Ahnung von Mailservern habe nutze ich sie nicht. Werden schnell zur Spamschleuder.

donchris

(Themenstarter)
Avatar von donchris

Anmeldungsdatum:
28. Mai 2007

Beiträge: Zähle...

Wie würde ein Befehl ausschauen, der alle Dateien mit dem Inhalt "Undelivered Mail Returned to Sender" aus dem Ordner /var/vmail löscht?

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

In /var/mail sollten eigentlich Benutzerkennungen sein, die dann wiederum die E-Mails enthalten. Poste mal den Inhalt von /var/mail. Vielleicht auch einen Auszug einer Datei.

donchris

(Themenstarter)
Avatar von donchris

Anmeldungsdatum:
28. Mai 2007

Beiträge: Zähle...

Ja, meine /var/vmail/ ist wie folgt aufgebaut

/var/vmail/domain/benutzer/maildir

ich bräuchte nur einen Befehl der mir alle Dateinamen zurückliefert, die einen gewissen String enthalten. Diesen würde ich rekursiv über vmail anwenden und direkt per pipe damit rm füttern. Doch wie kann ich direkt in der Datei suchen und dann den Dateinamen zurückbekommen??? und das noch performant? - es handelt sich um ~ 80 000 - 100 000 Dateien.

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Vielleicht so:

fgrep -R suchtext /var/vmail/domain/
fgrep -R "Ein Text" /var/vmail/domain/

Ich denke die Ausgabe wirst du umleiten müssen, dann vielleicht mit "cut". Evtl. macht es Sinn das Ergebnis erst in eine Datei zu schreiben, um es dann weiterzubearbeiten. Kann aber etwas dauern, versuche erst ein Unterverzeichnis.

Interessant wäre es Statistiken zu bilden welche Benutzer wie oft vorkommen.

donchris

(Themenstarter)
Avatar von donchris

Anmeldungsdatum:
28. Mai 2007

Beiträge: 230

uname schrieb:

Vielleicht so:

fgrep -R suchtext /var/vmail/domain/
fgrep -R "Ein Text" /var/vmail/domain/

Ich denke die Ausgabe wirst du umleiten müssen, dann vielleicht mit "cut". Evtl. macht es Sinn das Ergebnis erst in eine Datei zu schreiben, um es dann weiterzubearbeiten. Kann aber etwas dauern, versuche erst ein Unterverzeichnis.

Ja, aber dann durchsuche ich ja nur die Dateinamen und die haben in meinem Mailsystem automatisch generierte kryptische Namen. Ich habe

 find -type f|xargs grep "suchwort"

gefunden, das einiges findet, aber es gibt nicht nur den Dateinamen aus und daher kann ich es nicht direkt an rm weitergeben ... heute muss ich noch etwas für die uni machen, aber morgen werde ich mir einmal die Dokumentationen durchschauen - vielleicht finde ich die Wunderfunktion

Interessant wäre es Statistiken zu bilden welche Benutzer wie oft vorkommen.

Auf jeden Fall ...

Nefarius

Avatar von Nefarius

Anmeldungsdatum:
11. Dezember 2008

Beiträge: Zähle...

Hallo,

wo bleibt eigentlich das Wichtigste: ein aussagekräftiger Auszug aus dem /var/log/mail.log?

MfG Nefarius

donchris

(Themenstarter)
Avatar von donchris

Anmeldungsdatum:
28. Mai 2007

Beiträge: 230

Nefarius schrieb:

Hallo,

wo bleibt eigentlich das Wichtigste: ein aussagekräftiger Auszug aus dem /var/log/mail.log?

MfG Nefarius

du hast schon Recht, aber das wird noch etwas dauern: Der Log hat eine Größe von 5GB. Ich habe ihn einmal gesichert und werde ihn in den nächsten freien Minuten genauer begutachten - werde mich wieder Melden.

Jetzt einmal wäre nur wichtig, wie man so eine Löschfunktion schreiben könnte: Also alle Dateien löschen, die einen Gewissen Inhalt aufweisen, weiters müsste ich die Suche noch ein wenig eingrenzen, damit ich nicht die Indexdateien von Dovecot lösche.

Da ich gerade von Dovecot sprach: Wenn ich Mails ohne Meldung einfach lösche, aktualisiert Dovecot automatisch die Indizes?

mfg chris

Antworten |