[Postfixbuch-users] MySQL und Restriction für gefälschtes EHLO

Peer Heinlein p.heinlein at heinlein-support.de
Sa Jan 26 15:27:28 CET 2008


Am Samstag, 26. Januar 2008 schrieb Christian Roessner:


> der smtpd_recipient_restrictions unterzubringen. Diese selbst ist so
> strukturiert, dass
>
> - Prüfe alles, was lokal zu prüfen geht
> - Nimm dann evtl. MySQL-Abfragen hinzu
> - Schließe mit Remote-Abfragen ab


Das ist keine gute Idee.

Und es kann -wenn  man alles durchdenkt und für alles vorbereitet sein 
will- auch nicht funktionieren. Wirklich nicht. Kann nicht.

Spätestens wenn man prüft, ob die Absender- oder Empfänger-Domain 
überhaupt existiert, hat man remote-Abfragen im Spiel. Schon dieses 
kleine Beispiel zeigt, daß diese Trennung nicht funktionieren KANN.

Und: Sie macht auch keinerlei Sinn. Man spart nichts.

Im Gegenteil: Eine unsinnig angenommene E-Mail kostet mehr als 500 
DNS-Abfragen. Also nicht versuchen hier irgendein Krümel-Peanut zu 
sparen, sondern robust, stabil udn vorbereitet sein, damit einen nichts 
erschüttern kann und man jedes Verhalten per Knopfdruck realisiert kriegt 
ohne daß Restrictions im Notfall umgebaut werden müssen.

> smtpd_recipient_restrictions =
>          permit_mynetworks

Da geht's ja schon los. Sowas liebe ich ja. Zuerst mal "permit_mynetworks" 
reinknallen.  Nicht gut.

Warum nimmst Du von Deinen eigenen Nutzern Mails an, die
-eine nicht-existente Empfänger-Domain haben. Hilfst Du ihnen damit? Nein.
-eine nicht-existente Absender-Domain haben. Hilfst Du ihnen damit? Nein.

Wie sperrst Du einen einzelnen Amoklaufenden Nutzer anhand
-Absender-Mailadresse, Client-IP und/oder HELO?

Kannst Du nicht. Weil die checks dazu erst nach permit_mynetworks stehen. 
Gefährlich und nicht hilfreich! Falsche Reihenfolge!

>          reject_non_fqdn_recipient
>          reject_non_fqdn_sender
>          reject_unknown_recipient_domain
>          reject_unknown_sender_domain

Da stehen sie ja. Aber warum gelten sie nicht für Deine eigenen Nutzer?

>          reject_unverified_recipient
>          reject_unlisted_recipient
>          permit_tls_clientcerts

Warum machst Du einen Unterschied, ob Nutzer A auf seinem Laptop ein 
Zertifikat hat, oder ob er nur mit der IP-Adresse ankommt?

Ist er in mynetworks darf er Unsinn versenden, ist er mit ein- und 
demselben Laptop draußen vor Ort beim Kunden darf er es nicht mehr. Macht 
keinen Sinn.

>          reject_unauthenticated_sender_login_mismatch
>          reject_sender_login_mismatch
>          permit_sasl_authenticated

Auch hier. Ist er in mynetworks darf er Unsinn senden, kommt er per 
Username daher gelten plötzlich ganz andere Regeln, obwohl User, sein 
Laptop und seine Konfiguration sich nicht verändert haben.

>          reject_unauth_destination
>          check_client_access pcre:/etc/postfix/maps/dynip.pcre

Vorsicht. Es ist zurecht *SEHR* umstritten um das pauschale Blocken 
dynamischer IP-Adressen eine gute Idee ist. Kannst Du machen, wenn Du 
willst, aber es gibt auch gute Gründe dagegen.

>          reject_unknown_helo_hostname

Damit wirst Du mehr echte E-Mails von schlecht konfigurierten Mailservern 
verlieren, als daß es Dir Spam vom Hals hängt. Definitiv nicht 
empfehlenswert und einfach auch sinnfrei. Es schützt nicht, es schadet 
nur.

>          check_policy_service unix:private/policyd-spf

Vor dem Einsatz von SPF kann ich nur warnen. Das System funktioniert nicht 
und sorgt wenn man es auch zum Blocken einsetzt für Mailverluste 
(Stichwort: Weiterleitungen, Mailinglisten).

>          check_policy_service inet:127.0.0.1:12525

Angenommen es gibt einen Dir wichtigen Client, den Du vom Policyd-Weight 
ausnehmen willst. Wie richtest Du ein whitelisting ein? Das sieht Deine 
Config nicht vor. Also schneidest Du Dir ohne Notwendigkeit Deine 
Handlungsmöglichkeiten ab.

>          reject_rhsbl_sender dsn.rfc-ignorant.org

Du hast doch den Policyd-Weight. Der macht das mit mehr Sinn und Verstand, 
als wenn man das hier hart auswerten läßt. 


Peer




-- 
Heinlein Professional Linux Support GmbH
Linux: Akademie - Support - Hosting

http://www.heinlein-support.de

Zwangsangaben lt. §35a GmbHG:
HRB 93818 B / Amtsgericht Berlin-Charlottenburg, 
Geschäftsführer: Peer Heinlein  -- Sitz: Berlin



Mehr Informationen über die Mailingliste Postfixbuch-users