当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

作者:精品下载站 日期:2024-12-14 06:59:54 浏览:16 分类:玩电脑

思科电子邮件安全设备和 DKIM 签名


在之前的博文中,我已经讨论了 Exchange 2016 中的 DKIM 签名:Exchange 2016 中的 SenderID、SPF、DKIM 和 DMARC - 第 II 部分

开箱即用的 Exchange 支持 SPF 检查,但不支持 DKIM 签名/验证和 DMARC 验证。在 GitHub 上可以找到用于 DKIM 签名的免费第三方工具,但在编写此工具时仅支持 DKIM 签名,但不支持 DKIM 验证。我不得不承认使用这个工具进行 DKIM 签名效果非常好。

我之前已经解释过,我已经在实验室环境中安装并配置了思科电子邮件安全设备(ESA,以前称为 IronPort)设备,安装方式如下:

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

图 1.我的 testlab Exchange 环境。

所有出站 SMTP 邮件均通过 ESA。 ESA 的 FQDN 是 smtphost.exchangelabs.nl,当然它有一个公共 IP 地址和相应的 PTR 记录。

SPF 配置为允许来自此 FQDN 和 IP 地址的 SMTP 邮件,但我已将其配置为“软失败”选项,以防接收 SMTP 主机无法正确检查。以下屏幕截图取自 http://mxtoolbox.com 站点:

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

图2.检查SPF记录

我还配置了 DMARC 记录。正如 Exchange 2016 中的 SenderID、SPF、DKIM 和 DMARC - 第 III 部分博文中所述,这是由接收 SMTP 主机使用的,而不是由我的 Exchange 服务器使用的。我的 DMARC 策略仅用于检查(p=none),我的邮件 100% 都会经过检查,并将汇总结果发送到 DMARCIAN。同样,此屏幕截图取自 http://mxtoolbox.com 站点:

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

图 3. 检查 DMARC 记录

到目前为止,这还不是太令人兴奋,每个人都应该配置它并使用像 DMARCIAN 这样的工具来监控您的互联网信心水平。

思科电子邮件安全设备 DKIM 签名

快速了解 DKIM 签名是什么及其工作原理。使用 DKIM 签名,您可以创建存储在 SMTP 消息标头中的 DKIM 签名。该签名是使用私钥创建的。由于您是唯一有权访问私钥的人,因此消息的接收者可以确定您是合法的发送者。

要解密 DKIM 签名,接收服务器需要拥有您的公钥,该密钥存储在公共 DNS 中。收到消息后,接收服务器从 DNS 获取公钥,并将授权标头放入消息中。工作流程是这样的:

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

图 4.DKIM 签名和加密,由思科提供

在 ESA 中启用 DKIM 签名包括几个步骤。

1. 创建签名密钥。与 Github 解决方案相反,思科设备可以生成自己的密钥。密钥长度可以在 512 字节(不太安全)到 2048 字节(非常安全)之间变化。 1024 的密钥长度被认为是安全的,2048 的密钥长度会影响性能。在设备中,选择邮件策略 -> 域密钥 -> 签名密钥,然后单击添加密钥。输入名称,选择关键位数(我使用 1024),然后单击提交。现在已创建密钥对。您可以使用公钥下的查看选项来复制公钥。稍后这将存储在 DNS 中。

2. 第二步创建域配置文件。这是发送域与签名密钥关联的地方。要创建域配置文件,请选择邮件策略 -> 签名配置文件,然后单击添加配置文件按钮。输入名称并在下拉框中选择 DKIM。该窗口将展开,您可以输入 DKIM 特定信息,例如域名、选择器、在上一步中创建的私钥、规范化、要使用的标头等。

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

图 5. 配置 DKIM 细节

3. 在传出配置文件上启用 DKIM 签名。选择邮件策略à邮件流策略(在主机访问表下),然后选择OutgoingMail策略。单击中继策略,向下滚动到安全功能部分,然后在域密钥/DKIM签名字段中选择开启

这就是对特定域的出站邮件启用 DKIM 签名所需的全部操作。当我发送电子邮件(到我的家庭地址)并检查邮件标题时,DKIM 签名清晰可见。

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

图 6. 出站 SMTP 消息中的 DKIM-Signature 标头

Authentication-Results 标头仍然显示“dkim=invalid”,但这是因为公钥尚未存储在 DNS 中。 ESA 能够生成 DNS 文本记录,在我的环境中将如下所示:

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

当此信息输入 DNS 并发送电子邮件时,我们可以再次检查邮件标头,是的,身份验证结果显示“dkim=pass”。

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

目前,只有我的默认域经过 DKIM 签名。添加其他域很简单,为此域创建一个新的签名配置文件(使用现有密钥对或新密钥对),为该附加域创建 DNS 记录,然后就可以开始了。

思科电子邮件安全设备 DKIM 验证

现在我们已经完成了 DKIM 签名,是时候启用 DKIM 验证了。对于 DKIM 验证,ESA 上已经提供了预定义的配置文件。

要启用 DKIM 验证(开箱即用),请转至邮件策略 -> 邮件流策略并选择传入邮件策略。向下滚动到安全功能部分,然后选择DKIM验证处的打开单选按钮。

现在,当我通过 ESA 从进行 DKIM 签名的域发送电子邮件到我实验室的邮箱时,我们可以看到它实际上已经过验证,并且在电子邮件标头中显示“dkim=pass(签名已验证)”:

[玩转系统] 思科电子邮件安全设备和 DKIM 签名

概括

在这篇博文中,我向您展示了如何在思科电子邮件安全设备上启用 DKIM 签名和 DKIM 验证。使用 DKIM 签名,接收服务器通过验证电子邮件标头中的 DKIM 签名知道您的服务器可以代表您发送电子邮件。

反之亦然,如果您收到电子邮件标头中带有 DKIM 签名的电子邮件,您可以通过验证 DKIM 签名来验证是否确实允许发送服务器代表该用户发送邮件。

在下一篇博客中,我将向您展示如何在 ESA 上启用 DMARC,以及如何用它来对抗垃圾邮件。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