OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

1.3. SMTP验证


SMTP-AUTH 允许客户端通过身份验证机制 (SASL) 识别自己。 应该使用传输层安全 (TLS) 来加密身份验证过程。 一旦通过身份验证,SMTP 服务器将允许客户端中继邮件。


1. 使用 SASL (Dovecot SASL) 为 SMTP-AUTH 配置 Postfix:


须藤 postconf -e 'smtpd_sasl_type = dovecot'

sudo postconf -e 'smtpd_sasl_path = private/auth' sudo postconf -e 'smtpd_sasl_local_domain ='

sudo postconf -e 'smtpd_sasl_security_options = noanonymous' sudo postconf -e 'broken_sasl_auth_clients = yes'

须藤 postconf -e 'smtpd_sasl_auth_enable = yes' 须藤 postconf -e 'smtpd_recipient_restrictions = \

permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'


图片

这个 smtpd_sasl_路径 配置是相对于 Postfix 队列目录的路径。


2. 接下来,生成或获取 TLS 的数字证书。 请参见第 5 节“证书”[p. 198] 了解详情。 此示例还使用证书颁发机构 (CA)。 有关生成 CA 证书的信息,请参阅第 5.5 节“证书颁发机构”[p. 200]。 XNUMX]。


图片

通过 TLS 连接到您的邮件服务器的 MUA 需要识别用于 TLS 的证书。 这可以使用来自商业 CA 的证书或使用用户手动安装/接受的自签名证书来完成。 对于 MTA 到 MTA TLS 证书,未经受影响组织的事先同意,绝不会进行验证。 对于 MTA 到 MTA TLS,除非本地策略要求,否则没有理由不使用自签名证书。 请参阅第 5.3 节 “创建自签名证书” [p. 200] 了解更多详情。

3. 获得证书后,配置 Postfix 为传入和传出邮件提供 TLS 加密:


sudo postconf -e 'smtp_tls_security_level = may' sudo postconf -e 'smtpd_tls_security_level = may'

须藤 postconf -e 'smtp_tls_note_starttls_offer = yes'

sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/server.key' sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/server.crt' sudo postconf -e 'smtpd_tls_loglevel = 1'

sudo postconf -e 'smtpd_tls_received_header = yes' sudo postconf -e 'myhostname = mail.example.com'


4. 如果您使用自己的 证书颁发机构 要签署证书,请输入:


须藤 postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'


同样,有关证书的更多详细信息,请参见第 5 节“证书”[p. 198]。


图片

运行完所有命令后,为 SMTP-AUTH 配置了 Postfix,并为 TLS 加密创建了一个自签名证书。


现在,文件 /etc/postfix/main.cf 应该看起来像这样:


# 查看/usr/share/postfix/main.cf.dist 的注释,更完整

# 版本


smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no


# 附加 .domain 是 MUA 的工作。 append_dot_mydomain = 否


# 取消注释下一行以生成“延迟邮件”警告

#delay_warning_time = 4 小时


myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname

mydestination = server1.example.com, localhost.example.com, localhost 中继主机 =

我的网络 = 127.0.0.0/8

邮箱命令 = procmail -a "$EXTENSION" 邮箱大小限制 = 0

收件人分隔符 = + inet_interfaces = 所有 smtpd_sasl_local_domain = smtpd_sasl_auth_enable = 是

smtpd_sasl_security_options = 没有匿名的broken_sasl_auth_clients = 是smtpd_recipient_restrictions =

permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination smtpd_tls_auth_only = no

smtp_tls_security_level =可以smtpd_tls_security_level =可以smtp_tls_note_starttls_offer =是smtpd_tls_key_file = /etc/ssl/private/smtpd.key smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header =是 smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom


postfix初始配置完成。 运行以下命令重新启动 postfix 守护进程:


须藤 systemctl 重启 postfix.service


Postfix 支持 RFC2554 中定义的 SMTP-AUTH1. 它基于 SASL2. 但是,在使用 SMTP-AUTH 之前,仍然需要设置 SASL 身份验证。


OnWorks 的顶级操作系统云计算: