邮件安全篇:邮件传输加密(SSL/TLS or STATRTTLS)

news2024/9/21 0:47:17

1. 前言

使用过邮件客户端的同学一定见过下面这张图。这是客户端账号配置界面,里面有SSL、STARTTLS选项。刚接触邮件客户端的同学肯定会有这些疑问:什么是SSL?什么是STARTTLS?两者有什么区别?具体该如何选择呢?可以带着这些问题阅读本文,希望可以为你解惑。

2. 什么是SSL/TLS?

SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于在互联网上传输数据时提供安全性的两种协议,它们主要用于保护客户端与服务器之间的通信不被窃听、篡改和伪造。

SSL由Netscape公司在1994年推出,经历了SSL 2.0、3.0几个版本。

TLS则是由IETF接手并标准化,TLS 1.0是基于SSL 3.0发展而来并在1999年发布,随后又有了TLS 1.1、1.2、1.3等多个版本。

3. 什么是STARTTLS?

STARTTLS 是一种网络协议扩展机制,它允许在传统的非加密网络服务(如SMTP、POP3、IMAP)之上增强安全性。通过STARTTLS,客户端和服务器可以在已建立的非加密连接基础上协商升级加密传输(TLS或SSL),而不用要求用户去配置专门的加密端口。

4. SSL/TLS协议使用现状

SSL目前已被视为过时且不安全,最新的浏览器和服务器都已经停止支持SSL协议。

TLS则不断演进以适应新的安全挑战,TLS 1.3相较于之前的版本进一步提升了速度和安全性,属于目前主流使用的版本。

testssl.sh工具检测465端口结果

上图是通过testssl.sh工具检测某邮件系统465端口(SMTP协议加密端口)的结果,从结果可以看出在其服务端已不支持SSLv2、SSLv3协议,仅支持TSL1.2和TLS1.3版本。

注:想了解testssl.sh工具的同学,可以访问 /bin/bash based SSL/TLS tester: testssl.sh

5. 客户端配置TLS/SSL或者STARTTLS?

5.1 SSL/TLS

温馨提示:SSL协议已经被主流邮件系统抛弃。不要被Foxmail客户端的SSL选项所迷惑,勾选SSL时其实客户端会优先采用TLS协议与服务端建立连接。如果某些旧版的邮件客户端不支持TLS新版的协议,则建议升级客户端。

以Outlook和Foxmail配置为例,我们可以看到在配置POP3、IMAP、SMTP等协议时,客户端界面有提供相应选项。如下图所示。

Outlook 2019 SSL/TLS配置界面

Foxmail客户端用户勾选“SSL”选项与在Outlook客户端中用户选择“SSL/TLS”效果相同。此时需要修改对应协议的端口号,Foxmail相对智能一些,可以自动带出对应的端口号。

SSL/TLS加密端口号对应关系如下:

  • SMTP:465
  • POP3:995
  • IMAP:993

采用这种方式,表示客户端与服务端在最初建立的就是加密传输连接。

5.2 STARTTLS

Foxmail客户端勾选“如果服务器支持,就使用STARTTLS加密传输”与Outlook中选择“STARTTLS”效果相同,此时依赖的是邮件服务端协议的支持能力,服务端提供的SMTP/POP3/IMAP协议需要支持STARTTLS指令

客户端配置协议端口号填写非加密端口号即可。非加密普通端口号对应关系如下:

  • SMTP:25
  • POP3:110
  • IMAP:143

注:下面是Coremail系统SMTP协议支持STARTTLS指令的一个示例,是否支持该指令取决于邮件服务端的能力。

EHLO test17.com
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrUDI0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UrvyBxsUCa0xDrUUUUj
250-STARTTLS
250-SMTPUTF8
250 8BITMIME
STARTTLS
220 Ready to start TLS

6. 结束语

邮件客户端可以通过启用SSL/TLS或STARTTLS来实现传输层加密,具体选择哪一种方式取决于邮件服务端、邮件客户端的支持能力。主流的邮件系统和客户端对这两种方式都有很好的支持。

启用传输层加密可以有效防止邮件在数据传输过程中被窃取,但是无法防止中间人攻击。如果想实现邮件内容的端到端加密,建议搭配使用S/MIME。

参考来源:邮件安全篇:邮件传输加密(SSL/TLS or STATRTTLS) | MailABC邮件知识百科

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1936346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

首批通过 | 百度通过中国信通院H5端人脸识别安全能力评估工作

2024年5月,中国信息通信研究院人工智能研究所依托中国人工智能产业发展联盟安全治理委员会(AIIA)、“可信人脸应用守护计划”及多家企业代表共同开展《H5端人脸识别线上身份认证安全能力要求及评估方法》的编制工作,并基于该方法开…

创新驱动的力量:探索Web3在技术发展中的作用

随着科技的不断进步和创新,Web3作为新一代互联网技术范式,正在以其去中心化、安全、透明和可编程的特性,深刻影响着全球技术发展的方向和速度。本文将深入探讨Web3技术的核心概念、关键特征以及其在技术创新中的重要作用,展示其在…

【Android】Fragment的静态动态创建以及两种创建方式的生命周期

参考: 33.3-Fragment的创建-静态创建2_哔哩哔哩_bilibili Fragment的创建_从现有代码创建foutran-CSDN博客 【Android】Fragment的基本用法、Fragment和活动间的通信、Fragment的生命周期、动态加载布局的技巧_android fragment-CSDN博客 文章目录 Fragment的静态创…

贝锐蒲公英远程运维方案:即装即用、无需专线,断网也可远程维护

目前,公路、隧道、桥梁、航道,甚至是施工现场和工业生产环境等,都采用了实时监测方案。 通过部署各类传感器和摄像头等设备,现场视频画面和控制单元(如PLC、工控机等)数据可以实时回传,用于集中…

