您的位置:首页技术文章
文章详情页

CentOS邮件服务器搭建系列——用 SSL 对邮件加密的支持

【字号: 日期:2024-07-11 10:04:58浏览:61作者:猪猪

前言

通常,我们发送的邮件在传输过程中都采用明文传输。当发送重要信息的时候,仍然存在邮件被第三方获取,泄露隐私及密码等等的安全隐患。在 Web 服务器中,通过用 SSL 实现对 HTTPS 协议的支持,实现了对传输内容的加密,在邮件服务器中,我们也同样能够依靠 SSL 来实现对邮件的加密,从而提高通过用邮件传递信息的安全性。

证书与密钥的确认

在这里,可以为邮件服务器建立新的证书,但为了管理上的便利性,我们直接引用 Web 服务器的证书,作为邮件服务器的证书。

首先确认 Web 服务器证书的存在。

[root@sample ~]# ls -l /etc/httpd/conf/ssl.crt/server.crt  ← 确认证书的存在性

-rw-r--r-- 1 root root 956 Oct 14 08:51 /etc/httpd/conf/ssl.crt/server.crt  ← 证书存在

[root@sample ~]# ls -l /etc/httpd/conf/ssl.key/server.key  ← 确认密钥的存在性

-rw------- 1 root root 887 Oct 14 08:49 /etc/httpd/conf/ssl.key/server.key  ← 密钥存在

如果以上确认,没有发现相关的证书和密钥的存在,请参见 “让服务器支持安全 HTTP 协议( HTTPS )” 中的方法来建立相关的证书和密钥。

SMTP服务器(Postfix)方面的相关设置

[1] 编辑 Postfix 的 mail.cf 配置文件。

[root@sample ~]# vi /etc/postfix/main.cf  ← 编辑 Postfix 配置文件,在文尾添加如下行:

smtpd_use_tls = yessmtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scachesmtpd_tls_cert_file = /etc/httpd/conf/ssl.crt/server.crtsmtpd_tls_key_file = /etc/httpd/conf/ssl.key/server.key

[2] 编辑 Postfix 的 master.cf 配置文件。

[root@sample ~]# vi /etc/postfix/master.cf  ← 编辑 master.cf

smtp inet n - n - - smtpd  ← 找到此行,在行首加“#”↓#smtp inet n - n - - smtpd  ← 改为此状态,禁用SMTP协议

#smtps inet n - n - - smtpd  ← 找到此行,去掉行首的“#”↓smtps inet n - n - - smtpd  ← 改为此状态,使用SMTPS协议

# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes  ← 找到此行,去掉行首的“#”↓-o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes  ← 改为此状态

[3] 编辑 Dovecot 的配置文件。

[root@sample ~]# vi /etc/dovecot.conf  ← 编辑 Dovecot 的配置文件

protocols = imap pop3  ← 找到此行,将“=”后面的部分改为如下状态↓protocols = imaps pop3s  ← 改为此状态,让其只支持imaps和pop3s协议

#ssl_disable = no  ← 找到此行,去掉行首的“#”↓ssl_disable = no  ← 改为此状态,让其支持 SSL 及 TLS

#ssl_cert_file = /usr/share/ssl/certs/dovecot.pem  ← 找到此行,去掉行首的“#”,并指定证书所在位置↓ssl_cert_file =/etc/httpd/conf/ssl.crt/server.crt  ← 改为此状态,指定其证书为 Apache 的证书↓#ssl_key_file = /usr/share/ssl/private/dovecot.pem  ← 找到此行,去掉行首的“#”,并指定密钥所在位置

ssl_key_file = /etc/httpd/conf/ssl.key/server.key   ← 改为此状态,指定其密钥为 Apache 的密钥

[4] 编辑防火墙规则,打开相应端口。

[root@sample ~]# vi /etc/sysconfig/iptables  ← 编辑防火墙规则

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT  ← 找到此行,接着添加如下行:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT  ← 允许SMTPS的465号端口-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT  ← 允许POP3S的995号端口-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT  ← 允许IMAPS的993号端口

重新起动相关服务,使设置生效

最后,重新启动所有相关的服务,使刚刚的设置生效。

[root@sample ~]# /etc/rc.d/init.d/postfix restart  ← 重新启动 Postfix

Shutting down postfix: [ OK ]Starting postfix: [ OK ]

[root@sample ~]# /etc/rc.d/init.d/dovecot restart  ← 重新启动 Dovecot

Stopping Dovecot Imap:  [ OK ]Starting Dovecot Imap: [ OK ]

[root@sample ~]# /etc/rc.d/init.d/iptables restart  ← 重新启动 iptables

Flushing firewall rules:  [ OK ]Setting chains to policy ACCEPT: filter [ OK ]Unloading iptables modules: [ OK ]Applying iptables firewall rules:  [ OK ]

邮件客户端的设置

这里,邮件客户端的设置以 Thunderbird 为例。

* SMTP 方面:

在 SMTP 服务器设置中,选择 SSL 方式。使用 Thunderbird 的情况下,选择 SSL 后,端口号会自动变成 465。其它邮件客户端软件请根据实际情况正确设置。

标签: CentOS
相关文章: