Debian

檢查後綴中經過身份驗證的發件人的標頭

  • March 16, 2015

我的使用者通過 SASL 身份驗證發送帶有 SMTP AUTH 的電子郵件。不幸的是,他們的郵件將被標記為NoBounceOpenRelayAmavis。

所以我將它設置為後綴 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
# 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

引用自:https://serverfault.com/questions/673906