Wie kann man Spamassin dazu bringen, E-Mails basierend auf der Punktzahl abzulehnen?

Wie kann man Spamassin dazu bringen, E-Mails basierend auf der Punktzahl abzulehnen?

Ich verwende Linux mit Postfix, Dovecot, Postgrey und Spamassasin/Spamd.

Dies ist meine main.cf

smtpd_recipient_restrictions = permit_sasl_authenticated,
                               permit_mynetworks,
                               reject_unauth_destination,
                               reject_invalid_hostname,
                               reject_unauth_pipelining,
                               reject_non_fqdn_sender,
                               reject_unknown_sender_domain,
                               reject_non_fqdn_recipient,
                               reject_unknown_recipient_domain,
                               check_policy_service inet:127.0.0.1:10030

Ich habe Spamassasin dazu gebracht, anderen E-Mails einen Spam-Header hinzuzufügen, den Postfix nicht abgefangen hat. Wie kann ich aber erreichen, dass es abgelehnt wird?

Antwort1

Sie können Postfix so konfigurieren, dass es Spamassasin/Amavis als Proxy-Filter verwendet. Auf diese Weise verhindern Sie Bounces: Die Verbindung zur SMTP-Remote-Seite bleibt geöffnet, bis die Spam-Prüfungen abgeschlossen sind, und Postfix antwortet entweder mit einer OK- oder einer REJECTED-Nachricht. Auf diese Weise ist die Remote-Seite für Bounces verantwortlich.

# master.cf

# mail inbound
smtp      inet  n       -       -       -       -       smtpd
    -o smtpd_proxy_filter=127.0.0.1:10024
    -o smtpd_client_connection_count_limit=10
    -o smtpd_proxy_options=speed_adjust

# spamassasin/amavis is listening to port 10024 and sending it's
# checked mail to port 10025
amavis    unix  -       -       n       -       2       smtp
   -o smtp_data_done_timeout=1200
   -o smtp_send_xforward_command=yes
   -o disable_dns_lookups=yes

# SMTP return (from amavis/spamassasin)
localhost:10025 inet  n -       n       -      -        smtpd
   -o content_filter=
   -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 smtpd_override_options=no_address_mappings
   -o mynetworks=127.0.0.0/8
   -o receive_override_options=no_unknown_recipient_checks
# main.cf

# for rejecting spam
header_checks = pcre:/etc/postfix/header_checks
# header_checks

/X-Spam-Level: \*{9,}/ REJECT Looks like spam to me.

Wenn Sie Amavis verwenden, um Spamassasin aufzurufen, können Sie Amavis die E-Mail für Sie ablehnen lassen - der Ablehnungsschwellenwert kann mit konfiguriert werden $sa_kill_level_deflt. Fügen Sie bei Verwendung von Amavis ,no_header_body_checksden receive_override_optionsim SMTP-Rückgabeeintrag hinzu.

Antwort2

Im Allgemeinen möchten Sie nichts ablehnen. Die meisten Spam-Mails haben gefälschte Header, sodass Benutzer möglicherweise Bouncebacks erhalten, die nicht zu ihnen gehören, und Sie verursachen diesen Benutzern und ihren Administratoren nur Ärger (oder verursachen im Grunde selbst Spam, indem Sie Postfächer mit falschen Bounces überfluten).

Besser ist es, den Spam zurückzuhalten oder in einem Spam-Ordner zu verschieben, damit Benutzer auch dann noch darauf zugreifen können, wenn es sich tatsächlich nicht um Spam handelt. Stellen Sie Ihren E-Mail-Client einfach so ein, dass die E-Mails gelöscht werden, wenn sie alt genug sind, sodass Sie sie mit ziemlicher Sicherheit nicht mehr benötigen.

Konfigurieren Sie Ihren Mailserver außerdem für die erste Verteidigungslinie. Sie können ihn so einstellen, dass er SPF verwendet, sicherstellen, dass er RFCs strikt einhält usw. Wenn Sie noch einen Schritt weiter gehen möchten, lassen Sie ihn bei RBLs prüfen, ob E-Mails abgelehnt werden, die sich in den Blackhole-Listen befinden. Das ist zwar streng, aber es liegt an Ihnen, ob Sie diese Listen verwenden möchten, da sie möglicherweise regelmäßig Server blockieren, die fälschlicherweise hinzugefügt wurden. Andererseits ist E-Mail nicht das zuverlässige Kommunikationsmedium, für das die Leute es halten. E-Mails können es schaffen oder nicht, und wenn etwas lebenswichtig ist, kommunizieren Sie über ein anderes Medium, um den Empfang zu bestätigen. Spammer ruinieren es für alle.

Antwort3

Am besten filtern Sie die E-Mails einfach nach der Punktzahl. Es kommt gelegentlich vor, dass eine wichtige E-Mail von SA abgefangen wird, und Sie möchten diese E-Mail nicht dauerhaft verlieren (außerdem denken die Endbenutzer, dass sie nie zugestellt wird).

Auf meinem persönlichen Server wird alles mit einem Score über 3,5 in den Spam-Ordner des Benutzers verschoben. Auf diese Weise wird es immer zugestellt und der Benutzer hat Zugriff darauf. Dann gibt es einen Cronjob, der alles löscht, was älter als 3 Wochen ist und sich in diesem Ordner befindet.

Antwort4

Wenn Sie Ihren Spamfilter über das Milter-Protokoll verwenden, können Sie nach den Milter-Filtern zusätzliche Header-Prüfungen durchführen lassen: http://www.postfix.org/header_checks.5.html

milter_header_checks(Standard: leer)

Diese werden auf Header angewendet, die mit Milter-Anwendungen hinzugefügt werden. Diese Funktion ist in Postfix 2.7 und höher verfügbar.

verwandte Informationen