邮件安全治理

embedded/2024/9/22 15:04:13/

邮件安全治理

1.入站安全防护

1、邮箱账号暴力破解

邮箱暴力破解,除了常见的通过POP3、SMTP、IMAP协议进行频繁认证请求外,还有一些是通过访问邮件系统登录页面进行的,比如渗透测试人员非常喜欢的OWA或者EWS接口

大企业员工较多,对外的邮箱基本按名字拼音+域名组合,而邮箱往往又与域账号有关,很多企业的域账号又与员工编号有关。总之,对于别有用心的攻击者来说,利用SMTP、POP3、IMAP等协议或请求 Web登录页面进行猜解,其成功率还是很高的。很多企业邮箱和AD做了集成,如果出现了大量暴力破解可能会触发AD的账号锁定机制,但这样也在一定程度上影响了企业的正常办公。

针对SMTP、POP3、IMAP等协议的暴力破解,邮件网关一般都具备相应的应对功能,比如黑白名单、连接限制、目录攻击防护,而针对Web登录页面的防护,主流的方法是使用双因素认证,有条件的企业可以考虑不将登录页面暴露在互联网上。

2、邮箱账号密码泄露

有些员工喜欢在外面一些网站上使用公司邮箱注册账号,可能还在多处使用同一个密码,比如我们所熟知的CSDN论坛。一旦这些网站安全措施不到位,也可能间接导致邮箱账号密码泄露。

针对此类问题,建议的做法是常态化的弱口令扫描,同时注意结合外部泄露发生时的主动提醒。邮箱账号密码弱口令扫描工具,网上有很多现成的工具。搞渗透的同学喜欢收集网上各种社工库,当有某库泄露出来的时候,建议看看有没有与自己企业相关的邮箱,如果有,尽量通知一下,将相关程序做成标准模板,下次泄露发生时还可以直接使用。

3、垃圾邮件

1️⃣ SPF

一种以IP地址认证电子邮件发件人身份的技术。当你定义了你域名的SPF记录之后,接收邮件方会首先检查域名的SPF记录,来确定连接过来的IP地址是否包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回或丢弃处理

2️⃣ DKIM

一种防范电子邮件欺诈的验证技术,通过消息加密认证的方式对邮件发送域名进行验证。在发送邮件时,发送方会利用本域私钥加密生成DKIM签名,并将DKIM签名及其相关信息插入邮件头,而邮件接收方接收邮件时,通过DNS查询获得公钥,并验证邮件DKIM签名的有效性,从而确保在邮件发送的过程中,邮件不会被恶意篡改,保证邮件内容的完整性。签名是先对 body部分进行HASH,然后把这个HASH值放在邮件头里面,再对头部做签名。头部也不是所有字段都签名的,只有一些常用的字段,或者比较有意义的字段会被签名

3️⃣ DMARC

一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议,在邮件收发双方建立了邮件反馈机制,便于邮件发送方和邮件接收方共同对域名的管理进行完善和监督。DMARC要求域名所有者在DNS记录中设置SPF记录和DKIM记录,并明确声明对验证失败邮件的处理策略。邮件接收方接收邮件时,首先通过DNS获取DMARC记录,再对邮件来源进行SPF验证和DKIM验证,对验证失败的邮件根据DMARC记录进行处理,并将处理结果反馈给发送方

对比以上技术方案,SPF只需做DNS记录上的调整;DKIM除了DNS设置外还涉及邮件网关上的密钥生成及配置;DMARC则在SPF和DKIM基础上多了一个反馈共享机制,需要配套的邮箱来接收这些信息

4、钓鱼邮件

除了垃圾邮件外,邮件网关往往还会收到大量的钓鱼邮件,一般是在邮件中嵌入URL链接、img图片、iframe框架甚至XSS代码等。针对此类问题,首先需要关注的是,邮件网关的钓鱼邮件防护能力;其次是邮件系统在向用户展示邮件时对恶意代码的过滤能力;最后是终端及网络上的防护控制

5、恶意附件攻击

针对可执行文件(exe,dll,scr,cpl),除了依靠邮件网关防护外,建议有条件的企业接入沙箱:一种是将邮件流量丢给沙箱设备;另一种是直接将邮件网关和沙箱集成。这样的好处是,当发现邮件网关防护失效后,还可以依靠沙箱进行发现,并且可以不断通过查漏补缺的方式提升现有邮件网关的安全防护能力。

针对压缩包进行检测的场景,要注意例如7-zip有四种压缩方式,而现版本的邮件网关可能只支持其中一种压缩方式,其他三种都无法正常检测。这算是一个坑。对压缩包的检测邮箱入站检测、后端沙箱、出站检测都会涉及,不支持就意味着有被突破的风险。还有一些产品,默认有一些参数,比如针对大的Office、PDF可能不会进行检查,也需要引起关注

除了可执行文件,邮件网关还会接触到各种各样的脚本文件,比如JS、JSE、VBS、VBE文件。如果终端机器不需要执行各种脚本,可以直接在环境变更里做修改进行适当的屏蔽。

