其中在整个一套邮件服务器中,默认信息传输都是明文传输的,所以这个在安全性上面就不是那么好。但是如果说一封邮件从发生到对方接受想要全程做到加密处理这个也是很难的。因为一封邮件从一个域转到另外一个域服务器时很难做到加密,这属于不同的域,有不同的人在管理,比如说从163发一封邮件到QQ邮箱。

但是如果在同一个域内保证邮件发送和接收的安全性,该如何做呢?其实也有一种机制就是S/MIME,提供用户到用户的邮件安全性。它能保证邮件发送加密同时邮件存储在邮件服务器上也是加密存放,直到用户取回到本地进行解密才可查看,在这期间任何人截取邮件都是不可看的,可以说是非常安全了。但是这种机制一般都是提供商业支持。

那么除了S/MIME这种机制,在我们可控范围内可以做到邮件发送和接收时进行加密,如smtps是加密传输的smtp协议,工作在TCP/465端口;POP3s是加密传输的pop3协议,工作在TCP/995端口;以及IMAP4s是加密传输的imap4协议,工作在TCP/993端口;当然这只是能保证邮件从邮箱到本地是加密的,如邮件发送和存储无法做到加密。也可以对webmail进行https传输,这些都可以在一定程度上做到邮件加密处理。

OpenSSL实现私有CA

CA服务器生成一对秘钥并保存

[root@localhost ~]# openssl genrsa 1024 > /etc/pki/CA/private/cakey.pem

CA服务器生成自签署证书

[root@localjost ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 365
输入国家名称2位的代码:cn
输入所在省份的名称:shanghai
输入所在城市的名称:shanghai
输入公司的名称:ywnds
输入所在的部门:tech
输入主机的名称:ca.ywnds.com(此主机名要跟服务器的主机名保持一致;客户端访问主机时必须要通过这个主机名才能建立连接否则说证书不可信)
输入E-mail:admin@ywnds.com

为CA创建一些目录和文件

[root@localhost ~]# mkdir /etc/pki/CA/{certs,newcerts,crl}
[root@localhost ~]# touch /etc/pki/CA/{index.txt,serial}
[root@localhost ~]# echo 01 > /etc/pki/CA/serial

邮件服务器生成证书

[root@localhost ~]# mkdir /etc/dovecot/ssl
[root@localhost ~]# openssl genrsa -out /etc/dovecot/ssl/dovecot.key 1024
[root@localhost ~]# opensslreq -new -key /etc/dovecot/ssl/dovecot.key -out /etc/dovecot/ssl/dovecot.csr
[输入的信息一定要跟CA输入的信息一致因为我们创建的私有CA]
输入国家名称2位的代码:cn
输入所在省份的名称:shanghai
输入所在城市的名称:shanghai
输入公司的名称:ywnds
输入所在的部门:tech
输入主机的名称:mail.ywnds.com(此主机名要跟服务器的主机名保持一致;客户端访问主机时必须要通过这个主机名才能建立连接否则说证书不可信)
输入E-mail:admin@ywnds.com
证书密码:

在CA服务器签署证书并发送回给邮件服务器

[root@localhost ~]# openssl ca -in /etc/dovecot/ssl/dovecot.csr -out /etc/dovecot/ssl/dovecot.crt -days 365

在CA服务器上查看签署过后/etc/pki/CA下的文件发生的变化

[root@localhost ~]# cat /etc/pki/CA/index.txt
[root@localhost ~]# cat /etc/pki/CA/serial Dovecot开启SSL
[root@localhost ~]# vim /etc/dovecot.conf
protocols pop pop3 imap imap4 [root@localhost ~]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = yes
ssl_cert = /etc/dovecot/ssl/dovecot.crt
ssl_key = /etc/dovecot/ssl/dovecot.key [root@localhost ~]# service dovecot restart

MUA连接邮件服务器注意事项:

1.把CA的证书cacert.pem下载到客户端改名cacert.crt并安装到根信任域。

2.客户端连接pop3s服务器时POP3s会发来证书,此时CA证书cacert.crt会去验证POP3证书,没有问题就可以传输邮件。

3.MUA在连接POP3s服务器时要使用域名不能使用IP地址,因为要跟证书中的主机名对应,不然还是会不受信任,同时客户端要能解析此域名。

最新文章

  1. 使用Ado.net执行SP很慢,而用SSMS执行很快
  2. Python:进程
  3. js获取url传递的参数
  4. Java Hour 24 JDBC
  5. 缓存之Redis
  6. UVA - 658 最短路
  7. [SHOI 2011]双倍回文
  8. 遇到一道经典的java面试题
  9. 吴恩达机器学习笔记51-初始值重建的压缩表示与选择主成分的数量K(Reconstruction from Compressed Representation & Choosing The Number K Of Principal Components)
  10. MySQL 基本语句(2)
  11. Uval4726-数形结合的思想
  12. 03: itchat发送微信消息
  13. Mybatis 的常见面试题
  14. [glog]_[C/C++]_[使用glog来记录日志]
  15. [Luogu4724][模板]三维凸包(增量构造法)
  16. Load sharepoint envirement by powershell
  17. C#调用C++函数
  18. docker-8-本地镜像发布到阿里云
  19. bzoj1025(SCOI2009)游戏——唯一分解的思路与应用
  20. lnmp环境应用实践

热门文章

  1. wpgcms---设置应用模板
  2. Java 8新增的Lambda表达式
  3. VUE中父组件向子组件传递数据 props使用
  4. phpstrom 配置xdebug在vagrant上调试
  5. 编译x11版本qt
  6. CGI servlet Applet Scriptlet Scriptlet JSP data layer(数据层),business layer(业务层), presentation layer(表现层)
  7. flask_SQLAlchemy常用数据类型及列选项
  8. 异步通信----WebSocket
  9. Java学习之路-Burlap学习
  10. 在scrapy中使用mongodb管道