0711springNews新闻系统管理 实现多级评论

0611springmvc新闻系统管理-CSDN博客 0711springNews新闻系统管理项目包 实现多级评论-CSDN博客 数据库字段 需要添加父节点id,通过该字段实现父评论和子评论的关联关系。 对象属性 实现链表,通过一个父评论可以找到它对应的所有子孙评论。 业务层 实现…

linux集群架构--web服务器--nginx检查模块/算法/rewrite知识补充

web集群-负载均衡 轮询算法 (1)概述 决定负载均衡如何把请求分发给后端节点,这种分发的方式就是轮询算法 (2)轮询算法 面试题:说说常见nginx轮询算法 rr,wrr,ip_hash,lc算法(最小连接数&…

CH03_布局

第3章:布局 本章目标 理解布局的原则理解布局的过程理解布局的容器掌握各类布局容器的运用 理解 WPF 中的布局 WPF 布局原则 ​ WPF 窗口只能包含单个元素。为在WPF 窗口中放置多个元素并创建更贴近实用的用户男面,需要在窗口上放置一个容器&#x…

基于 Three.js 的 3D 模型加载优化

作者:来自 vivo 互联网前端团队- Su Ning 作为一个3D的项目,从用户打开页面到最终模型的渲染需要经过多个流程,加载的时间也会比普通的H5项目要更长一些,从而造成大量的用户流失。为了提升首屏加载的转化率,需要尽可能…

怎么关闭 Windows 安全中心,手动关闭 Windows Defender 教程

Windows 安全中心(也称为 Windows Defender Security Center)是微软 Windows 操作系统内置的安全管理工具,用于监控和控制病毒防护、防火墙、应用和浏览器保护等安全功能。然而,在某些情况下,用户可能需要关闭 Windows…

通义千问AI模型对接飞书机器人-集成飞书机器人(2-2)

接上一篇 通义千问AI模型对接飞书机器人-模型配置(2-1) 1、通过飞书机器人对接ai的在线接口 参考文档:发送 HTTP 请求 1.1 创建飞书应用 创建流程 配置http请求 http请求地址上一篇百炼平台配置的应用地址 1.2 企业自建应用对接AI 添加应用…

小程序-5(vant组件+全局数据共享+分包+tabBar案例)

目录 1.使用npm包 小程序对npm的支持和限制 使用vant组件 使用CSS变量定制主题样式 API的promise化 2.全局数据共享 小程序中的全局数据共享方案 安装MobX相关的包 创建MobX的store实例 将Store中的成员绑定到页面中 在页面上使用Store中的成员 将Store中的成员绑定…

pyqt/pyside QTableWidget失去焦点后,选中的行仍高亮的显示

正常情况下pyqt/pyside的QTableWidget,点击input或者按钮失去焦点后 行的颜色消失了 如何在失去焦点时保持行的选中颜色,增加下面的代码: # 获取当前表格部件的调色板 p tableWidget.palette()# 获取活跃状态下的高亮颜色和高亮文本颜色&a…

防火墙内容安全综合实验

一、实验拓扑 二、实验要求 1,假设内网用户需要通过外网的web服务器和pop3邮件服务器下载文件和邮件,内网的FTP服务器也需要接受外网用户上传的文件。针对该场景进行防病毒的防护。 2,我们需要针对办公区用户进行上网行为管理,要…

仿源码大师主界面UI的iAPP源文件

仿源码大师首页主界面的布局 首页,分类,需求,我的 就只有这几个界面内容而已 资源静态 没有任何动画和功能 纯UI布局 纯UI布局 他的最新版已经不是这个UI布局 放心使用 以学习参考为目的,如有不妥望告知 原创,纯…

国内微短剧系统平台抖音微信付费小程序app开发源代码交付

微短剧作为当下热门的内容,结合抖音平台的广泛用户基础,开发微短剧付费小程序APP具有显著的市场潜力,用户对于短剧内容的需求旺盛,特别是在言情、总裁、赘婿等热门题材方面,接下来给大家普及一下微短剧小程序系统。 顺…

数据结构(5.2_3)——二叉树的存储结构

二叉树的顺序存储 #define MAXLEN 255struct TreeNode {ElemType value;//结点中的数据元素bool isEmpty;//结点是否为空 };void main() {TreeNode t[MaxSize]; } 定义一个长度为MaxSize的数组t,按照从上至下、从左至右的顺序依次存储完全二叉树中的各个结点 几个…

【matlab 投影寻踪】基于PSO算法的最优投影方向优化

一 投影寻踪算法 投影寻踪是处理和分析高维数据的一类统计方法,其基本思想是将高维数据投影到低维(1~3维)子空间上,寻找出反映原高维数据的结构或特征的投影,以达到研究和分析高维数据的目的。1974年&…

Linux下开放指定端口

比如需要开放82端口: #查询是否开通 firewall-cmd --query-port82/tcp#开放端口82 firewall-cmd --zonepublic --add-port82/tcp --permanent#重新加载防火墙 firewall-cmd --reload

云原生系列 - Jenkins

Jenkins Jenkins,原名 Hudson,2011 年改为现在的名字。它是一个开源的实现持续集成的软件工具。 官方网站(英文):https://www.jenkins.io/ 官方网站(中文):https://www.jenkins.io…

2024“钉耙编程”中国大学生算法设计超级联赛(1)

Rank 待补1003树,1005博弈,1012并。 星星 - HDU 7434 - Virtual Judge 这题第一眼云的时候感觉是贪心,后来要上手写代码感觉无从下手,遂反映过来是动态规划。 然后就是一个很简单的dp,外层枚举物品,里面枚举…