• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

SMTP Relay absichern

masterofnothing

New Member
Hallo SSF,

Ich betreibe ein öffentliches SMTP Relay für einen Freehoster.

Das Problem ist, das sich ein derart offenes Relay viel zu leicht für Spamversand ausnutzen lässt.

Welche Möglichkeiten gibt es, ausgehenden Spam zu begrenzen ohne gleich das SMTP abzuschalten?

Bei phpmail zählen wir die Mails via Wrapper im sendmail Modul und nehmen das Web des Nutzers offline, sobald mehr als 100 Mails innerhalb von 24Std verschickt werden - wäre so etwas auch für SMTP denkbar?

Eine Lösung via iptables (Stichwort Rate Limit) scheint nicht unsere Zwecke zu erfüllen.

OS: Debian Etch
MTA: Postfix
 
Wie wäre es, mit fail2ban die entsprechenden Logs zu prüfen und bei mehr als 100 Mails in 24 h die IP auf dem Port zu rejecten?
 
Interessanter Vorschlag, aber fail2ban scheint dies nicht zu unterstützen.

Ausserdem wäre bei der Lösung wohl der gesamte Mailverkehr down, auch über php mail().
 
Wieso unterstützt fail2ban das nicht?

Dein Problem ist doch derjenige, der mehr als x Mails in einem definierten Zeitraum abliefert.

Also wäre ein Log, dass in dem es für jede Mail einen eindeutigen Logeintrag gibt, durch fail2ban zu prüfen und bei Überschreitung des Grenzwerts für einen Zeitraum x auf Port 25 zu sperren.

Genau das kann fail2ban, nur muss man es ihm in diesem Sonderfall erklären, dafür gibt es keine fertige Lösung (da das Problem ja auch eher selten vorkommt).
 
Danke für die Antwort.
Du hattest Recht, müsste in der Tat mit fail2ban gehen.


Aber das Problem ist dafür zu sorgen das keine Mails mehr versendet werden, nachdem Spam detektiert wurde - weil wenn der port geschlossen wird bleiben einfach alle Mail in der Queue und werden versendet wenn der Port wieder geöffnet wird. Ähnlich wie bei einer Limitierung durch den Paketfilter.

Ideen?
 
Die bereits akzeptierten Mails werden noch versendet, das ist klar.

Aber wenn Du die Zahl der parallelen Connections je Absender limitierst, kann der Absender so viele Mails nicht mehr einliefern. Den abgehenden Verkehr zu sperren, ist keine gute Idee, denn es könnten dorthin ja noch andere schicken wollen.

Mein Ansatz zielte darauf ab, die weitere Einlieferung von Mails zu unterbinden.

Fail2Ban ist ziemlich schnell und der Block erfolgt daher sehr rasch.
 
Wir können den Absender nicht rausfinden und wir wissen auch nicht von welchem Webspace Account via SMTP gesendet wird - alle Mails laufen sozusagen unter einem Namen.
 
Mein Hinweis bezog sich auf Mails, die per SMTP eingeliefert werden... wenn nur via Webmail gepostet werden kann, könnte man trotzdem bspw. das Apache-Log tracken und nach dem x. Post die IP für weiteren Zugriff per Web sperren... (wenn man von einer missbräuchlichen Nutzung ausgeht).

Aber via Web lässt sich das einfacher lösen, bspw. Zähler in Verbindung mit der Nutzer-IP.
 
Danke für die Antwort.

Aber wenn Mails per smtp gesendet werden, werden sie niemandem zugeordnet - scheint so als liesse sich das auch nicht ändern...(?)
 
Richtig sauber wirst Du es wohl nur mit SMTP-AUTH hinbekommen. Wäre es zu viel Aufwand, jedem User ein Login zu erstellen? Oder vielleicht haben die User schon ein Login für FTP oder MySQL?
 
Ich verstehe die Problematik nicht.
a) Du hast SMTP-Auth.
b) Du hast einen sendmail-Wrapper, mithilfe dessen Du den Mailversand von PHP-mail regulieren kannst.

Was willst Du denn nun zusätzlich reglementieren?

huschi.
 
Back
Top