metadsb
Goto Top

DDOS auf Postfix und Apache (noch) an Fail2Ban vorbei? Brauch nen Tipp..

Hallo! Gelegentlich bin ich gelangweilten Typen dankbar, bringen Sie mich doch beim Durchforsten der Logfiles auf neue Ideen. face-wink

Die Situation:

Grafik von dieser Woche (Postfix/Munin), Werte pro Sekunde:
03ebfd4b5a941fc210b32229c31322dd-mailfiltered-week

1 + 7: Normal
2: Oops!
3: Ein Ausreisser wird angezeigt
4 + 5 + 6: Interpretiere ich als Nachwehen


Auffälligkeiten (Auszüge) aus Syslog:

reject: RCPT from unknown[95.134.173.73]: 450 4.1.8 <xoi@philka>: Sender address rejected: Domain not found; from=<xoi@philka> to=<abaloneb37@metadsb.de> proto=ESMTP helo=<philka>
reject: RCPT from unknown[95.134.173.73]: 450 4.1.8 <xoi@philka>: Sender address rejected: Domain not found; from=<xoi@philka> to=<abnormalitieshky446@metadsb.de> proto=ESMTP helo=<philka>
... x-Mal ..
reject: RCPT from unknown[95.134.173.73]: 450 4.1.8 <xoi@philka>: Sender address rejected: Domain not found; from=<xoi@philka> to=<activitiesn53@metadsb.de> proto=ESMTP helo=<philka>
warning: Illegal address syntax from unknown[95.134.173.73] in MAIL command: <---a.centofanti@philka>


.. viele einträge wie unten ...
reject: RCPT from host-77-81-154-140.nettelecom.ro[77.81.154.140]: 450 4.1.8 <0.shim222@cs-6f1b59997abb>: Sender address rejected: Domain not found; from=<0.shim222@cs-6f1b59997abb> to=<brainstormed@metadsb.de> proto=ESMTP helo=<cs-6f1b59997abb>
reject: RCPT from host-77-81-154-140.nettelecom.ro[77.81.154.140]: 450 4.1.8 <0.shim222@cs-6f1b59997abb>: Sender address rejected: Domain not found; from=<0.shim222@cs-6f1b59997abb> to=<braquem0@metadsb.de> proto=ESMTP helo=<cs-6f1b59997abb>
reject: RCPT from host-77-81-154-140.nettelecom.ro[77.81.154.140]: 450 4.1.8 <0.shim222@cs-6f1b59997abb>: Sender address rejected: Domain not found; from=<0.shim222@cs-6f1b59997abb> to=<bravuraah95@metadsb.de> proto=ESMTP helo=<cs-6f1b59997abb>
warning: Illegal address syntax from host-77-81-154-140.nettelecom.ro[77.81.154.140] in MAIL command: <-mud_ku@cs-6f1b59997abb>
too many errors after RCPT from host-77-81-154-140.nettelecom.ro[77.81.154.140]

So, das Ganze geht auch öfter face-wink:
warning: Connection rate limit exceeded: 66 from nat-dom5.aster.pl[212.76.37.224] for service smtp
warning: Connection rate limit exceeded: 67 from nat-dom5.aster.pl[212.76.37.224] for service smtp
warning: Connection rate limit exceeded: 68 from nat-dom5.aster.pl[212.76.37.224] for service smtp
warning: Connection rate limit exceeded: 69 from nat-dom5.aster.pl[212.76.37.224] for service smtp


Ein Lösungsansatz könnte sein, Fail2Ban ins mail.log schauen zu lassen und bei (Parameter) 3 mal reject 5xx und 450 an IPTables zu übergeben (Drop). Bantime steht bei mir auf einer Woche, das sollte auch denen mit der grösstmöglich anzunehmenden Langeweile die Motivation nehmen. Soweit die Idee, in gut 2h in Google habe ich Ansätze über "regex" gesehen, aber keine konkreten Schritte. Vielleicht habe ich auch nicht richtig gesucht oder _den einen Link_ übersehen. Kann mir da jemand einen Tipp geben wie ich die Fail2Ban dazu bekomme, sich der rejects 5xx und 450 anzunehmen?


Hmm.. ein Blick ins Log vom Apache ist schon hilfreich face-wink :
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 4 idle, and 17 total children
[info] [client 123.125.64.38] (104)Connection reset by peer: core_output_filter: writing data to the network
[info] [client 123.125.64.38] (32)Broken pipe: core_output_filter: writing data to the network
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 4 idle, and 17 total children
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 4 idle, and 17 total children
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 2 idle, and 18 total children
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 3 idle, and 21 total children
[info] [client 123.125.64.38] (104)Connection reset by peer: core_output_filter: writing data to the network
[info] [client 123.125.64.38] (32)Broken pipe: core_output_filter: writing data to the network
[info] [client 123.125.64.38] (104)Connection reset by peer: core_output_filter: writing data to the network
[info] [client 123.125.64.38] (32)Broken pipe: core_output_filter: writing data to the network
[error] [client 67.19.254.98] File does not exist: /var/www/sharedip/phpMyAdmin
.. an die 30 Zeilen rausgenommen die auf ein leeres sharedip/wasauchimmer zugreifen wollen ..
[info] server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers), spawning 8 children, there are 0 idle, and 17 total children

Damit ergibt sich ein zweiter Ansatzpunkt (server seems busy). Denn in jail.conf sind Apache, -noscript und -overflow mit dem Wert 3 versehen. In diesem Fall hat es nicht gegriffen, um 12:43h und bei einer anderen IP schon: The IP 209.139.66.117 has just been banned by Fail2Ban after 4 attempts against apache-overflows.


Bleiben bei mir die Fragezeichen zu
a) rejects 5xx und 450 an IPTables
b) Apache info und error an IPTables (wenn sinnvoll. klar)


Sachdienliche Hinweise werden gerne angenommen.

Besten Dank im voraus,
CMO

Content-Key: 119059

Url: https://administrator.de/contentid/119059

Ausgedruckt am: 29.03.2024 um 13:03 Uhr

Mitglied: MetaDSB
MetaDSB 31.10.2009 um 19:58:29 Uhr
Goto Top
Nachtrag: nachdem es mir zu bunt geworden ist, habe ich dem Treiben ein Ende gesetzt. Vielleicht will der eine oder andere ja auch so oder ähnlich abstellen.

Hier mein Weg:

a) Die Länder von denen der Grossteil der Angriffsversuche über diverse Protokolle und Ports sowie Spamattacken ausgingen (Bsp. CN, RU,..), wurden kurzerhand komplett ausgeschlossen mit diesem Script für iptables: http://www.cyberciti.biz/faq/block-entier-country-using-iptables/

b) Postfix main.cf lässt keinen Spuk zu (Limits), liefert die 450, 504, 550, 554 Einträge und

c) fail2ban nimmt sich u.a. dieser Fälle an.

d) Postgrey für Greylisting und

e) diverse DNSBLs in Postfix main.cf werden eigentlich nicht mehr gebraucht, erledigen ggf. den Rest.

f) Filter für den Posteingang setzen (bisher kein false positive, aber man weiß ja nie)

g) Entspannen und geniessen.