meillo@173: 
meillo@173: %(eisentraut05: page 25) ``Ganz ohne Analyse während der SMTP-Phase kommt sowieso kein MTA aus, und es ist eine Frage der Einschätzung, wie weit man diese Phase belasten möchte.''
meillo@173: 
meillo@173: 
meillo@173: checks while smtp dialog (pre-queue): in MTA implemented (need to be fast)
meillo@173: checks when mail is accepted and queued: external (amavis, spamassassin)
meillo@173: 
meillo@173: where to filter what
meillo@173: 
meillo@173: 
meillo@173: postfix:
meillo@173: content-filter: arbitrary programs that talk smtp, can filter, rewrite or delete mail
meillo@173: - before-queue-c-f: need to be fast, can prevent system load
meillo@173: - after-queue-c-f: need more resources in global, more load
meillo@173: 
meillo@173: exim:
meillo@173: acls: to filter, what to accept (hook into smtp dialog) (complex)
meillo@173: routers: take recipient address and choose a matching transport
meillo@173: transports: ways to deliver mail (smtp, local)
meillo@173: 
meillo@173: 
meillo@173: postfix: after-queue-content-filter (smtp communication)
meillo@173: exim: content-scan-feature (analyses the content: MIME stuff, blacklisted words, virus scanning) (all within smtp dialog)
meillo@173: sendmail: milter (tcp or unix sockets)
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: %what do do with recognized mail?
meillo@173: %- reject (only possible if recognized during SMTP dialog)
meillo@173: %- forward with added header line or changed subject
meillo@173: %(eisentraut05: page 18--20)
meillo@173: 
meillo@173: check incoming and outgoing mail
meillo@173: (eisentraut05: page 21)
meillo@173: 
meillo@173: 
meillo@173: milter:
meillo@173: communication with external daemons via a special protocol
meillo@173: at various times in the smtp dialog possible
meillo@173: can reject, delete or alter messages
meillo@173: http://milter.org
meillo@173: (eisentraut05: page 69)
meillo@173: 
meillo@173: 
meillo@173: use SA with exim:
meillo@173: - with transport: piped into sa
meillo@173: - content-scanning-feature: with ACL during smtp dialog
meillo@173: - plugin: sa-exim
meillo@173: - within amavis
meillo@173: 
meillo@173: use SA with sendmail:
meillo@173: - with milter
meillo@173: - within mimedefang or amavis
meillo@173: 
meillo@173: use SA with postfix:
meillo@173: - within amavis or mailfilter
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: DNSBL can contain:
meillo@173: - open relays
meillo@173: - dynamic IP addresses
meillo@173: - verified spam sources
meillo@173: - open multistage relays
meillo@173: - vulnerable CGI scripts
meillo@173: - open proxy servers
meillo@173: example: NJABL (http://njabl.org)
meillo@173: 
meillo@173: DNSBL in smpt dialog is aggressive and can lead to problems (eisentraut05: page 126)
meillo@173: 
meillo@173: 
meillo@173: greylisting:
meillo@173: if first contact from that address: temp failure and add to list
meillo@173: sender will retry, then accept
meillo@173: 
meillo@173: ``Das Greylisting zählt derzeit zu den effektivsten Methoden, um gegen unerwünschte E-Mails vorzugehen. Allein durch Greylisting können derzeit rund 70\% des potenziellen Spam-Aufkommens auf einem Mailserver vollständig geblockt werden. Allerdings ist es auch nur eine Frage der Zeit, bis sich die Gemeinde der Spammer und Virenautoren auf diese Methode der Spam-Bekämpfung eingerichtet und entsprechende Queues in ihre Software eingebaut hat.''(eisentraut05: page 138)
meillo@173: Probleme: load balancing using multiple servers with different IPs.
meillo@173: postfix: with policy server
meillo@173: exim: direct in config
meillo@173: sendmail: with greylist milter
meillo@173: 
meillo@173: 
meillo@173: 
meillo@173: hashcash