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

news2024/11/24 4:41:29

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邮件知识百科

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

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

相关文章

3GPP眼中的XR及其技术特点

3GPP R18 支持了XR Services。XR需要高数据速率和低延迟通信,这也真是5G可以大展身手的地方。这篇就从3GPP的角度看下XR是什么以及XR有哪些技术特点。 Extended Reality (XR) 是指由计算机技术和可穿戴设备生成的所有现实与虚拟相结合的环境和人机交互技术。 实际上…

【ELK】window下ELK的安装与部署

ELK的安装与部署 1. 下载2. 配置&启动2.1 elasticsarch2.1.1 生成证书2.1.2 生成秘钥2.1.3 将凭证迁移到指定目录2.1.4 改配置2.1.5 启动2.1.6 访问测试2.1.7 生成kibana账号 2.2 kibana2.2.1 改配置2.2.2 启动2.2.3 访问测试 2.3 logstash2.3.1 改配置2.3.2 启动 2.4 file…

SQL injection UNION attacks SQL注入联合查询攻击

通过使用UNION关键字,拼接新的SQL语句从而获得额外的内容,例如 select a,b FROM table1 UNION select c,d FROM table2,可以一次性查询 2行数据,一行是a,b,一行是c,d。 UNION查询必须满足2个条…

Potree在web端显示大型点云模型文件

一、克隆项目代码(准备好上网工具,得先有node.js npm 环境) git clone https://github.com/potree/potree.git二、依赖安装(换淘宝镜像能快一些) cd potree npm install三、运行 npm start四、使用样例 打开浏览器…

【Linux学习】常用基本指令

🔥个人主页: Forcible Bug Maker 🔥专栏:Linux学习 目录 🌈前言🔥XShell的一些使用查看Linux主机IP使用XShell登录主机XShell下的复制粘贴 🔥Linux下常用基本指令ls指令pwd指令cd指定touch指令…

Java:115-Spring Boot的底层原理(下篇)

这里续写上一章博客(115章博客) SpringBoot视图技术: 支持的视图技术 : 前端模板引擎技术的出现(jsp也是),使前端开发人员无需关注后端业务的具体实现(jsp中,具体的…

Windows 如何把软件从C盘移到其他盘

不知道您有没有发现,当我们下载安装程序时,程序通常会默认自动安装在C盘驱动器中,如果您不手动修改路径的话,C盘驱动器上的可用空间将逐渐减少,并会在不久的将来出现 C盘已满 问题,这可能会导致您的电脑性能…

python实现责任链模式

把多个处理方法串成一个list。下一个list的节点是上一个list的属性。 每个节点都有判断是否能处理当前数据的方法。能处理,则直接处理,不能处理则调用下一个节点(也就是当前节点的属性)来进行处理。 Python 实现责任链模式&#…

【Python】sqlite加密库pysqlcipher3编译安装步骤

目录 说明准备工作openssl编译sqlite tclsetup.py修改quote_argumentopenssl路径 安装加密示例代码测试附录参考 说明 pysqlcipher3是针对Python 3使用的pysqlcipher的一个分支, 尽管仍然维护对Python 2的支持。它仍然处于测试阶段, 尽管这个库包含的最…

电脑没有摄像头怎么用手机当摄像头?虚拟摄像头使用的详细教程来了(全)

随着科技水平以及全球化经济的快速发展,视频会议、在线课程和直播已经成为日常办公或者生活中必不可少的一个环节。然而,在如今仍有许多台式电脑和一些老旧的笔记本电脑并没有内置摄像头,亦或者自带的摄像头质量不够理想,这使得视…

数据结构day5

一、思维导图 二、课后练习 1、使用循环链表完成约瑟夫环问题 2、使用栈,完成进制转换(输入:一个整数,进制数,输出:该数的对应的进制数) //头文件 #ifndef DEC_TO_BIN_H #define DEC_TO_BIN_H…

怎样使用 Juicer tools 的 dump 命令将.hic文件转换为交互矩阵matrix计数文件 (Windows)

创作日志: 万恶的生信…一个scHiC数据集没有提供处理好的计数文件,需要从.hic转换。Github一个个好长的文档看了好久才定位到 juicer tools 的dump命令,使用起来比想象中简单。 一、下载Juicer tools 注意:使用Juicer tools的前提…

Ubuntu 22.04.4 LTS (linux) Tomcat 9 内存和线程优化

1 Apache Tomcat 9.0.91 线程 #在70行左右,增加如下 sudo vim /data/tomcat/conf/server.xmlmaxThreads"800" #客户请求最大线程数minSpareThreads"200" #最小线程数maxSpareThreads"500" #最大线程数acceptCount"800"…

Spark RPC框架详解

文章目录 前言Spark RPC模型概述RpcEndpointRpcEndpointRefRpcEnv 基于Netty的RPC实现NettyRpcEndpointRefNettyRpcEnv消息的发送消息的接收RpcEndpointRef的构造方式直接通过RpcEndpoint构造RpcEndpointRef通过消息发送RpcEndpointRef Endpoint的注册Dispatcher消息的投递消息…

go-kratos 学习笔记(4) 服务注册与发现 nacos注册

接口实现​ Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 type Registrar interface {// 注册实例Register(ctx context.Context, service *ServiceInstance) error// 反注册实例Deregister(ctx context.Context…

Docker安装nacos(详细教程)

Nacos 是一个开源的动态服务发现、配置管理和服务管理平台,广泛用于微服务架构中。在本文章中,博主将详细介绍如何使用 Docker 来安装 Nacos,以便快速启动并运行这个强大的服务管理工具。 前置条件 在开始安装 Nacos 之前,请确保…

算法信息动力学中的优化公式探索

算法信息动力学中的优化公式探索 Hector Zenil,剑桥大学计算机科学家和生物技术学家,算法信息动力学提出者。学者主页:https://hectorzenil.net/ 信息最大化利用与效益优化的核心公式 算法信息动力学研究的核心在于如何通过有效处理和分析数据,结合算法优化,以实现决策过…

Android中systrace配置及注意问题

Android中systrace配置及注意问题 systrace配置的官方文档地址如下:优化启动时间 Systrace systrace 允许在启动期间收集内核和 Android 跟踪记录。systrace 的可视化可以帮助分析启动过程中的具体问题。(不过,如果要查看整个启动过程中的平…

【目标检测】Anaconda+PyTorch配置

前言 本文主要介绍在windows系统上的Anaconda、PyTorch关键步骤安装,为使用yolo所需的环境配置完善。同时也算是记录下我的配置流程,为以后用到的时候能笔记查阅。 Anaconda 软件安装 Anaconda官网:https://www.anaconda.com/ 另外&#…

C++ 数据类型解析

文章目录 1. 概述 2. 变量类型 3. 代码示例 4. typedef 声明 5. 枚举类型 6. 类型转换 静态转换(Static Cast) 动态转换(Dynamic Cast) 常量转换(Const Cast) 重新解释转换(Reinterpr…