RE: [Postfixbuch-users] Muss Postgrey bei geänderten Whitelists neu gestartet werden

Marcel Hartmann mail at marcel-hartmann.com
Mi Sep 14 11:56:44 CEST 2005


Hallo Thomas, 

> > --- Ursprüngliche Nachricht ---
> > Von: "Marcel Hartmann" <mail at marcel-hartmann.com>
> >
> > > Eine gute Lösung: Das Web-Interface schreibt in eine 
> mysql-Datenbank 
> > > und ein cronjob liest diese regelmässig aus und apsst die 
> > > Konfigurationen an und startet 
> > > postfix/amavis/postgrey/was-auch-immer.
> > 
> > Ok. Soweit ist mir das nun klar. Sollte man generell überlegen, die 
> > mysql maps mit cronjob auszulesen und die maps lokal anzulegen? Als 
> > quasi backup der mysql db, damit er auf den schnelleren 
> maps arbeiten 
> > kann, aber trotzdem per web administriert werden kann?
> 
> Richtig, nur dass eben NUR bei Änderungen an der 
> Mysql-Tabelle die Hashmap neu erstellt wird (Auf Basis der 
> Tabelle) und nciht bei jedem Lauf des Cronjobs.
> 
> > > Jetzt würde es aber unnütze Ressourcen kosten, wenn stündlich ein 
> > > cronjob Konfigurationsdateien neu schreibt und Daemons/Dienste 
> > > neustartet.
> > > Deshalb sollte der [Cronjob] schon schlau genug sein nur bei 
> > > Abweichungen zwischen Datenbank und Konfigurationsdateien, dies 
> > > (Dateien) zu aktualisieren und die Dienste/Daemons neu zu starten 
> > > besser noch sofern ausreichend einfach nur den reload der 
> > > Konfiguration auszulösen.
> > 
> > Sind Änderungen in einer MySQL Map überhaupt mit neustart 
> erforderlich?
> >
> Nein, aber damit postfix auch ncoh läuft wenn mysql den 
> Dienst quittiert, liest Postfix seine maps nicht von mysql 
> sondern aus einer durch den cronjob generierten hash-map.
> 
> > Wenn ich in meiner MySQL DB ein Konto anlege startet er den 
> postfix ja 
> > auch nicht neu. Sollte dann doch auch in anderen Maps so 
> laufen, oder?
> 
> Richtig.
> Ich gehe aber von dem Fall aus, dass kein Cyrus/Courier oder 
> ähnliches läuft. Klar wenn Du solche Software verwendest, die 
> auf mysql angewiesen ist, dann ist die Vorsorge-Maßnahme 
> Postfix unabhängig von mysql zu machen nicht ganz so wichtig.
> (Keine Ahnung was bei Cyrus und Konsorten passiert, wenn 
> mysql ausfällt.)

Also wenn der MySQLd steht, dann geht auch keine Mail mehr, da ich
postfix, amavis und cyrus an mysql angebunden habe. Daher macht das
kopieren der Maps in meinem Falle keinen Sinn denke ich. Mein Server
läuft seit knapp 1,5 Jahren mit MySQL und der MySQL fiel bisher noch 
nie aus! Zumal mir viele davon abgeraten haben, habe cih gute 
Erfahrungen damit gemacht.

> > > Soweit die Theorie!
> > > Ein praktisches Beispiel kann ich Dir noch nicht zeigen.
> > > Das wird (zumindest bei mir) noch entwickelt.
> > 
> > Der Nutzen ist vorhanden, also wird es auch bald Lösungen 
> dazu geben. 
> > :-)
> 
> Ich weiß nicht, ob da jemand an Software dazu arbeitet.
> Bei mir ist es ein spezielles Web-Interface für einen 
> einzelnen Server und dafür werden dann entsprechende Scripte 
> für die Cronjobs geschrieben um Postfix von mysql "abzukoppeln".
> 
> > Dabei möchte ich mein Anliegen nochmals erklähren. Ich will das bei 
> > bestimmten Empfängeradressen sowie Domains KEIN postgrey ausgeführt 
> > wird, ...
> 
> Dann ist eine access-map vor der Befragung von postgrey die Lösung.
> Es sollten dann aber schon alle anderen Spam-Prüfungen 
> durchgeführt worden sein.

Hier meine config:

main.cf:

reject_unknown_sender_domain,
        reject_non_fqdn_sender,  <- macht der hier die smtpd_peer_init
fehler? hab ich leider auch :(
        permit_mynetworks,
        check_client_access hash:/etc/postfix/maps/pop-before-smtp,
        permit_sasl_authenticated,
        reject_unauth_destination,

neu ->  check_client_access hash:/path/to/policyd_weight_whitelist,   ->
könnte man so alle in der whitelist stehenden domains/mailkonten das
postgrey abgewöhnen?

        check_policy_service inet:127.0.0.1:10023,	hier dann postgrey
checks wenn die clients nicht in der whitelist stehen.
        check_sender_access hash:/etc/postfix/maps/sender_access,
        check_recipient_access hash:/etc/postfix/maps/recipient_access,
        reject_rbl_client relays.ordb.org,
        reject_rbl_client cbl.abuseat.org,
        reject_rbl_client list.dsbl.org,
        reject_rbl_client opm.blitzed.org,
        reject_rbl_client sbl.spamhaus.org,
        reject_rbl_client xbl.spamhaus.org,
        #reject_rhsbl_client blackhole.securitysage.com,
        #reject_rhsbl_sender blackhole.securitysage.com,
        permit

und danach kommt der amavis im content_filter = ...

Ginge das auf diese Art mit der Whitelist? Diese kann man dann ja fein in
mysql legen.

> Eine andere Lösung wären restriction-Classes mit identischen 
> Prüfungen aber eine mit und eine ohne Postgrey.
> (Besonders interessant für den Fall, dass nach Postgrey noch 
> Spam-Checks kommen müssen!)

Und wie unterscheide ich dann welche er wann einsetzen soll?

> 
> > also die  mail soll dann direkt zugestellt werden ohne temporäre 
> > Feler, so dass der sendende MTA es erneut versuchen muss.
> 
> Das ist ein Widerspruch: warum sollte der sendende MTA die 
> Mail erneut zustellen, wenn Sie schon direkt zugestellt wurde?

Postgrey arbeitet doch auf diese Weise! Ein MTA will eine Mail in
das postfix system einliefern. Postfix sagt aber 4xx Temporary foo bar...
Daraufhin stellt der sendende MTA die Mail mit pausen so lange zu, bis 
mein postfix(also der postgrey check!) ihm erlaubt einzuliefern. Dadurch 
wird die Zustellung ja nur verzögert. Wenn ich das richtig verstanden habe.

Gruß 
  Marcel


.::::::::::::::::::::::::::::::::::::::::::::::::::::::.

  Marcel Hartmann
  Tel. 04 41 - 960 34 49 	Fax 04 41 - 960 34 47
  Internet 				www.marcel-hartmann.com
  e-Mail 				mail at marcel-hartmann.com

`::::::::::::::::::::::::::::::::::::::::::::::::::::::`




Mehr Informationen über die Mailingliste Postfixbuch-users