[Postfixbuch-users] Spamassassin + amavisd

Sandy Drobic postfixbuch-users at japantest.homelinux.com
Fr Nov 10 14:15:52 CET 2006


Jan Dinger wrote:
> Sandy Drobic wrote:
>> Jan Dinger wrote:
>>   
>>>> Das ist nicht normal für einen kleinen Server. Vielleicht solltest du dich 
>>>> zuerst darum kümmern, dass nicht mehr so viele Spams angenommen werden. (^-^)
>>>>
>>>> Bei mir wird etwa 90-95% direkt durch Postfix Checks abgewiesen. Mit 
>>>> Greylisting komme ich dann noch auf 98-99% Reject-Rate.
>>>>
>>>>   
>>>>       
>>> Wie sage ich denn Postfix nicht alles annehmen soll? Das läuft über 
>>> solche Blacklists oder? Also so stehts im Buch und Greylisting habe ich 
>>> noch nie gehoert.
>>>
>>> Der Spam-Verkehr ist sehr sehr hoch :( das versuche ich ja zu 
>>> unterbinden, mit Spamassassin. Habe auch gelsen das man bestimmte sachen 
>>> auch er garnicht duch lassen sollte sprich diese  Blacklisten.  Ich 
>>> meine Du hast schon recht im Endefekt bringt es nicht  wenn 300 Mails 
>>> mit ***SPAM*** stehen habe :)  das  ist mir bewusst.  Könntest du mir 
>>> sagen, welche Blacklisten du verwendest bzw wie Postfix das von anfang 
>>> an bei dir Filtert?
>>>     
>> Schicke noch mal "postconf -n", dann werde ich ein paar Settings 
>> empfehlen, die den größten Teil abweisen sollten. Empfehlenswert ist auch 
>> eine Überwachung über mailgraph (kontinuierliche Graphik mit Anzeige des 
>> Mailtraffics + Anzeige der Rejects) und pflogsumm (Text-Report, den man 
>> sich per cron täglich schicken lassen kann.
>>
>> Es gibt kein absolutes Mittel gegen Spam, die eingesetzten Checks müssen 
>> immer mehr oder weniger auf die eigenen Bedürfnisse angepasst werden. Aber 
>> zumindest gibt es eine gemeinsame Basis, die schon viel abwehrt und sehr 
>> wenige erwünschte Mails abweisen sollten.
>>
>> Zu den Mitteln gehören:
>> - RBLs
>> - HELO-checks
>> - Sender-Checks
>> - Client-Checks
>> - Greylisting
>> - Domainkeys/SPF Prüfung
>>
>> Am sinnvollsten ist es immer, sich Schritt für Schritt heranzutasten und 
>> nach False Positives zu suchen. Wie scharf die Checks sein dürfen, ist 
>> immer eine Frage der Einstellung, ob man Spam mehr hasst als eine 
>> abgewiesene Email, die man eigentlich haben wollte.
>>
>> Sandy
>>   
> Also meine postconf -n
> 
> cassiopeia:/etc# postconf -n
> broken_sasl_auth_clients = yes
> config_directory = /etc/postfix
> content_filter = amavis:[127.0.0.1]:10024
> inet_interfaces = all
> inet_protocols = all
> mydestination = cassiopeia.noro-online.de, localhost.noro-online.de, 
> localhost
> myhostname = cassiopeia.noro-online.de
> mynetworks = 127.0.0.0/8
> receive_override_options = no_address_mappings
> recipient_delimiter = +
> relayhost =
> smtpd_recipient_restrictions = permit_mynetworks, 
> permit_sasl_authenticated, reject_unauth_destination
> smtpd_sasl_auth_enable = yes
> smtpd_tls_cert_file = /etc/postfix/smtpd.cert
> smtpd_tls_key_file = /etc/postfix/smtpd.key
> smtpd_use_tls = yes
> virtual_alias_domains =
> virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_forwardings.cf 
> mysql:/etc/postfix/mysql-virtual_email2email.cf
> virtual_gid_maps = static:5000
> virtual_mailbox_base = /home/vmail
> virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domains.cf
> virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailboxes.cf
> virtual_uid_maps = static:5000
> 
> So ist bei mir Postfix konfiguriert, sone minimum config.

Das ist schon in Ordnung. Wichtig ist zuerst eimmal die Prüfung, ob 
ungültige Empfängeradressen abgewiesen werden. Ungültige Empfängeradressen 
müssen direkt im smtp Dialog abgewiesen werden, gültige müssen zustellbar 
sein (keine Bounces verschicken für Mails, die man von außen angenommen hat).

Teste das mal für deine Domains in mydestination:

Darf kein Ergebnis zeigen:
# postmap -q invalid unix:passwd.byname

Gegenprobe, muss etwas zeigen:
# postmap -q valid unix:passwd.byname

Teste es auch für die virtuellen Domains (eine Zeile):
postmap -q invalid at virtual-domain.com 
mysql:/etc/postfix/mysql-virtual_mailboxes.cf

Wenn das in Ordnung ist, können wir zu den eigentlichen checks kommen.

smtpd_helo_required = yes

Dann ändere mal die smtpd_recipient_restrictions um:

smtpd_recipient_restrictions =
	permit_mynetworks,
	permit_sasl_authenticated,
	reject_unauth_destination,
	reject_invalid_hostname,
	reject_non_fqdn_hostname,
	check_helo_access hash:/etc/postfix/check_helo_access
	reject_rbl_client relays.ordb.org,
	reject_rbl_client list.dsbl.org,
	reject_rbl_client sbl-xbl.spamhaus.org,
  	reject_rbl_client dnsbl.njabl.org
#	check_client_access pcre:/etc/postfix/clients_check_pcre

/etc/postfix/check_helo_access:
# Weise Clients von extern ab, die behaupten,
# deine Domain zu sein
cassiopeia.noro-online.de	554 Don't use my hostname as HELO!
localhost.noro-online.de	554 don't sue my Domain as HELO!

/etc/postfix/clients_check_pcre
# Prüft Clients mit diesem Hostnamen bei bl.spamcop.net
#
/unknown|dynamic|ppp|adsl/	reject_rbl_client bl.spamcop.net

Damit sollten bereits etwas 80-90% abgewiesen werden.

dnsbl.njabl.org ist eine kombinierte Liste, die hauptsächlich dynamische 
IPs ablehnt. Von diesen kommt der Hauptanteil des Spams. Auch wenn es 
nicht in den RFCs steht, ist es inzwischen als Bestandteil von "Best 
Practises" anzusehen, Mails von dynamischen IP-Adressen abzulehnen. An 
deiner Stelle würde ich die Liste aktivieren.

Die RBLs relays.ordb.org, list.dsbl.org und sbl-xbl.spamhaus.org sehe ich 
als brauchbar an. Prüfe aber trotzdem, ob diese Listen bei dir vielleicht 
gewünschte Mails blockieren. Prüfe auch die Policy der Listen selbst nach, 
ob du damit einverstanden bist. Immerhin lagerst du die Entscheidung, 
welche Mails dein Server abweist oder nicht, auf einen unbekannten Server 
aus, über den du keine Kontrolle hast.

Die Liste bl.spamcop.net ist sehr effektiv gegen Spamzombies, leider 
werden aber auch häufig Server gelistet, von denen man eigentlich Mails 
bekommen möchte. Die Listing-Policy ist sehr scharf. User können Mails als 
Spam einschicken, und sobald ein paar dieser Meldungen zusammenkommen, 
wird der Server gelistet.

Deshalb ist diese Liste nur als Notfall zu verwenden. Ich habe sie hier in 
einen check_client_access eingehängt, damit nur bestimmte Clients 
überprüft werden. Ich habe sie vorerst auskommentiert. Teste es mal, wenn 
der Spam nicht genug reduziert wurde, aber beobachte, ob gewünschte Mails 
abgewiesen werden.

Es gibt noch weitere Methoden und Checks, wie etwa 
sender_address_verification und check_sender_mx_access und greylisting. 
Aber für den Augenblick sollte das ausreichen.

> 
> Klingt logisch das Spamassassin erst greift wenn die mail schon durch 
> ist. Nur der Spam bei mir muss auf jedenfall weniger werden. Ich bin 
> schonmal zu frieden wenn 3mail weniger kommen. Das es kein non plus 
> ultra gibt ist klar. Ich bin auch gerade dabei Postfix-Bücher zu lesen 
> um mir etwas know-how anzueignen. Und im internet auch noch zu lesen 
> Configs zu bauen etc.
> 
> Habe Postfix mit SSL/TLS Mysql Courier-IMAP laufen falls die Information 
> wichtig ist.

Nö, was nach der Annahme mit Mails passiert, das ist für Postfix-Checks 
nicht so wichtig.

Sandy
-- 
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com




Mehr Informationen über die Mailingliste Postfixbuch-users