我已经将 exim4 配置为使用 TLS 通过发送电子邮件smtp.gmail.com::465
,不是通过 STARTTLS 启动smtp.gmail.com::587
。我使用了从各种来源获取的信息。我执行的完整步骤列表可以在以下网址查看:https://github.com/imthenachoman/How-To-Secure-A-Linux-Server#configure-gmail-as-mta-with-implicit-tls。
这是用于家中路由器后面的服务器。我没有域名,因此我使用 创建了本地服务器端证书/usr/share/doc/exim4-base/examples/exim-gencert
。
我可以发送电子邮件。我假设它实际上是通过 465 加密的 TLS 流量,但我不知道如何检查。
我使用以下方法进行了系统审核莱尼斯并显示了针对 exim4 的警告:
[+] Software: e-mail and messaging
------------------------------------
- Exim status [ RUNNING ]
- Type [ SATELLITE ]
- Certificate not set [ WARNING ]
- Private Key not set [ WARNING ]
我查看了 Lynis 的源代码并发现它通过检查输出来检查这些tls_certificate
设置tls_privatekey
:exim -bP transport remote_smtp_smarthost
$ sudo exim -bP transport remote_smtp_smarthost | egrep 'tls_certificate|tls_privatekey'
tls_certificate =
tls_privatekey =
我不知道如何补救/解决这个问题。
问题:
- 是否可以验证 exim4 是否通过端口 465 上的加密 TLS 发送邮件?
- 我需要做什么来修复警告——基本上就是获取证书/密钥集。请记住,这是针对没有域名的家庭服务器的,因此我无法获取合法证书,因为没有域名可以验证。
答案1
运行时exim -bP transport remote_smtp_smarthost
,仅显示传输的设置remote_smtp_smarthost
。您可能甚至没有使用该传输。最好使用exim -bP
不带参数的命令,这样会显示主要设置。Lynis 在这方面可能需要稍加改进。
您可以通过检查 exim 来检查 exim 在向其他邮件服务器发送电子邮件时是否使用 TLS mainlog
。查找带有 的行=>
,表示已送达。如果这些行中有一部分以 开头,则表示X=TLS1.2:...
exim 确实在使用 TLS,该部分描述了所使用的 TLS 参数。