欢迎各位兄弟 发布技术文章
这里的技术是共享的
|
通常,我们发送的邮件在传输过程中都采用明文传输。当发送重要信息的时候,仍然存在邮件被第三方获取,泄露隐私及密码等等的安全隐患。在 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 )” 中的方法来建立相关的证书和密钥。
|
[1] 编辑 Postfix 的 mail.cf 配置文件。
[root@sample ~]# vi /etc/postfix/main.cf ← 编辑 Postfix 配置文件,在文尾添加如下行: smtpd_use_tls = yes smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache smtpd_tls_cert_file = /etc/httpd/conf/ssl.crt/server.crt smtpd_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。其它邮件客户端软件请根据实际情况正确设置。
* POP 方面:
在 POP 服务器设置中,选择 SSL 方式。使用 Thunderbird 的情况下,选择 SSL 后,端口号会自动变成 995。其它邮件客户端软件请根据实际情况正确设置。
在发送或接收邮件时,会弹出服务器证书相关的信息,如下:
选择“确定”接受服务器证书。
再次点击“确定”信任此服务器证书。
最后发送邮件到服务器的相应用户,并确认能够接收。
来自 http://www.turbomail.org/turbopost/open-source/show21.html