一封电子邮件的旅程:从编写到获取的全过程
2024-1-5 09:9:48 Author: 格格巫和蓝精灵(查看原文) 阅读量:5 收藏


电子邮件在商业和个人生活中扮演着至关重要的角色。它不仅为我们提供一种便捷的通讯工具,更是在业务往来、项目管理、团队协作和个人数据管理中发挥了重要作用。通过电子邮件,人们可以快速、准确地传递信息。在商业中可以使用电子邮件与客户、供应商和合作伙伴保持联系,达成交易,开展业务合作。对于个人而言,电子邮件是重要的文件传输工具,可用于发送简历、合同及其他重要文件。另外,许多个人和企业使用电子邮件作为密码重置和安全验证的手段,以确保账户安全。总之,电子邮件已成为现代生活中不可或缺的一部分,无论是商业活动还是个人用途,它都发挥着重要的作用。然而,当我们发送一封邮件时,整个邮件服务系统是怎么运作起来的呢?一封邮件是怎么到达我们邮箱的?让我们一起揭开这个神秘的面纱。

上图就是一封邮件从创建到接受的完整过程示意图,从上图不难看出,我们可以把电子邮件投递拆分成5个阶段:

1、通过MUA编写电子邮件

2、将编写好的电子邮件发送到本域MTA服务器

3、本域MTA服务器将邮件发送到目的地址域的MTA服务器

4、目的地址域的MTA服务器把邮件转储到邮件MDA服务器

5、通过MUA从MRA服务器下载此封电子邮件

我们可以先了解一些概念,方便分析整个电子邮件的投递过程,不敢兴趣的读者可以跳过此段:

一、通过MUA编写电子邮件

 

和我们邮寄信件一样,第一步当然是写信了。编写一封邮件就需要编辑工具,foxmail、gmail、outlook或者登录后的网页等,都可以用来编辑邮件,这些工具都是MUA(邮件用户代理)。在这里可以输入发件人地址、收件人地址、主题以及编写正文内容、添加附件等。编辑完成后,点击发送,MUA就帮我们发送了此封邮件。正如现实中邮寄信件一样,一封完整的信件不仅需要信件内容,还需要一个信封,邮递员通过信封知道这封信件从何处来及发往何处。而电子邮件的信封就是MUA自动提取收发件人相关内容添加上去的,电子邮件信封就用于在网络投递转发,找到最终目的地址。

安全小case

问:在这个过程中哪些内容可以伪造?哪些是伪造不了的?

答:所有信件内容都是可以伪造的,包括邮件头里的各个字段,例如:收发件人账号及称呼、邮件时间等等。只有信封里的收件人邮箱地址不可伪造,因为邮件服务系统要根据信封收件人地址对邮件进行投递,最终投递到目的信箱。小编不禁感概:我去!如果我收到一封电子邮件,那么只有我收到了这封电子邮件这件事是真的,其他的内容全部都可以是假的!

二、将编写好的电子邮件发送到本域MTA服务器

 

第二步就是电子邮件投递了,和我们邮寄信件一样,将信件投递到自己所在管辖区的邮局,而电子邮件则是投递到自己所在域的MTA服务器,由MTA服务器代理转发邮件,这里用到的协议是SMTP/SMTPS协议。当然MTA服务器收到邮件之前会判断账号是否已登录,是否有投递邮件权限等验证,正如邮局验证我们是否已经贴好邮票一样。这中间还可以加邮件网关,过滤MUA投递过来的邮件,判断是否包含病毒,是否为垃圾邮件,格式是否正确,内容是否合规等等。

安全小case
问:如果所有的邮箱账号的密码都没有泄露,是不是就不会被伪造发送邮件了?
答:正常发送邮件是先将邮件发送给本域MTA服务器,然后再转发出去的,在这个过程有账号认证所以必须拿到账号才能伪造信件内容发送邮件。但是不怀好意的黑客往往绕过这一步,直接伪装成发件人的MTA服务器进行第三步过程(接下来会介绍);又或者发件域的MTA服务器植入木马被控了,黑客直接用来发送邮件;又或者发件域MTA服务器信任(免认证)的一个服务器(例如,邮件中继代理)被控了;还有一种情况,由于MTA服务器本身配置不当,开启了中继代理被黑客利用等等。这四种方式都不需要获取邮箱账号的密码便可以伪造发件人发送邮件。
三、本域MTA服务器将邮件发送到目的地址域的MTA服务器

 

这个过程是MTA去做的,稍微有点复杂。一封邮件可以有多个收件人(此段的收件人都是指的信封收件人),这些收件人可以是同一个域的,也可以是不同域的,同时也包括发往本域的。发往本域的,MTA直接投递到MDA处理,可以参看第四步,此处不在赘述。那么发送其他域的,MTA就需要一一处理。

