[Postfixbuch-users] amavisd-new-Intergation: forward_method aus Lookup?

Stefan Förster cite at incertum.net
Do Mai 29 23:42:07 CEST 2008


Am 29.05.2008 um 23:12 schrieb Peer Heinlein:

>> Peer, ich dreh' den Spieß jetzt mal rum: Wieviel weißt Du konkret  
>> über
>> die dspam-Integration in amavisd-new, z.B. Über Dinge wie:
>>
>>      my($proc_fh,$pid) = run_command('&'.fileno($fh), "&1", $dspam,
>>             # qw(--stdout --deliver-spam)  # dspam < 3.0
>
> Nichts weiß ich darüber, darum Frage ich doch. Ich will doch was
> lernen :-) Das war eine ganz ehrlich ganz ernst gemeinte Frage, kein
> rhetorisches Gegenhalten. Bitte nicht mißverstehen.

Dann entschuldige bitte. Die dspam-Integration in amavisd-new sieht,  
soweit ich das Überblicken kann so aus, daß für jede Nachricht ein  
"dspam"-Prozess erzeugt wird und diesem die Nachricht dann vorgesetzt.  
Das alles geschieht mit einem einzelnen User, also ist schonmal nichts  
mit "per user bayes dictionaries" (was für ein Ausdruck!). Dann schaut  
er sich das Ergebnis an und vergleicht das mit dem Ergebnis von SA.  
Liegt dspam falsch, wird ihm die Nachricht zum Trainieren neu  
vorgesetzt. Später kann mann dann in der local.cf auf den DSPAM-Header  
Punkte vergeben, das muss man aber selbst einstellen.

Kurz gesagt: amavisd-new trainiert dspam und benutzt dazu die  
Ergebnisse von SA. Es tut dies nur für einen Account ("$demon_accont")  
und in dem es pro Mail mehrere Prozesse spawnt, mindestens jedoch einen.

Eigentlich - und wir haben das mal mit Konten von zehn Leuten  
getestet, die wirklich unterschiedlicher nicht sein könnten, möchte  
man dspam zum einen mit einer "Gruppe" und auf der Basis einzelner  
Benutzer einsetzen: Für neue Benutzer werden die Ergebnisse der Gruppe  
solange als Stütze hinzugezogen, bis der entsrpechende Benutzer seine  
dspam-Instanz soweit hat, daß er diese Hilfestellung nicht mehr  
braucht. Bei den zehn Konten waren dazu nach dem initialen Training  
mit schon vorhandenen im Schnitt zwischen zehn und zwanzig Mails  
notwendig, die der Benutzer manuell nachkorrigieren musste. Dann  
jedoch war die Quote mit 99,72% bis 99,94% Spam-Erkennungsrate besser  
als alles, was SA bei uns bisher geliefert hat (ja, mit rules_du_jour,  
sa-update etc.). Und während die Zustellzeit für eine Mail mit amavisd- 
new (clamav!) und SA (mit RBL-, RHSBL-, URIBL-Lookups, Razor2, Bayes)  
zwischen 3,6 und 7 Sekunden liegt, dauert es mit amavisd-new (clamav!)  
und dspam selten länger als 700ms, wobei der Löwenanteil für das  
Entpacken der MIME-Parts vor dem clamav-Lauf draufgeht.

dspam ist sicher nicht alleinig glücklich-machend, aber wir würden  
einen schlechten Job bei einer Evaluierung machen, wenn wir nur  
testen, was wir schon kennen ;-)

Und damit mein Geschreibsel auch zu etwas führt: Wenn man die Mails  
via LMTP an dspam übergibt, dann unterscheidet der selbständig  
zwischen verschiedenen Usern. Und um die Verwaltung der Userdatenbank  
nicht zu verkomplizieren (man hält die Daten doch sowieso schon vor,  
für den MTA und den LDA), wäre das mit den verschiedenen  
$forward_method-Ergebnissen eben toll gewesen.


>> Daran hatte ich auch schon gedacht, aber während das mit SQL als
>> Backend noch geht (SELECT IF(..., 'FILTER ... 10024', 'FILTER ...
>> 10030') ...) bist Du damit LDAP halt aufgeschmissen.
>
> Naja, man müßte halt dafür sorgen, daß die Filter-Action dann direkt  
> in
> dem jeweiligen Attribut drin steht...

Ja - und irgendwann sieht der LDAP-Baum dann aus wie ein ADS ;-)


>> Was Du mit
>> Echtzeitfilterung meinst, erschließt sich mir jetzt gerade nicht,
>> ehrlich gesagt.
>
> smtpd_proxy_filter, also pre-queue. Da gehen die FILTER-Actions eben
> nicht.


Ah, also um ehrlich zu sein, das evaluieren wir derzeit noch gar  
nicht, das wollten wir in der zweiten Juni-Woche beginnen. Ich muß  
aber sagen, daß ich ganz ganz ernste Bedenken wegen der Performance  
habe. Kannst Du da vielleicht mal etwas aus dem Nähkästchen plaudern?


Gruß
Stefan
-- 
Updated to Mac OS X 10.5.3. My ~/.signature is still amiss!


Mehr Informationen über die Mailingliste Postfixbuch-users