Я использую Linux с Postfix, Dovecot, Postgrey и spamassasin / spamd.
Это мой 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
У меня есть spamassasin для добавления заголовка спама к другим электронным письмам, которые postfix не улавливает, но как заставить его отклонять?
Вы можете настроить postfix для использования Spamassasin / Amavis в качестве прокси-фильтра. Таким образом вы предотвратите отказы: соединение с удаленной стороной SMTP будет оставаться открытым до тех пор, пока не будут выполнены проверки на спам, и postfix ответит сообщением ОК или ОТКЛОНЕНО. Таким образом, удаленная сторона отвечает за отскоки.
# 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.
Если вы используете Amavis для вызова spamassasin, вы можете позволить Amavis отклонять почту за вас - триггер отклонения можно настроить с помощью $sa_kill_level_deflt
. Добавить ,no_header_body_checks
к receive_override_options
в записи возврата SMTP при использовании Amavis.
В общем, вы не хотите ничего отвергать. У большинства спама есть поддельные заголовки, поэтому люди могут получать сообщения о возврате, которые им не принадлежат, и вы просто создаете головную боль этим людям и их администраторам (или, по сути, сами создаете спам, переполняя почтовые ящики неправильными сообщениями о возвратах).
Лучше всего отложить спам или поместить его в папку для спама, чтобы пользователи могли получить доступ к спаму, если он на самом деле не спам, и просто настроить свой почтовый клиент на удаление этого письма, когда оно достаточно устарело, чтобы вы совершенно уверены, что он вам не понадобится.
Помимо этого, настройте свой почтовый сервер для защиты первой линии ... вы можете настроить его на использование SPF, убедитесь, что он строг с RFC и т. Д. ... если вы хотите сделать еще один шаг, попросите его проверить с помощью RBL, чтобы отклонить почта, которая находится в списках черных дыр. Он силен, но решать вам, хотите ли вы использовать эти списки, поскольку он может периодически блокировать серверы, которые добавлены неправильно, но, с другой стороны, электронная почта не является надежным средством связи, как думают люди. Электронная почта может или не может сделать это, и если что-то важно для жизни или смерти, общайтесь через другой носитель, чтобы проверить получение ... спамеры разрушают это для всех.
Лучшая идея - просто отфильтровать его по баллу. Иногда может случиться так, что SA перехватит важное электронное письмо, и вы не захотите навсегда потерять это электронное письмо (плюс конечные пользователи будут думать, что оно просто никогда не будет доставлено).
На моем личном сервере все, что имеет рейтинг выше 3,5, доставляется в папку спама пользователя. Таким образом, он всегда доставляется, и у пользователя есть к нему доступ. Затем выполняется cronjob, который удаляет из этой папки все, что старше 3 недель.