当前位置: 首页 > news >正文

邮件安全篇:邮件反垃圾系统运作机制简介

1. 什么是邮件反垃圾系统?

邮件反垃圾系统是一种专门设计用于检测、过滤和阻止垃圾邮件的技术解决方案。用于保护用户的邮箱免受未经请求的商业广告、诈骗信息、恶意软件、钓鱼攻击和其他非用户意愿接收的电子邮件的侵扰。

反垃圾系统的常见部署形式

2. 邮件反垃圾系统的存在形式

邮件反垃圾系统存在的形式多样,可能的形式包括如下几种:

  • 邮件系统上附加的反垃圾模块,属于邮件系统功能的一部分。
  • 部署在邮件系统之前的独立软件系统(和邮件系统处于同一机房)。
  • 部署在邮件系统之前的独立硬件设备(和邮件系统处于同一机房)。
  • 一种云服务,无需部署在客户本地机房,在云端提供反垃圾能力。
  • 用户电脑终端中由安全防护软件提供的客户端反垃圾功能,这种形式不在本文讨论范围。

邮件反垃圾云网关常见接入形式

3. 反垃圾系统如何发挥作用?

在探讨这个问题之前,可以先思考一封邮件是如何从站点A投递到站点B的?在之前的文章《SMTP协议简单介绍》中介绍了客户端与服务端通过SMTP协议发信的原理,其实两个站点之间发信也是通过SMTP协议。在SMTP这种通信协议基础上,反垃圾系统针对通信过程中各阶段对邮件进行相关检查。

反垃圾系统检查项示例

两个站点间SMTP协议发信过程大致如下:

  • 建立TCP连接
  • EHLO/HELO
  • MAIL FROM
  • RCPT TO(一个收件人对应一条指令)
  • DATA
  • QUIT
  • 断开连接

正常情况下,一封邮件从发信方服务器传递到收件方服务器需要将上述过程完整走完,任何一个阶段提前中止,都会导致信件发送失败。下面分别从每个阶段介绍反垃圾系统可能发起的检查。

3.1 建立TCP连接

在发信方与收件方邮件系统或者反垃圾系统建立连接时,可能进行的检查包括(也可能和后面HELO/EHLO阶段同时检查):

  • IP黑名单:如果发信IP被列入黑名单,则连接会直接被断开。
  • IP白名单:允许连接,后续将不做任何反垃圾检查。
  • IP连接次数:如果IP超过连接次数上线,则连接会被断开。
  • IP同时连接数:如果IP同时连接的次数超过限制,同样会被断开。

3.2 HELO/EHLO阶段

通过HELO或EHLO告知发信方服务器的主机域名信息,可能进行的检查包括:

  • 域名解析一致性检查:检查发信IP的PTR记录,如果PTR记录和声明的发信服务器不匹配或者不存在PTR记录,反垃圾系统会根据配置采取相应的策略。
  • RFC合规性检查:EHLO命令中的域名应该符合DNS命名规范,且不应该频繁更改。
  • 发信IP信誉检查:对发件服务器IP地址或域名的信誉度初步评估,例如通过RBL或其他信誉数据库快速查询。

3.3 MAIL FROM阶段

该阶段主要告诉收件方服务器发件人信息,可能进行的检查包括:

  • RFC合规性检查:检查发件人地址是否符合RFC 5321等相关SMTP标准的规定,包括地址格式是否正确。
  • SPF检查:使用SPF验证发件人地址所在的域名是否允许连接过来的IP代表其发送邮件。
  • 发件人黑名单检查:检查发件人地址是否存在于黑名单数据库中,黑名单中的地址通常是过往确认的垃圾邮件发送者。
  • 发件人信誉度评估:判断发件人的邮件发送历史记录和信誉度,如果发件人地址或其所在IP地址有不良记录,邮件服务器可能采取限制措施。
  • 发信频率:监控发件人地址发送邮件的速度和频率,如果超出正常范围,可能是垃圾邮件发送者的典型行为。

3.4 RCPT TO阶段

在RCPT TO阶段邮件服务器会针对收件人地址执行一系列反垃圾邮件检查,这些检查可能包括:

  • 收件人有效性验证:检查指定的收件人地址是否真实存在并且活跃。
  • 黑名单检查:检查收件人地址是否在黑名单中,黑名单通常包含已知的废弃、无效或滥用的邮箱地址。
  • 灰名单管理:检查收件人地址是否在灰名单上,灰名单上的地址可能暂时限制接收邮件,用于处理疑似垃圾邮件的临时策略。
  • 频率限制:控制发件人在短时间内向相同或相似收件人群体发送邮件的数量,以防止垃圾邮件的大规模滥发。
  • 发件人与收件人关联性检查:对发件人与收件人间的关系进行基本分析,比如检测是否有历史邮件往来记录,以减少陌生邮件带来的垃圾邮件风险。

