[Postfixbuch-users] Large Scale 100.000+ User

Patrick Ben Koetter p at state-of-mind.de
Mo Dez 17 09:47:22 CET 2007


* Uwe Driessen <driessen at fblan.de>:
> Stepken schrieb: 
> > Hallo!
> > 
> > Problem: 100.000+ User, Gleichzeitigkeit von mehr als 100+ geöffnete
> > SMTP Datenströme (nach Grey - und Blacklisting).
> > 
> > Probleme:
> > 
> > 1. Von der Administration gefällt mir DBMAIL sehr gut, wie gut skaliert
> > das (die Mails liegen bei DBMAIL in der Datenbank!) ?
> 
> DBMail kenn ich nicht aber schau mal in die references rein 
> 250 User 7 GB database / 
> Eine database defect oder muß repariert werden und alle stehen auf dem schlauch 
> Problem im Dateisystem (Lesefehler in einem sector) unter der Datenbank und es kann
> einiges nicht mehr wiederhergestellt werden.  
> Sehe ich ein Problem in der Datenbank bei der evtl. Menge an Daten in dieser Größenordnung

Ich habe keine Erfahrung mit DB als Mailstore bzw. die Exchange-Erfahrungen
die ich habe, waren nicht gut. Restore von Mails ist eine echte Plage. Wie und
ob DBMAIL das gelöst hat, mag da entscheidend sein.

Ansonsten, wenn DB als Performance-Grund beim Zugriff auf Mailstore auf Deiner
Liste ist, dann würde ich Dovecot und sein indiziertes Maildir-Format prüfen.
Ich habe dieses Jahr für das Linuxmagazin einen Benchmark von IMAP-Servern
gemacht und da war Dovecot der überraschende Gewinner. Unter Last war er
konstant unterhalb der Timeout-Grenze der Clients.


> > 2. IP - oder Mailrouting Loadbalancer?

Peer² haben Überlegungen dazu in ihrem unlängst erschienen IMAP-Buch angestellt.


> > 3. Wie wirksam sind breits mehrfache MX 10 'er Einträge?

Dazu habe ich keine Daten.


> > 4. Wo liegen die Bottlenecks in Postfix und wie vermeide ich sie?

Postfix ist wie alle Mailserver auf gerigne I/O angewiesen. Mit RAID,
mounten ohne atime und konservativen Dateisystemen (ext3) werden in der Regel
die Besten (schnell und verlässlich) Ergebnisse erzielt. Der RAID-Controller
sollte aber nicht billigheimer sein also schon eigene CPU etc. Ich durfte
neulich mit einer HP EVA 8000 als Mailstore arbeiten. Das hat geringe I/O neu
definiert... :)

Stimme den Arbeitspeicher auf die max. Anzahl gleichzeitiger Instanzen eines
Daemons ab. Kandidaten hier sind smtpd und smtp.

Lagere ggf. einen Content Filter wie z.B. als zentrale Appliance auf eigene
Hardware aus und biete sie redundant an.

Nutze zur Zustellung den dovecot-deliver LDA, wenn Du Dovecot einsetzst, weil
der die Mailbox-Indizes gleich aktualisiert und der Zugriff auf die Mailbox
damit brandschnell wird.

Splitte in einen SMTP-Proxy und mehrere nachgelagerte Mailstores auf. Ich habe
sehr gute Erfahungen mit LDAP als Infostore, recipient spezifischen
Transporteinträgen und nachgelagerten Mailstores gemacht.

Die Mailstores bestehen aus Postfix/Dovecot Kisten, die wiederum über NFS auf
einen Mailstore zugreifen. Die Indizes der Mailboxen werden aber lokal
abgelegt. Diese Kombi ist richtig schnell. Bei 10.000 Mails/Minute Zustellung
in die Mailbox habe ich aufgehört zu messen (mstone-Benchmarks).

Ausserdem habe ich einen IMAP-Proxy vorgelagert, der im Proxy-Modus als master
auf die IMAP-Slaves (mailstore-Maschinen) zugreift und die Session aber nicht
aus der Hand gibt. Von der Last her kein Problem, weil die meisten POPpen.
Vorteil: Clients sehen immer nur den einen Host und haben deshalb kein Problem
mit dem Serverzertifikat bei TLS.


