设置邮件服务器时对 RSA 证书、TLS 加密和虚拟用户的困惑

设置邮件服务器时对 RSA 证书、TLS 加密和虚拟用户的困惑

我目前正在尝试通过以下方式了解创建邮件服务器的过程指南等等。有些部分我不太清楚。我会逐一讲解。

在开始之前,我要说的是,我目前通过 Ubuntu 20.04 上的 Digital Ocean droplet 拥有一个形式为 example.tk 的网站,并正在尝试让我的邮件服务器在 mail.example.tk 上运行。

1.

我们将介绍与每个域名关联的电子邮件地址和密码。请确保使用您的具体信息更改所有信息。

INSERT INTO `servermail`.`virtual_users`
(`id`, `domain_id`, `password` , `email`)
VALUES
('1', '1', ENCRYPT('firstpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[email protected]'),
('2', '1', ENCRYPT('secondpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '[email protected]');

我完全不知道该写什么[电子邮件保护]' 和 '[电子邮件保护]'。我有一个网站域名,以及我想使用的邮件子域名,但我不知道要在这里放哪些电子邮件地址。我是一个完全的初学者,我唯一可以访问的电子邮件地址是我的个人电子邮件地址。我是不是应该编造电子邮件地址之类的?我的 example.tk 网站没有与之关联的电子邮件地址。

2.

首先,我们需要注释 TLS 参数并附加其他参数。在本教程中,我们使用免费 SSL 证书和教程(链接)中建议的路径,但您可以根据个人配置进行修改。

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache 
smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem
smtpd_tls_key_file=/etc/ssl/private/dovecot.pem
smtpd_use_tls=yes
smtpd_tls_auth_only = yes

据我所知,前两行未注释的代码用于获取 RSA 算法以使用 TLS 加密,我们显然是从 Dovecot 获得的;所以希望可以安全地假设 Dovecot 处理 Postfix 的 TLS 加密?根据 smptd_use_tls 和 smptd_tls_auth_only 的配置文件,前者定义为

机会性 TLS:向远程 SMTP 客户端宣布支持 STARTTLS,但不要求客户端使用 TLS 加密。

后者为

当 Postfix SMTP 服务器中的 TLS 加密是可选的时,不要通过未加密的连接宣布或接受 SASL 身份验证。

如果启用了这两个,这有点令人困惑。从前两行来看,我们似乎使用了 RSA 算法,但我们并不要求客户端使用它们(如 smptd_use_tls=yes 所声明的),除非我理解错了。无论如何,从 smptd_use_tls 描述中可以清楚地看出,如果启用,TLS 加密是可选的,如果 TLS 加密是可选的,“不宣布或接受未加密连接上的 SASL 身份验证”。因此,我们似乎实际上拒绝了未加密连接上的 SASL 身份验证。因此,这是否要求客户端确实需要使用 RSA 密钥来进行身份验证?

我想我可能混淆了几件事,特别是 RSA 证书与 TLS 加密究竟有什么关系,因为我只是相信 RSA 密钥是一种 TLS 加密,以及“未加密的连接”到底是什么,以及它是否与 RSA 密钥相关。

相关内容