首先MTA会根据收件人的域名去DNS(域名系统)查询MX记录和对应的A记录,获取收件人MTA服务器的IP地址;然后就是TCP通讯SSL加密等等一顿萌如虎的操作了。MX记录里登记的收件人MTA服务器可以是MTA中继代理,也可以是邮件网关等前置设备;前置设备收到信件后,再向下一跳转发,不管中间经过几个转发过程,最终还是投递到真正的收件人MTA邮件服务。这中间投递使用的协议,基本都是SMTP/SMTPS协议。所以可以看到,一旦点击发送后,一封邮件就会在这些MTA设备之间跳来跳去,最终跳到收件人的MTA邮件服务器。这中间你用几秒检测,我用十几秒验证,他用几十秒排队,再加上网络延迟,服务繁忙等等,所以邮件总是有一些延时才能到达目的地。

安全小case

问:上边的问题说了,发件人的MTA服务器是可以伪装的,那么有什么办法识别吗?

答:有方法,spf验证、dkim验证、mx反查等方法都可以对发件人的MTA服务器进行验证,但是这些方法也都有一些局限性,这里不再具体描述,小编单独开一篇文章聊聊发件MTA服务器验证的问题,读者也可以先自行查找一些相关资料。

四、目的地址域的MTA服务器把邮件转储到邮件MDA服务器

 

这个过程比较好理解,邮件已经投递到收件人MTA邮件服务器了,接下来就是对号入座了,是谁的邮件就投递到谁的邮箱中。MTA服务器把邮件投递给MDA服务器,MDA对邮件归档管理,这里可能会涉及一些压缩、加密、分类、排序等归档相关的技术,以节约存储空间,保护收件人隐私,方便收件人查找和阅读等。不过这里可以使用SMTP协议也可以使用LMTP协议。

安全小case
问:到这里是不是邮件就安全了?
答:不是的,试想一下,如果MDA服务器被控或者存在漏洞被利用,那么就可以随便往域内的账号里填充邮件了。
五、通过MUA从MRA服务器下载此封电子邮件

 

这一步就是我们接收邮件的过程,同样也用到MUA邮件用户代理。这里就需要使用MUA登录MRA服务器,用来查询、检索、遍历及下载邮件。至此邮件就呈现在收件人面前。

安全小case
问:看上边介绍的邮件这么不靠谱,是不是这里也会不安全?
答:是的,举几个例子。IMAP协议有个APPEND命令,可以直接向邮箱里发送一封邮件,是的,这封邮件就是这么凭空产生了,不需要前边的四个步骤;MRA可以配置收件代理服务,如果收件代理服务器不安全,那么MRA服务器中的邮件就可能会泄露;既然这里需要账号登录,那么就可以作为暴力破解的一个点;IMAP和POP3都是非加密通讯的,如果是明文或者BASE64转码通讯,那么截获了流量就等于拿到了邮箱账号及其密码。

好啦,这就是一封电子邮件整个旅程。总之,电子邮件是属马的,马走日,一封电子邮件总是跳来跳去,最终跳到收件人的邮箱中(其实,整个互联网都是属马的)。在实际部署时,各个过程之间会适当增加一些设备,如邮件网关、负载均衡、代收服务、代发服务等,或者会合并一些设备,如MTA、MDA、MRA和邮件存储合并为一个邮件服务器或者服务器集群等,但邮件的传输过程基本就是以上所述。

睿眼邮件安全网关系统

睿眼邮件安全网关系统是一款国标增强级的完全自研国产化的邮件安全网关系统,是集成了反垃圾邮件、反病毒邮件、智能灵活的邮件过滤、智能邮件外发投递、邮件审计、邮件高级威胁检测/防御等功能于一体的新一代邮件安全网关产品。

系统提供了必要的入站和出站邮件安全,包括针对最新的邮件威胁(如勒索软件、鱼叉式网络钓鱼、病毒邮件和企业电子邮件泄密)的强大保护,它能够捕获超过99%的垃圾邮件,误报率低于百分之一。同时,通过实时自动反垃圾邮件和反恶意软件的更新,有效地应对新的邮件威胁。邮件网关系统为用户提供强大的邮件安全保护功能,确保用户的邮件服务器安全、稳定运行。

END

往期推荐
ZORELWORLD

文章来源: http://mp.weixin.qq.com/s?__biz=MzI5NDg0ODkwMQ==&mid=2247485733&idx=1&sn=db87bc235a436685f3b3f5301f2f7aad&chksm=ed20013b1ef9efb785f8b57c7456de3d8933c8b8a05ad46a32c6e96757c88808f62e29430760&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh