Mail协议加密

邮件在发送接收时的协议决定了邮件不可避免的安全问题,解决的方法有两个:

1.协议安全

a)邮件发送协议 smtp 【tcp 25端口】

b)邮件接受协议 pop3 【tcp 110端口 离线方式】 imap4【tcp 143端口】

协议都是明文的,接收邮件阶段抓包可以抓到账号和信息,发送阶段只能抓到信息。

2.身份验证

协议安全也就是进行协议加密:

1. 邮件发送协议smtp+ssl ---》smpts 465端口

邮件接收协议 pop3+ssl pop3s 加密 Imap4+ssl imaps 993端口。

2. starttls 25端口

STARTTLS[1]是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。

虽然能被抓包但是抓到的数据包是密文 的。

实验:

实验内容:smtp+ssl 实现smtps

1. 安装sendmail服务

2. 配置DNS服务器,模拟163.com的mail服务器

3. 修改hostname为mail.163.com

4. 修改/etc/sysconfig/network中的hostname项

5. 修改/etc/resovel 中的dns服务器指向

6. 打开outlook 创建用户向邮件服务器发送邮件。

安装wireshark,进行抓包

tshark –ni eth0 –R “tcp.porteq 25”在etho 的25端口抓包。

发送时虽然抓不到密码,但是可以抓到账户信息

为了保证安全,结合本地CA服务器实现smtp协议加密

1.创建本地CA中心

首先编辑/etc/pki/tls/openssl.cnf

2. 创建相关的目录和文件:

创建三个目录 certs crl newcerts

创建两个文件 serial index.txt

并给与 serial初始值 “01”

生成CA服务器的私钥文件 [root@mailCA]# openssl genrsa 1024 > private/cakey.pem

由私钥中生成公钥文件 openssl genrsa 1024>sendmail.cert

3. 配置sendmail的发送端口加密

产生自己的私钥文件 openssl genrsa 1024>sendmail.key

更改私钥的文件权限 chmod 600 sendmail.key

产生自己的请求文件 openssl req -new -keysendmail.key -out sendmail.req

请求文件产生证书 openssl ca -insendmail.req -out sendmail.cert

4. 编辑配置文件,指明证书文件路径

[root@mailcerts]# vim /etc/mail/sendmail.mc

