Debian
檢查後綴中經過身份驗證的發件人的標頭
我的使用者通過 SASL 身份驗證發送帶有 SMTP AUTH 的電子郵件。不幸的是,他們的郵件將被標記為
NoBounceOpenRelay
Amavis。所以我將它設置為後綴 main.cf
smtpd_sasl_authenticated_header = yes
是否可以告訴 amavis 檢查此電子郵件標題,以便我可以使用 a退回
policy_bank
或拒絕包含垃圾郵件的郵件?
看起來您的案例類似於Amavisd 文件中的這個範例案例
如果出於某種原因,SASL 使用者連接到埠 25,作為替代方法,您可以讓 Postfix 的 $mynetworks 中的所有客戶端和 SASL 身份驗證發件人繞過檢查,讓其他所有內容都通過設置 content_filter 的包羅萬象。
#main.cf content_filter = smtp-amavis:[127.0.0.1]:10026 smtpd_data_restrictions = reject_unauth_pipelining permit_mynetworks permit_sasl_authenticated check_client_access regexp:/etc/postfix/filter-catchall.regexp # /etc/postfix/filter-catchall.regexp: /^/ FILTER smtp-amavis:[127.0.0.1]:10024
在這種模式下,
- SASL 使用者將被允許通過
permit_sasl_authenticated
,因此它將落入content_filter
參數 iecontent_filter = smtp-amavis:[127.0.0.1]:10026
中。- 其他電子郵件將一概而論
check_client_access regexp:/etc/postfix/filter-catchall.regexp
。因此,它將通過 smtp-amavis:$$ 127.0.0.1 $$:10024.最後一部分是在埠 10024 和 10026 中配置單獨的策略庫。
上述設置可以擴展為允許基於其他因素的白名單,例如:SASL 使用者名和發件人域。
- 對於 SASL 使用者名,您可以在 permit_sasl_authenticated 之前使用check_sasl_access。注意:此功能適用於 Postfix 2.11 及更高版本。
# main.cf ... check_sasl_access hash:/etc/postfix/amavis-bypass-sasl permit_sasl_authenticated ... #/etc/postfix/amavis-bypass-sasl # Use this when smtpd_sasl_local_domain is empty. username FILTER smtp-amavis:[127.0.0.1]:10026 # Use this when smtpd_sasl_local_domain=example.com. username@example.com FILTER smtp-amavis:[127.0.0.1]:10026
- 對於發件人域,您可以使用check_sender_access
# main.cf ... check_sender_access hash:/etc/postfix/amavis-bypass-sender permit_sasl_authenticated ... #/etc/postfix/amavis-bypass-sasl # Use this when smtpd_sasl_local_domain is empty. internal.example.com FILTER smtp-amavis:[127.0.0.1]:10026 # Use this when smtpd_sasl_local_domain=example.com. whitelist.example.org FILTER smtp-amavis:[127.0.0.1]:10026