> Wenn ich das mitbekommen haben im Speicher der Maschine mehr Mails gleichzeitig, mehr
> Speicher, mehr Prozessoren und ein schnelles Datei Plattensystem sollten es schon sein.
>  
> Ebenfalls abhängig ob Amavis als Proxyfilter arbeitet (in der Größenordnung eher nicht). 
> 
> Frage wie viele Mails sollen am Tag bearbeitet werden (also endgültig zugestellt werden)
> Das gibt eigentlich vor wie das/die Systeme dimensioniert werden müssen.  
> 
> > 5. Welche Virenscanner sind schnell/effizient?
> 
> Setze hier Clamav ein. Keine Annahme von Mails aus erkennbaren Dailin dann hat man
> eigentlich schon das gröbste an Virenversendern, Phishingmails und Spam weg. Soll nicht
> heißen das jeder Mailserver an einem Dialin UBE/UCE versendet aber bis zu 99 % der UBE/UCE


Clamav, Avira ist ein erprobtes Gespann und Avira ist ein heimisches Produkt,
das den anderen in Nichts nachsteht. Buy German war dann ausschlaggend. ;)


> Stammen aus Dialin.
> 
> > 6. Black/White/Greylisting - die effizientesten Verfahren/Dämonen?
> 
> Postfix Restrictionen, Postgrey und policyd-weight
> Damit lässt sich in der Regel ein gut abgestimmtes Sicherheitssystem aufbauen.
> (Was zum Einsatz kommt und wie was gefiltert wird legt der Einsatzzweck des Mailservers
> fest)

Ich bevorzuge policyd, weil er in einer MySQL-DB ablegt, auf die mehrere
Maschinen zugreifen können. Änderungen in der DB gelten also gleich für alle
Relays und alle wissen, das Client XYZ noch nicht rein darf...

policyd kann White-, Grey-, und Blacklisting und vieles mehr.
<http:///www.policyd.org>.



> > 7. Mails mit ZIP...-Anhängen generell verbieten, wegen möglichen DoS
> > durch Mailbomben?


amavisd-new besitzt effektive Mechanismen um die Expansionsgrösse einer Mail
zu kontrollieren. Mails mit ZIP...-Anhängen generell verbieten halte ich
generell für eine Gängelung der User. Ich denke, das ist eine Policy-Frage,
die inhouse abgewägt werden sollte.

Gut sind z.B. Dienste bei denen die User Attachments auf einem http-Host
abgelegen können und nur noch die URL in der Mail referenzieren. Ist aber auch
eine Typ-Frage...


> Eher aufführbare Dateien auch innerhalb von zip wegen der Gefahr neuer Viren und Würmer
> die noch keine Antivirensystem gesehen hat. Das ist aber Geschmackssache und kommt auf den
> Auftraggeber an. 
> Mit dem Rest kann Amavis-New eigentlich umgehen (den Scanner auf einer/x extra Maschinen
> betreiben je nachdem wie viele Mails gescannt werden müssen)
> 
> > 8. Nachklassifizierung von bereits einsortierten Mails sinnvoll? (SPAM,
> > Viren....)

Bin ich kein Freund von. Einmal sortieren und dann gut. Die
Nachvollziehbarkeit solcher Methoden wird immer aufwändiger und das ist IMO
nur mit Ärger verbunden.

Regelmäßig den Mailstore auf Viren scannen ist eine andere Sache. Das finde
ich gut, verlangt aber Scanner, die MIME-Attachements erkennen, extrahieren
udn scannen können.


> > 9. Hochverfügbarkeit, wie?

Ein Thema, das diese Mail garantiert sprengt. Performance-Cluster sind
verhältnismäßig einfach. Verfügbarkeits-Cluster je nach HA-Lösung tricky.


> Da frag mal Peer / Ralf / Patrick 
> 
> Dovecot als Imap dazu hat Ralf was geschrieben
> Dovecot als pop3? Performt der genauso wie als Imap? Oder da lieber bei
> Courier bleiben?  


Dovecot performt besser, denn es hat die indizierten Maildirs. Die hat Courier
nicht und das ist Couriers bottleneck.

p at rick

-- 
Postfix - Einrichtung, Betrieb und Wartung
<http://www.postfix-buch.com>
saslfinger (debugging SMTP AUTH):
<http://postfix.state-of-mind.de/patrick.koetter/saslfinger/>



Mehr Informationen über die Mailingliste Postfixbuch-users