[Postfixbuch-users] Integration von DSPAM

Oskar Eyb oskar-postfix at eyb.de
Sa Jan 5 23:30:35 CET 2008


Hallo!

auch wenn die Filterleistung von postgrey und policyd beeindruckend ist 
(nur eine hand voll spams am tag, dem log kann ich nichtmehr zuschauen) 
  - allerdings doch mit teilweise ebenso beachtlichen verzögerungen in 
der  zustellung - möchte ich wieder dspam zwischenschalten.


Mit amavisd-new und clamav klappt es schon gut, jetzt bin ich bei dspam, 
  fast am Ziel, aber weiss nichtmehr weiter.

Ich bin teilweise nach einem HOWTO vorgegangen, aber das lässt genau die 
für mich jetzt entscheidene Fragen offen.


Aber fangen wir mal unten an. Postfix meckert schon wieder über 
regexp's, und zwar über folgende:

/^spam@(.*)$/        dspam-add:${1}
/^notspam@(.*)$/     dspam-del:${1}


trivial-rewrite[50123]: warning: regexp map 
/usr/local/etc/postfix/transport_regexp, line 1: regular expression 
substitution is not allowed: skipping this rule

/trivial-rewrite[50123]: warning: regexp map 
/usr/local/etc/postfix/transport_regexp, line 2: regular expression 
substitution is not allowed: skipping this rule



Postfix

-> [10024]Amavisd

-> [10025]Postfix
     -o content_filter=dspam:dummy
             flags=Rhq user=dspam argv=/usr/local/bin/dspam -i -f 			 
${sender} -- %u --user ${recipient


Klappt bis hierhin.

postfix/pipe[6806]: AB8C08B803B: to=<oskar at eyb.de>, relay=dspam, 
delay=0.05, delays=0.01/0.02/0/0.02, dsn=2.0.0, status=sent (delivered 
via dspam service)


Dieser Vorgang steht in den Logs von dspam und in der Datenbank. Mit dem 
  hübschen Webfrontend kann ich auch schon alles sehen.


Nur eines nicht: Die E-Mail!


dspam-log:

1199571007      I       oskar at eyb.de    4780003f217265209328925 <None 
Specified>        Delivered 
<20080105221004.BC09C8B803B at beastie.eyb.de>


Auf Port 10026/tcp wartet sehnsüchtig Postfix auf das Wiedersehen der 
E-Mail, aber dspam unterschlägt die einfach! Im Postfixlog taucht danach 
nichtsmehr auf, also auch keine fehlgeschlagenen Versuche. Auf :10026 
kann ich mit telnet Mails absetzen.




# postfix smtpd auf port 26 um den normalen betrieb nicht zu stören
172.16.0.2:26  inet      n      -      n      -      -      smtpd
  -o content_filter=smtp-amavis:[172.16.0.2]:10024

# transport zu amavis
smtp-amavis          unix      -      -      n      -      2      lmtp
   -o smtp_send_xforward_command=yes
   -o smtp_data_done_timeout=1200s
   -o disable_dns_lookups=yes
#  -o smtp_fallback_relay=172.16.0.2:10024


# mail von amavisd-new kommt hier an und wird zu dspam weitergereicht
172.16.0.2:10025 inet n  -       n       -       -       smtpd
         -o content_filter=dspam:dummy
         -o local_recipient_maps=
         -o relay_recipient_maps=
         -o smtpd_restriction_classes=
         -o smtpd_client_restrictions=
         -o smtpd_helo_restrictions=
         -o smtpd_sender_restrictions=
         -o smtpd_recipient_restrictions=permit_mynetworks,reject
         -o mynetworks=127.0.0.0/8,172.16.0.0/24
    -o strict_rfc821_envelopes=yes
#       -o strict_rfc821_envelopes=yes
         -o disable_dns_lookups=yes
         -o 
receive_override_options=no_header_body_checks,no_unknown_recipient_checks


# #  amavisd notify + dspam reinjection, ohne contentfilter
172.16.0.2:10026      inet      n      -      n      -      -     smtpd
   -o local_recipient_maps=
   -o relay_recipient_maps=
   -o smtpd_restriction_classes=
   -o smtpd_client_restrictions=
   -o smtpd_helo_restrictions=
   -o smtpd_sender_restrictions=
   -o smtpd_recipient_restrictions=permit_mynetworks,reject
   -o mynetworks=172.16.0.0/24
   -o strict_rfc821_envelopes=yes
   -o smtpd_error_sleep_time=0
   -o smtpd_soft_error_limit=1001
   -o smtpd_hard_error_limit=1000



dspam                unix      -      n      n      -      -      pipe
   flags=Rhq user=dspam argv=/usr/local/bin/dspam -i -f ${sender} -- %u 
--user ${recipient}




in dspam.conf hat auch folgendes nichts gebracht:

DeliveryHost        172.16.0.2
DeliveryPort        10026
DeliveryIdent       localhost
DeliveryProto       SMTP




Ich bin zugegebenermaßen nun etwas verwirrt: muss dspam im daemon modus 
laufen? (Hab ihn eben auch mal gestartet, keine Änderung). Bzw, wenn das 
aus Performancegründen besser wäre, würde ich das machen. Wie muss dann 
dspam aus master.cf gestartet werden?
Kann dspam die mail auch wieder auf dem pipe-weg zurückgeben oder 
braucht es dafür den DeliveryHost?


Wie wird dspam standesgerecht eingebaut?


Gruß,
Oskar



Mehr Informationen über die Mailingliste Postfixbuch-users