我与 Postfix 服务器的连接是否已加密?

我与 Postfix 服务器的连接是否已加密?

我想使用 Thunderbird 客户端通过在端口 25 (SMTP) 上运行的 Postfix 服务器发送邮件。

我想要一个经过身份验证和加密的连接。

我遵循了这些文档:

配置很容易:

$ sudo apt install libsasl2-modules sasl2-bin
$ sudo saslpasswd2 -c -u example.com yugiohjcj
$ sudo sasldblistusers2

$ sudo vim /etc/postfix/sasl/smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5

$ sudo vim /etc/postfix/main.cf
# SASL
cyrus_sasl_config_path = /etc/postfix/sasl
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

$ sudo bash /etc/init.d/postfix restart

以下是我配置 Thunderbird 的方法:

  • 编辑 > 帐户设置 > 发送服务器 (SMTP)
  • 服务器名称:example.com
  • 端口:25
  • 连接安全:STARTTLS
  • 认证方式:普通密码
  • 用户名:[电子邮件受保护]

当邮件从 Thunderbird 发送时,我可以在 Postfix 日志中看到以下内容:

postfix/smtpd[103272]: connect from 1.2.3.4.subs.proxad.net[1.2.3.4]
postfix/smtpd[103272]: 39AB821458: client=1.2.3.4.subs.proxad.net[1.2.3.4], sasl_method=PLAIN, [email protected]
postfix/cleanup[103276]: 39AB821458: message-id=<[email protected]>
opendkim[72092]: 39AB821458: DKIM-Signature field added (s=2023, d=example.com)
postfix/qmgr[102890]: 39AB821458: from=<[email protected]>, size=690, nrcpt=1 (queue active)
postfix/smtpd[103272]: disconnect from 1.2.3.4.subs.proxad.net[1.2.3.4] ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=8
postfix/smtp[103277]: 39AB821458: to=<[email protected]>, relay=gmail-smtp-in.l.google.com[64.233.184.26]:25, delay=0.7, delays=0.08/0.01/0.31/0.3, dsn=2.0.0, status=sent (250 2.0.0 OK  1678874625 bh21-20020a05600c3d1500b003da0d302eb6si1264054wmb.27 - gsmtp)
postfix/qmgr[102890]: 39AB821458: removed

因此,邮件在我的 Postfix 服务器上收到,然后按预期转发到我的 @gmail.com 地址(我~/.forward为此使用一个文件)。

但是,我没有看到任何有关加密的内容。

我与 Postfix 服务器的连接是否已加密?

如果没有,请问我该如何修复?

谢谢。

此致。

答案1

postfix/smtpd[103272]: connect from 1.2.3.4.subs.proxad.net[1.2.3.4]
postfix/smtpd[103272]: 39AB821458: client=1.2.3.4.subs.proxad.net[1.2.3.4], sasl_method=PLAIN, [email protected]
[...]
postfix/smtpd[103272]: disconnect from 1.2.3.4.subs.proxad.net[1.2.3.4] ehlo=2 starttls=1 [...]

此处,starttls=1确认 TLS 对连接有效。

您可能需要将以下设置添加到 Postfixmain.cf配置中:

smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_tls_security_options = noanonymous

这限制了仅将未散列密码(LOGIN 和 PLAIN)传递到 TLS 加密连接的身份验证方法;在未加密的连接上,仅可接受以散列形式传输密码的 CRAM-MD5 和 DIGEST-MD5。

或者,您可以设置

smtpd_tls_auth_only = yes

仅当首先建立 TLS 加密时才允许身份验证。

参考:Postfix SASL Howto、SASL 安全选项

答案2

Connection Security: STARTTLS

你没事。这表示 Thunderbird 必须加密与您的服务器的通信。

这条线证实了这一点;请参阅starttls=1

postfix/smtpd[103272]: disconnect from 1.2.3.4.subs.proxad.net[1.2.3.4] ehlo=2 starttls=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=8

不过,您的日志文件中并未说明您与 Google 入站 SMTP 服务器的连接是否已加密。

相关内容