天天看点

邮件服务器之sendmail的安全配置之加密

邮件服务器之sendmail的安全配置之加密

导读

继上篇文章配置了简单的邮件服务器,但是当接收发邮件是容易被抓包获取到我们的敏感信息,为此这篇文章讨论一下邮件服务器的加密

① Pop3s加密协议 端口为995

② 通过startts工作在smtp协议的25端口加密

当收件人接受邮件时开启咱们的wireshark抓包工具,看看能不能获得敏感信息。

tshark -ni eth0 -R "tcp.port eq 110"

<a href="http://blog.51cto.com/attachment/201211/143104881.png" target="_blank"></a>

如上可以获得到收信人的账户和密码

下面我们做的主要工作时防止被人抓包获取敏感信息。。

1、 创建CA认证中心

(1)编辑/etc/pki/tls/openssl.cnf文件 修改如下几行为如下:

45 dir                        = /etc/pki/CA

88 countryName               = optional

89 stateOrProvinceName        = optional

90 organizationName           = optional

(2)cd /etc/pki/CA

[root@RHEL CA]# mkdir crl certs newcerts

[root@RHEL CA]# touch index.txt serial

[root@RHEL CA]# echo "01" serial

(3)创建自己的私钥

[root@RHEL CA]# openssl genrsa 1024 &gt;private/cakey.pem

Generating RSA private key, 1024 bit long modulus

.....++++++

................++++++

e is 65537 (0x10001)

(4)生产证书

[root@RHEL CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem

<a href="http://blog.51cto.com/attachment/201211/143115963.png" target="_blank"></a>

[root@RHEL CA]# chmod 600 private/*

(5)创建用于存放邮件服务器的证书目录

mkdir /etc/mail/certs   

(6)产生私钥

[root@RHEL certs]# openssl  genrsa 1024 &gt; mail.key

....................................++++++

...++++++

e is 65537 (0x10001)   

(7)请求

[root@RHEL certs]# openssl req -new -key mail.key -out mail.csr

<a href="http://blog.51cto.com/attachment/201211/143123324.png" target="_blank"></a>

(8)颁发证书

[root@RHEL certs]# openssl ca -in mail.csr -out mail.cert

<a href="http://blog.51cto.com/attachment/201211/143130519.png" target="_blank"></a>

(9)vim /etc/dovecot.conf

去掉注释,并修改为如下:

ssl_cert_file = /etc/mail/certs/mail.cert

ssl_key_file = /etc/mail/certs/mail.key

(10)重启dovecot服务

(11)outlook客户端启用SSl安全连接如下:

<a href="http://blog.51cto.com/attachment/201211/143140922.png" target="_blank"></a>

tshark -ni eth0 -R "tcp.port eq 995"

<a href="http://blog.51cto.com/attachment/201211/143151812.png" target="_blank"></a>

接受邮件时,再次抓包已经获取不到了敏感数据

有发才有收,所以在发送邮件时,也可能被被人监听

下面实现发送加密 即 在smtp的25端口实现加密

(1) 产生私钥、创建请求、颁发证书如上述的(6)(7)(8)三的步骤 只是创建请求时写smtp.wsm.com ,并修改key的权限为600

实现在smtp的25端口加密的是startts功能

查看是否开启了

<a href="http://blog.51cto.com/attachment/201211/143208226.png" target="_blank"></a>

还没有

编辑vim /etc/mail/sendmail.mc 如下 ,开启如下5行,并相应的修改

<a href="http://blog.51cto.com/attachment/201211/143218508.png" target="_blank"></a>

134 DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl

<a href="http://blog.51cto.com/attachment/201211/143225786.png" target="_blank"></a>

已开启starttls功能

在outlook中启用smtp的ssl安全连接如下:

<a href="http://blog.51cto.com/attachment/201211/143233441.png" target="_blank"></a>

好了,,此时,你在和mail服务器之间发送和接收邮件应经实现了加密,,最好在给客户机发一个根证书。。。。

本文转自 abc16810 51CTO博客,原文链接:http://blog.51cto.com/abc16810/1061508

继续阅读