后缀/鸽舍设置中的SASL:在哪里使用?

问题描述

我正在尝试使用Postfix / Dovecot设置邮件服务器以获得学习经验。 (这意味着您不必劝阻我!)

在所有指南的2/3中,他们只是说“ “我们即将启用SASL身份验证” 。但是我不了解SASL适合安装的位置。

我绘制了以下架构以可视化我认为电子邮件通信的外观(省略号中的smtp和smtpd指的是后缀的子模块):

three hosts and one client connecting to each other using various protocols,all SSL encrypted.

为什么需要SASL? Postfix和Dovecot已经使用SSL加密了流量,这也是为什么我将它们指向有效的Let's Encrypt证书的原因。 SASL需要什么,为什么后缀需要鸽子来提供它? (注意:但是我确实理解为什么后缀将需要外部合作伙伴如dovecot或Cyrus的SASL提供程序,所以this这个问题与我无关。)

请在任何错误的地方也纠正此图像。我知道这并不是正在发生的事情的全部,但它应该涵盖足够有用的概念。

谢谢!

解决方法

SASL(简单身份验证和安全层)是用于身份验证的框架。 SSL(TLS)是协议的框架,可通过网络提供安全的通信。 SSL(TLS)可以通过客户端证书提供身份验证。我不知道支持证书身份验证的电子邮件客户端(MUA)。

SMTP的原始设计允许电子邮件从任何地方到达并转发到任何地方。在过去,我们称电子邮件服务器为存储和转发服务器。但是,在当今垃圾邮件和网络钓鱼盛行的今天,允许任何人将电子邮件传输到SMTP服务器都是一个坏主意。盲目转发电子邮件(开放中继)也是一个坏主意。

Postfix使用SASL为邮件客户端(MUA)提供身份验证。这可以很简单,例如用户名/密码或许多认证服务之一,例如LDAP或Active Directory。 SASL是代表Postfix处理身份验证的软件。

有许多SASL软件提供商。选择取决于您的网络设计,身份验证源,设计目标等。如果用户名存储在Azure Active Directory中,则应选择支持Azure Active Directory的SASL软件。另一个示例是使用MySQL存储用户。一旦设计好网络,通常选择起来就很容易。

Postfix还实现了其他形式的授权,以确定它是否应接受来自其他SMTP服务器的电子邮件。在这里使用网络亲缘关系(您在授权的网络或IP地址上),反向DNS,SPF,DMARC,DKIM等。

SSL可用于加密SMTP服务器之间以及电子邮件客户端和SMTP服务器之间的通信。这提供了保密性,但不提供授权。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...