还有一种情况是办公文档安全,例如word样本包含恶意的宏,执行后会从黑客控制的网站下载一个恶意payload执行。除了宏文档外,还有一些不需要依赖宏的,比如利用Office或PDF漏洞的


2.出站安全防护

1、DLP进行拦截或检测

有敏感数据保护要求的企业会针对邮件外发启用DLP进行拦截或检测,有些企业做得更加严格,外发邮件权限还需要审批,默认不能外发邮件。

邮件外发检测,一种是基于流量的旁路检测,即将邮件流量镜像到DLP设备,DLP根据相应的策略对邮件流量进行分析,此方案最大的好处是不改变网络结构,但遇到SMTP启用TLS加密就不行了。还有一种是将邮件路由到MTA,在MTA上进行检测,然后再发出去

在实际运营过程中,需要关注的是敏感邮件外发的检测策略是否都能生效?是否有自动化的验证以保障有效性?敏感邮件拦截后的处理流程是走审批还是外发加密处理?DLP事件处置如何跟进,怎么闭环?这些问题都需要细细考虑,由于各企业内部组织结构、管理方式都不一样,也没有一个统一的标准

2、TLS通道加密

SMTP在网络上是明文传输的。主流的方案是启用TLS对通道进行加密

3、禁止自动转发

为防止敏感信息泄露,我们需要禁止自动转发功能,并对其重点监控

怎么确认禁止自动转发生效了?除了测试之外,还建议在网络上对SMTP流量进行检查,看数据包里是否包含X-Auto-Forward特征字样,如果有就表示还存在漏网之鱼。

4、禁用ActiveSync协议

移动设备自带邮件客户端基本都要利用ActiveSync协议,建议有条件的企业可以自行开发APP对接邮件系统,这样就可以直接禁用ActiveSync协议了

5、自己发给自己或存草稿

禁止了自动转发和ActiveSync协议,对邮件外发做了DLP检测与拦截,但还不够。因为聪明的员工会利用自己发给自己、存草稿等功能,在公司将文档发到邮件系统,在家通过邮件系统下载,绕过DLP审查。

针对此类问题,建议的方案是:

  • 对邮件附件进行大小限制,防止大批量泄密
  • 对自己发给自己然后在公司外部下载的行为进行重点监控,必要时将文件提取分析

http://www.ppmy.cn/embedded/115093.html

相关文章

c++249多态

#include<iostream> using namespace std; class Parent { public:Parent(int a){this->a a;cout << " Parent" << a << endl;} public:virtual void print()//在子类里面可写可不写 {cout << "Parent" <<a<&l…

Java面试篇基础部分-ReentrantLock详解

ReentrantLock 是继承了Lock接口,并且实现了再接口中定义的方法,属于一个可重入的独占锁。ReentrantLock 通过自定义队列同步器(Abstract Queued Synchroinzed,AQS)来实现锁的获取与释放。   那么什么是独占锁呢?独占锁就是指这个锁在同一时刻只能被一个线程所获取到,…

大数据新视界 --大数据大厂之探索ES:大数据时代的高效搜索引擎实战攻略

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

vscode搭建ros开发环境问题记录(更新...)

文章目录 vscode 不能自动补全方法一&#xff1a;方法二&#xff1a; 开发环境&#xff1a; vmware 15.7 ubuntu 20.04 ros noetic vscode 不能自动补全 方法一&#xff1a; 这里将头文件已经正确包含到c_cpp_properties.json中代码中仍然不能自动补全&#xff0c; 将C_CPP插…

mysql学习教程,从入门到精通,SQL DISTINCT 子句 (16)

1、SQL DISTINCT 子句 SQL 的 DISTINCT 子句是一个强大的工具&#xff0c;用于在查询结果中消除重复的行&#xff0c;只保留唯一的数据记录。当处理数据库中的数据时&#xff0c;经常会遇到同一列或多列中存在重复值的情况。DISTINCT 子句可以帮助我们专注于唯一的值&#xff…

oracle 多表查询

3.6多表查询 当查询的数据并不是来源一个表时&#xff0c;需要使用多表连接操作完成查询。多表连接查询通过表之间的关联字段&#xff0c;一次查询出多个表的数据。 3.6.1等值连接 等值连接也称为简单连接(Simple Joins)或者内连接(Inner Join)。通过等号来判断连接条件中的数据…

【数据结构】排序算法---计数排序

文章目录 1. 定义2. 算法步骤3. 动图演示4. 性质5. 算法分析6. 代码实现C语言PythonJavaGo 结语 1. 定义 计数排序又称为鸽巢原理&#xff0c;是对哈希直接定址法的变形应用。计数排序不是基于比较的排序算法&#xff0c;其核心在于将输入的数据值转化为键存储在额外开辟的数组…

TryHackMe 第3天 | Pre Security (二)

该学习路径讲解了网络安全入门的必备技术知识&#xff0c;比如计算机网络、网络协议、Linux命令、Windows设置等内容。上一篇中简短介绍了计算机网络相关的知识&#xff0c;本篇博客将记录 网络协议 部分。 How the web works? DNS in detail DNS (Domain name system&…