继上篇文章配置了简单的邮件服务器,但是当接收发邮件是容易被抓包获取到我们的敏感信息,为此这篇文章讨论一下邮件服务器的加密 ?xml:namespace>
① Pop3s加密协议 端口为995
② 通过startts工作在smtp协议的25端口加密
当收件人接受邮件时开启咱们的wireshark抓包工具,看看能不能获得敏感信息。
tshark -ni eth0 -R "tcp.port eq 110"
如上可以获得到收信人的账户和密码
下面我们做的主要工作时防止被人抓包获取敏感信息。。
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 >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
[root@RHEL CA]# chmod 600 private/*
(5)创建用于存放邮件服务器的证书目录
mkdir /etc/mail/certs
(6)产生私钥
[root@RHEL certs]# openssl genrsa 1024 > mail.key
Generating RSA private key, 1024 bit long modulus
....................................++++++
...++++++
e is 65537 (0x10001)
(7)请求
[root@RHEL certs]# openssl req -new -key mail.key -out mail.csr
(8)颁发证书
[root@RHEL certs]# openssl ca -in mail.csr -out mail.cert
(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安全连接如下:
tshark -ni eth0 -R "tcp.port eq 995"
接受邮件时,再次抓包已经获取不到了敏感数据
有发才有收,所以在发送邮件时,也可能被被人监听
下面实现发送加密 即 在smtp的25端口实现加密
(1) 产生私钥、创建请求、颁发证书如上述的(6)(7)(8)三的步骤 只是创建请求时写smtp.wsm.com ,并修改key的权限为600
实现在smtp的25端口加密的是startts功能
查看是否开启了
还没有
编辑vim /etc/mail/sendmail.mc 如下 ,开启如下5行,并相应的修改
134 DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
已开启starttls功能
在outlook中启用smtp的ssl安全连接如下:
好了,,此时,你在和mail服务器之间发送和接收邮件应经实现了加密,,最好在给客户机发一个根证书。