sendmail邮件加密与身份验证
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服务器的私钥文件 [root@mailCA]# openssl genrsa 1024 > private/cakey.pem
由私钥中生成公钥文件 openssl genrsa 1024>sendmail.cert
产生自己的私钥文件 openssl genrsa 1024>sendmail.key
更改私钥的文件权限 chmod 600 sendmail.key
产生自己的请求文件 openssl req -new -keysendmail.key -out sendmail.req
请求文件产生证书 openssl ca -insendmail.req -out sendmail.cert
[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邮件加密与身份验证相关推荐
- 网络安全技术:加密、身份验证和防火墙
当涉及到网络安全时,技术一直是保护系统免受攻击和数据泄露的关键.在这篇论文中,我将介绍一些当前在网络安全领域使用的关键技术,包括加密,身份验证和防火墙. 首先,加密是网络安全中最常见的技术之一.加密是 ...
- linux 验证邮箱账号,linux邮件服务器的身份验证(sasl)
sasl SASL全称SimpleAuthenticationandSecurityLayer,是一种用来扩充C/S模式验证能力的机制.在Postfix可以利用SASL来判断用户是否有权使用转发服务, ...
- 第13章 管理身份和身份验证
13.1 控制对资产的访问 资产包括:信息,系统.设备.设施和人员. •信息 组织的信息包括其所有数据. 数据可存储在服务器.计算机和较小设备上的简单文件中,还可存储在服务器场中的大型数据库中. 访问 ...
- 身份验证协议和java安全框架
一.身份验证协议 1.OAuth 关于 OAuth实际上是什么存在很多混淆.有些人认为 OAuth 是一种登录流程(例如,当您使用 Google Login 登录应用程序时),有些人认为 OAuth ...
- 利用IPSec实现网络安全之三(身份验证和加密数据)
作者:许本新 在上两篇中我们一起讨论了关于利用IPsec实现禁用协议和端口的相关知识,其实IPsec真正能够让用户感觉到安全放心的功能并不局限于此,IPsec的功能是相当的强大,今天我们就继续来讨论如 ...
- ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) (转载)
ASP.Net 2.0窗体身份验证机制详解(FormsAuthentication) 收藏 转自:http://www.aspxclub.com/l12/c_3689.html 本篇文章介绍了在ASP ...
- 组建使用“智能卡”进行身份验证的×××服务器
组建使用"智能卡"进行身份验证的×××服务器 2009-02-25 17:38:36 标签:证书 智能卡 Server ISA ×××服务器 [推送到技术圈] 版权声明:原创作品, ...
- 组建使用“智能卡”进行身份验证的***服务器
传统的***服务器大多采用"硬件"方式,但这种方式存在如下的缺点: (1)使用的***服务器有容量限制,例如,有的用户初期购买60个并发连接的***设备,当用户的需求超过60个时, ...
- HTTPS接口加密和身份认证
1.为什么要用HTTPS代替HTTP HTTPS和HTTP的区别 1)https协议需要到CA申请证书,一般免费证书很少,需要交费 2)http是超文本传输协议,信息是明文传输,https则是具有安全 ...
最新文章
- Datawhale组队学习周报(第003周)
- android侧滑布局,Android布局控件DrawerLayout实现完美侧滑效果
- 禅道项目管理软件的命令行入口
- Java接口多线程并发测试 (一)
- 在Python中用turtle函数画同心圆
- 如何用笔记本建立wifi热点
- 光纤收发器产品的光电介质转换芯片选择性能指标介绍
- 回溯法 -数据结构与算法
- redis分布式锁小试
- Python安装dlib包
- 如何在 Serverless K8s 集群中低成本运行 Spark 数据计算?
- 【编译原理】语法分析
- Java大学生特训营 疫情地图项目实战课
- python怎么取共轭_python实现共轭梯度法
- 用Java实现平衡二叉树
- db2 reorg到底需要多少表空间
- 折线迷你图怎么设置_Excel2013如何使用迷你图展示数据?
- 非平衡电桥电阻计算_惠斯通电桥不平衡怎么计算等效电阻
- 音频开发工具包LEADTOOLS教程:如何在eDiscovery应用程序使用?
- 第三章:做一个简易登陆界面