60 define(`confCACERT_PATH', `/etc/pki/CA/')

61 define(`confCACERT', `/etc/pki/CA/cacert.pem')

62 define(`confSERVER_CERT', `/etc/mail/certs/sendmail.cert')

63 define(`confSERVER_KEY', `/etc/mail/certs/sendmail.key')

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

创建一封邮件并发送,抓包,发现是被加密的。

接收邮件过程加密

1.接收邮件用到 imap4 pop3 协议,用到 dovecot服务。为dovecot申请证书

openssl genrsa 1024 > dovecot.key //创建dovecot服务的私钥文件

openssl req -new -key dovecot.key -out dovecot.req //创建dovecot的请求文件,用于向CA请求证书

openssl ca -in dovecot.req -out dovecot.cert //请求ca证书

[root@mailcerts]# chmod 600 dovecot.key //更改私钥文件的权限

[root@mailcerts]# vim /etc/dovecot.conf //在dovecot的配置文件中,应用ssl

91 ssl_cert_file = /etc/certs/dovecot.cert

92 ssl_key_file = /etc/certs/dovecot.key

20 protocols = imaps pop3 pop3s

[root@mail~]# tshark -ni eth0 -R "tcp.port eq995" 在加密端口 pop3s上抓包

通过传输层安全给数据加密,保护了邮件的安全性。

转载于:https://blog.51cto.com/6839976/1322388

sendmail邮件加密与身份验证相关推荐

  1. 网络安全技术:加密、身份验证和防火墙

    当涉及到网络安全时,技术一直是保护系统免受攻击和数据泄露的关键.在这篇论文中,我将介绍一些当前在网络安全领域使用的关键技术,包括加密,身份验证和防火墙. 首先,加密是网络安全中最常见的技术之一.加密是 ...

  2. linux 验证邮箱账号,linux邮件服务器的身份验证(sasl)

    sasl SASL全称SimpleAuthenticationandSecurityLayer,是一种用来扩充C/S模式验证能力的机制.在Postfix可以利用SASL来判断用户是否有权使用转发服务, ...

  3. 第13章 管理身份和身份验证

    13.1 控制对资产的访问 资产包括:信息,系统.设备.设施和人员. •信息 组织的信息包括其所有数据. 数据可存储在服务器.计算机和较小设备上的简单文件中,还可存储在服务器场中的大型数据库中. 访问 ...

  4. 身份验证协议和java安全框架

    一.身份验证协议 1.OAuth 关于 OAuth实际上是什么存在很多混淆.有些人认为 OAuth 是一种登录流程(例如,当您使用 Google Login 登录应用程序时),有些人认为 OAuth ...

  5. 利用IPSec实现网络安全之三(身份验证和加密数据)

    作者:许本新 在上两篇中我们一起讨论了关于利用IPsec实现禁用协议和端口的相关知识,其实IPsec真正能够让用户感觉到安全放心的功能并不局限于此,IPsec的功能是相当的强大,今天我们就继续来讨论如 ...

  6. ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载)

    ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) 收藏 转自:http://www.aspxclub.com/l12/c_3689.html 本篇文章介绍了在ASP ...

  7. 组建使用“智能卡”进行身份验证的×××服务器

    组建使用"智能卡"进行身份验证的×××服务器 2009-02-25 17:38:36 标签:证书 智能卡 Server ISA ×××服务器 [推送到技术圈] 版权声明:原创作品, ...

  8. 组建使用“智能卡”进行身份验证的***服务器

    传统的***服务器大多采用"硬件"方式,但这种方式存在如下的缺点: (1)使用的***服务器有容量限制,例如,有的用户初期购买60个并发连接的***设备,当用户的需求超过60个时, ...

  9. HTTPS接口加密和身份认证

    1.为什么要用HTTPS代替HTTP HTTPS和HTTP的区别 1)https协议需要到CA申请证书,一般免费证书很少,需要交费 2)http是超文本传输协议,信息是明文传输,https则是具有安全 ...

最新文章

  1. Datawhale组队学习周报(第003周)
  2. android侧滑布局,Android布局控件DrawerLayout实现完美侧滑效果
  3. 禅道项目管理软件的命令行入口
  4. Java接口多线程并发测试 (一)
  5. 在Python中用turtle函数画同心圆
  6. 如何用笔记本建立wifi热点
  7. 光纤收发器产品的光电介质转换芯片选择性能指标介绍
  8. 回溯法 -数据结构与算法
  9. redis分布式锁小试
  10. Python安装dlib包
  11. 如何在 Serverless K8s 集群中低成本运行 Spark 数据计算?
  12. 【编译原理】语法分析
  13. Java大学生特训营 疫情地图项目实战课
  14. python怎么取共轭_python实现共轭梯度法
  15. 用Java实现平衡二叉树
  16. db2 reorg到底需要多少表空间
  17. 折线迷你图怎么设置_Excel2013如何使用迷你图展示数据?
  18. 非平衡电桥电阻计算_惠斯通电桥不平衡怎么计算等效电阻
  19. 音频开发工具包LEADTOOLS教程:如何在eDiscovery应用程序使用?
  20. 第三章:做一个简易登陆界面

热门文章

  1. javascript原生代码取单选框的值
  2. JavaScript 工具库:Cloudgamer JavaScript Library v0.1 发布
  3. Machine Learning笔记(三) 多变量线性回归
  4. C++语言基础 例程 命名空间要解决的问题
  5. STM32的两只狗儿——狗立看门狗
  6. 升级EXCHANGE2010到2013(C)
  7. SSL-Explorer 安装配置
  8. PHP疗法,人体穴位疗法的秘密-咔咔养生网
  9. 需要重新格式化NameNode
  10. 物联网大数据如何改善农业运营