3.5 DATA阶段

在SMTP协议的DATA阶段,邮件系统或反垃圾系统会对邮件的实际内容进行全面的反垃圾邮件检查,这是邮件内容过滤最关键的部分。可能进行的检查包括:

  • 关键字过滤:检查邮件正文中是否存在常见的垃圾邮件关键词、短语或模板。以及管理人员自定义的关键字策略。
  • 语法和拼写分析:分析邮件的语法结构和拼写错误,垃圾邮件往往具有独特的语法特点和大量的拼写错误。
  • 贝叶斯过滤:应用贝叶斯算法对邮件内容进行分析,根据先前学习到的垃圾邮件和正常邮件的特征分配一个垃圾邮件概率分数。
  • URL检查:扫描邮件中的链接,分析链接指向的网站是否被列入黑名单,或是否指向钓鱼网站、恶意软件下载等危险内容。
  • 图片内容识别:对邮件中的图片进行OCR识别,因为垃圾邮件发送者有时会将文字信息嵌入图片以避开纯文本过滤。
  • 收件人数量检查:检查邮件是否被大批量发送给不同的收件人,这也是垃圾邮件的一个典型特征。
  • DKIM检查:根据发件人域名发起DKIM检查,检查邮件是否由该域名授权的服务器签署。
  • DMARC检查:确认邮件是否通过了DMARC验证,包括SPF和DKIM验证的结果。
  • 社会工程和诈骗检测:检查邮件中是否存在社会工程攻击的迹象,例如冒充知名机构或个人的欺诈信息。
  • HTML结构分析:分析邮件的HTML编码和标签,垃圾邮件经常使用特殊的HTML结构来隐藏文本或误导邮件过滤器。
  • 附件检查:检查附件类型、附件内容,以防止恶意程序通过邮件传播。
  • 信头内容检查:检查信头长度、信头内特殊关键字,阻止特定类型的发信。

4. 结束语

在邮件系统防护的领域中,不同厂商提供的反垃圾产品因其独特的检查逻辑而呈现出各异的检测效果。因此,挑选一款功能完善、检测性能卓越的邮件反垃圾系统显得尤为关键。这些先进的反垃圾产品可以借助云端检测技术能力,对邮件进行大数据分析,从而显著提升检测的准确性和效率。面对市面上琳琅满目的邮件反垃圾系统厂商,企业在选择时应当全面考虑,包括厂商的综合实力、技术创新能力、实际应用的成功案例以及产品合规性等多个维度。通过综合考量,企业可以更加精准地选择适合自己需求的邮件反垃圾系统,为邮件系统提供更加稳固和有效的保护。

参考来源:邮件安全篇:邮件反垃圾系统运作机制简介 | MailABC邮件知识百科

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 邮件安全篇:企业电子邮件安全涉及哪些方面?
  • 数据结构->线性结构->顺序存储->静态链表
  • Go 1.22 remote error: tls: handshake failure
  • windows10 安装CUDA教程
  • 【学习笔记】无人机系统(UAS)的连接、识别和跟踪(五)-无人机跟踪
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 堆内存申请(100分) - 三语言AC题解(Python/Java/Cpp)
  • 前端页面是如何禁止被查看源码、被下载,被爬取,以及破解方法
  • Apache Bigtop 正式支持 openEuler,共创大数据新生态
  • 智能火灾预警系统:基于深度学习的火焰与烟雾检测平台
  • 力扣355.设计推特
  • 谷粒商城实战笔记-43-前端基础-Vue-使用Vue脚手架进行模块化开发
  • 【人工智能】Transformers之Pipeline(五):深度估计(depth-estimation)
  • 第三篇 Vue项目目录结构介绍
  • (35)远程识别(又称无人机识别)(二)
  • Java后端开发岗位面试经验总结:技术深度与实践能力的考验
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • express + mock 让前后台并行开发
  • Flannel解读
  • JavaScript学习总结——原型
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux各目录及每个目录的详细介绍
  • Python爬虫--- 1.3 BS4库的解析器
  • React+TypeScript入门
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Vue官网教程学习过程中值得记录的一些事情
  • windows下使用nginx调试简介
  • 微服务核心架构梳理
  • 用element的upload组件实现多图片上传和压缩
  • 鱼骨图 - 如何绘制?
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 转载:[译] 内容加速黑科技趣谈
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)STM32单片机上位机
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计高校学生选课系统
  • (转)jdk与jre的区别
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • ./configure,make,make install的作用(转)
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .NET 常见的偏门问题
  • .NET 快速重构概要1
  • .net 中viewstate的原理和使用
  • .NET/C# 使用反射注册事件
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • :“Failed to access IIS metabase”解决方法
  • ?
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @JoinTable会自动删除关联表的数据
  • @RequestMapping 的作用是什么?