本地域需要 SMTP-AUTH 吗?

本地域需要 SMTP-AUTH 吗?

问题如下:来自任何不属于您的邮件服务器的 IP 地址:

telnet me.myemailserver.com 25  

helo me.someserver.com
mail from: <[email protected]>
rcpt to: <[email protected]>
data
This is spam.  Buy my stuff.
.

我正在使用 Postfix。我在寻找要求对声称来自 mydomain.com 的电子邮件进行 SMTP-AUTH 的解决方案时遇到了问题。

通过 Google 搜索,这个人发现了同样的问题(我剪切粘贴了一些修改),上面的例子来自: http://www.smartertools.com/forums/t/13182.aspx

此链接 http://marc.info/?l=postfix-users&m=122814832915131&w=2 接近解决方案,但它有一个副作用,即要求对不是来自 mydomain.com 的邮件进行 SMTP-AUTH。对于不是来自 mydomain.com 的邮件,我会进行常规的 RBL 和垃圾邮件过滤。

简而言之,我想拒绝来自外部/未经身份验证的客户端的声称来自本地域(mydomain.com)的邮件到本地域(mydomain.com)。

这是我尝试过的:我尝试过将允许和拒绝都作为默认设置。以下是我的 main.cf 的准确摘录:

smtpd_recipient_restrictions = reject_unauth_pipelining,
                           permit_sasl_authenticated,
                           check_recipient_access pgsql:/etc/postfix/pgsql-recipient.cf,
                           reject_unauthenticated_sender_login_mismatch,
                           reject_unauth_destination,
                           reject_unlisted_recipient,
                           check_sender_access pgsql:/etc/postfix/pgsql-sender.cf,
                           reject_unlisted_sender,
                           reject_invalid_hostname,
                           reject_non_fqdn_hostname,
                           reject_non_fqdn_sender,
                           reject_non_fqdn_recipient,
                           reject_unknown_sender_domain,
                           reject_unknown_recipient_domain,
                           reject_rbl_client cbl.abuseat.org,
                           reject_rbl_client sbl.spamhaus.org,
                           reject_rbl_client sbl-xbl.spamhaus.org,
                           reject_rbl_client bl.spamcop.net,
                           reject_rbl_client dnsbl.njabl.org,
                           reject_rbl_client blackholes.wirehub.net,
                           reject_rbl_client relays.mail-abuse.org,
                           reject_rbl_client dialups.mail-abuse.org,
                           reject_rbl_client blackholes.mail-abuse.org,
                           reject_rhsbl_sender dsn.rfc-ignorant.org,
                           (reject and permit both tried here)

答案1

我会尝试这样的事情:

/etc/postfix/main.cf:

smtpd_sender_restrictions =
    允许我的网络,
    允许通过 SASL 进行身份验证,
    check_sender_access 哈希:/etc/postfix/access_table,
    ...,
    允许

/etc/postfix/access_table:

mydomain.com 拒绝你不是我!

理论是这样的:

如果他们已经通过了身份验证,则会触发permit_sasl_authenticated规则并被允许通过。如果他们未通过身份验证,则会按照规则进行操作check_sender_access。如果发件人域名与“mydomain.com”匹配,则会拒绝发件人。(因此未经身份验证 + MAIL FROM “mydomain.com” = 拒绝。)如果是其他域名,则会继续执行其余规则。

注意:这尚未测试。在生产系统上尝试之前,我会warn_if_reject在该规则前面加上一个。check_sender_access

答案2

在一台服务器上,我有带有 Dovecot 的 Postfix 以及 MySQL 中的身份验证数据,我在 main.cf 中执行以下操作:

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination,拒绝

答案3

您可以使用 SPF 来避免此问题。它将检查尝试使用您的域名发送电子邮件的 IP 是否有权这样做。以下是您可以遵循的良好指南

https://www.linode.com/docs/email/postfix/configure-spf-and-dkim-in-postfix-on-debian-8/

相关内容