Smtp 如何防止RFC5322.进行标头欺骗

Smtp 如何防止RFC5322.进行标头欺骗,smtp,spf,dkim,spoofing,dmarc,Smtp,Spf,Dkim,Spoofing,Dmarc,我在域example.com中有一个电子邮件服务。我如何保护它不被头中的用户电子邮件地址欺骗 情景: 攻击者从发送电子邮件malory@example.com-连接到我的SMTP服务,以malory身份正确验证,并从以下地址发送标题为的邮件:alice@example.com SPF帮不上忙,因为攻击者使用我的合法SMTP服务,拥有自己的帐户并正确进行身份验证 DKIM也帮不上忙,出于同样的原因——攻击者使用真实、合法的电子邮件帐户,所以他们拥有正确的数字签名 DMARC帮不上忙,因为它只检查信

我在域
example.com
中有一个电子邮件服务。我如何保护它不被
头中的
用户电子邮件地址欺骗

情景:

攻击者从发送电子邮件malory@example.com-连接到我的SMTP服务,以malory身份正确验证,并从以下地址发送标题为
的邮件:alice@example.com

SPF帮不上忙,因为攻击者使用我的合法SMTP服务,拥有自己的帐户并正确进行身份验证

DKIM也帮不上忙,出于同样的原因——攻击者使用真实、合法的电子邮件帐户,所以他们拥有正确的数字签名

DMARC帮不上忙,因为它只检查信封和RFC5322.From域是否匹配,而不检查用户帐户

有没有办法检查信封和整个地址是否匹配?如何正确保护SMTP服务免受欺骗


谢谢你的帮助

为了防止在您的情况下进行欺骗,您的电子邮件服务器example.com必须包含解析到您自己域的DKIM签名邮件头。只有当所使用的私有加密密钥对于您的组织是唯一的,并且不像您指出的那样在服务用户之间共享时,这才有效

DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=subdomain; d=mydomain.com; ...
要实现这一点,您的电子邮件服务器需要向您提供公钥或在其自己的域中发布公钥。使用后一种情况,您可以使用DNS CNAME记录指向公钥

TXT subdomain._domainkey.mydomain.com "p=..."


这取决于您的邮件服务器设置,从地址进行验证。Mailinabox.email使用后缀将其包含在标准配置中,因此可以查看他们的配置。
CNAME subdomain._domainkey.mydomain.com uniqueid.xxx.example.com