邮件系统作为有效的内外部工作沟通平台被广泛应用于企业。与此同时,广告邮件、垃圾邮件、钓鱼邮件等问题成为企业邮件安全的头号难题。因此,我们的企业安全人员过去更注重反垃圾邮件,并向数据保密和反钓鱼方向发展。但是,从Email诞生到今天,SMTP协议并没有发生根本性的变化。这对攻击者来说是个好消息。因此,电子邮件成为突破企业边界、发起网络攻击和信息窃取的一个很好的切入点。我们看到,近年来,随着技术水平的提高和利益的趋向,APT攻击和勒索病毒大行其道。从美国大选希拉里邮箱被黑到大家遭遇Locky,Wannercry勒索病毒通过钓鱼邮件广泛传播,不少企业用户上当受骗,文件被加密。这从侧面印证了。本文不仅对企业邮箱安全建设提出了建议,还从企业建设和个人日常邮件使用的角度,提供了个人日常邮件使用的一些小技巧,帮助企业减少邮件面临的烦恼。一、企业建设1、服务器综合安全防护大多数邮件服务器与大多数企业自建系统相同,很多客户的邮件也有对外的WEB终端。因此,在WEB应用系统公开发布后,就出现了针对WEB应用系统的攻击。邮件系统都有可能遇到。例如anymacro邮件系统SQL注入:anymacro是国内流行的企业级邮件系统,其客户主要是教育/政府机构。注入点所在位置:https://mail.xxx.com/down.php?netdisk=1因此,在基础防护部分,建议企业部署NF、IPS、WAF等安全防护设备在邮件系统保护过程中。保护邮件服务器基础环境的安全。2、针对邮件服务器的威胁防护(1)发件人身份伪造防护除了互联网或WEB服务普遍存在的安全问题外,电子邮件也有其自身的安全风险,最常见的是电子邮件发件人身份伪造。邮件发件人身份伪造攻击是指攻击者冒充、伪造或篡改真实用户地址发送邮件,以迷惑被攻击者,达到钓鱼或其他目的。这也是近年来攻击者最常用的利用邮件进行攻击的方式。追根究底,是SMTP协议本身的缺陷^1造成的。在设计和制作STMP协议时,由于历史原因,没有考虑到身份认证等安全问题。使用SMTP发送邮件时,不需要进行发件人身份认证。这可能与您的感受不同。发送电子邮件时,我们都需要登录。事实上,这是由电子邮件服务提供商实现的。SMTP协议不需要。鉴于这一缺陷,邮件发件人往往可以冒充别人的身份来发送邮件。常见的保护方法包括发件人策略框架(SPF)和域名密钥识别邮件(DKIM),如下所述。(2)SPF防邮件伪造SPF(SenderPolicyFramework)是一种利用IP地址来验证电子邮件发件人身份的技术。工作流程如下:企业定义好邮件域名的SPF记录后,邮件收件人在收到你的邮件后,会先查看该域名对应的SPF记录(图中第2步),判断发件人是否是IP地址包含在SPF记录中(图中第3步),从而确定邮件的真实发送源。如果发件人IP在SPF记录中存在,则认为是正确的邮件(图中第5步),否则认为是伪造邮件,退回或丢弃(图中第6步)。SPF可以防止他人伪造你发送邮件,是一种防伪邮件解决方案。设置正确的SPF记录可以提高邮件系统发送域外邮件的成功率,也可以在一定程度上防止他人冒用您的域名发送邮件。设置SPF记录:通过“SPF记录”和“TXT记录”查看SPF。使用TXT记录主要是出于兼容性的考虑:一些老的DNS服务器可能不支持SPF记录,所以只能用TXT记录代替;OpenSPF建议在此过渡期间同时添加SPF记录和TXT记录,因此SPF记录和TXT记录也非常相似。以阿里云的图形化配置为例:记录类型:选择TXT;主机记录:一般是指子域名的前缀(如果需要为子域名mail.dns-example.com添加TXT记录,主机记录输入mail;如果需要为dns-example添加TXT记录.com,输入@)作为主机记录,通常的做法是输入@为dns-example.com添加SPF记录;解析行:默认必填,如果不设置,部分用户将无法解析;记录值:SPF格式的TXT记录最典型的例子是“v=spf1amx~all”,表示只有该域名的A记录和MX记录中的IP地址才有权使用该域名发送电子邮件。同样使用IP来设置,格式如下:v=spf1ip4:192.0.2.128ip4:198.51.100.128ip4:203.0.113.0/24ip6:2001:db8::/32?all如果要让其他域名或者其他公司的邮件系统可以用来代表其他域名、对应的IP或对应公司spf记录中的值来发送邮件。格式如下:v=spf1include:spf-a.mail.qq.cominclude:spf-b.mail.qq。cominclude:spf-c.mail.qq.cominclude:spf-d.mail.qq.cominclude:spf-e.mail.qq.cominclude:spf-f.mail.qq.com-allTTL:缓存时间,取值值越小,修改记录生效越快,默认10分钟。如果您使用的是自建服务器,只需修改相应的配置文件即可。以BIND9为例^2,配置语法如下:qq.com.3600INTXT"v=spf1include:spf-a.mail.qq.cominclude:spf-b.mail.qq.cominclude:spf-c.mail.qq.cominclude:spf-d.mail.qq.cominclude:spf-e.mail.qq.cominclude:spf-f.mail.qq.com-all"/*指spf对应的域名*/spf-a.mail.qq.com.3600INTXT"v=spf1ip4:203.205.251.0/24ip4:103.7.29.0/24ip4:59.36.129.0/24ip4:113.108.23.0/24ip4:113.108.11.0/24ip4:119.147.193.0/24ip4:119.147.194.0/24ip4:59.78.209.0/24-all"/*定义SPF域名对应的IP*/spf-b.mail.qq.com。3600INTXT"v=spf1补充对应的A或AAAA记录"/*定义SPF域名对应的IP*/.../*定义SPF域名对应的IP*/(3)DKIM(DomainKeysIdentifiedMail)防邮件伪造DomainKeysIdentifiedMail(DKIM)是一种防止邮件欺诈的认证技术。它使用一对密钥(私钥和公钥)来验证邮件内容是否被篡改或伪造,主要通过以下步骤。将与您的邮件服务器匹配的公钥添加到您的邮件域名系统(DNS)记录中,通常是通过TXT记录。外发邮件服务器使用私钥为所有外发邮件添加加密标头。收件人电子邮件服务器从DNS记录中获取公钥,并使用此公钥解密邮件标头以验证邮件来源。其工作原理和过程如下:配置DKIM:DKIM的设置比较简单。从它的工作原理来看,它只需要以下三点:为你的域生成一个域名密钥。生成密钥时需要注意两点。比如你使用的DNS的txt记录是256位,DKIM密钥长度应该是1024位。如果没有这样的限制,你可以选择一个2048位的密钥。如果您的注册商支持2048位密钥,我们建议您使用该长度的密钥。如果您从1024位密钥开始,然后切换到2048位密钥,则不会有什么不同。可以使用openssl工具生成一对公钥和私钥,Windows和Linux都可以操作,方法请自行搜索;或者在http://dkimcore.org/tools/在线生成它。将公钥添加到您域的DNS记录中。电子邮件服务器可以使用此密钥来读取邮件DKIM标头。打开DKIM签名以开始向所有外发邮件添加DKIM签名。配置DKIM示例:具体操作步骤因邮件服务商不同而略有不同。下面以Winmail为例进行说明^3:第一步,在“反垃圾邮件设置”/“SMTP设置”下,选择“启用DKIM”(DomainKeysIdentifiedMail)检查。第二步:设置Winmail中的域名使用DKIM数字签名发送邮件,在要设置的域名abc.com属性的DKIM选项卡中点击“生成私钥”和“选择器”,默认为:mail,也可以自己设置。完全复制上面的“TXT记录”,例如:mail._domainkey.abc.comTXTk=rsa;p=MIGfMA0GCSqGSIb3DQEBAQ...Winmail会自动从私钥生成公钥,然后生成TXT记录值,所以输入私钥即可..Step3.在域名服务商的域名解析系统中添加一条TXT记录,例如:记录类型主机记录记录值TXTmail._domainkeyk=rsa;p=MIGfMA0GCSqGSIb3DQEBAQ...添加TXT记录后,会需要一段时间(10分钟-24小时)才能生效,可以使用命令行查询:nslookup-q=txtmail._domainkey.abc.com如果已经生效,会显示:mail._domainkey.abc。comtext="k=rsa\;p=MIGfMA0GCSqGSIb3...No.Step4.如果Winmail中有多个域名,DKIM需要生成不同的key,分别设置,或者有的可以设置,有的不可以。勾选Winmail中的smtp登录,会有DKIMverifyingenabled或者enableDKIMverification第六步发送邮件测试,确认每封邮件的header中都有DKIM数字签名字符串。发送邮件到内部邮箱发给自己也可以在Winmail中查看smtp日志,里面会有DKIMsigningenabled和e启用DKIM签名。在Webmail中查看此邮件,选择“更多”-“邮件源代码”,邮件标题中会出现一段如下文字:DKIM-Signature:v=1;a=rsa-sha256;c=relaxed/relaxed;d=abc.com;s=mail;t=1458090487;h=Date:From:To:Reply-To:Subject:Message-ID:Content-Type:MIME-Version;bh=RBrzM2ccFCYSkSJUKwSj5FQ/IQj6UrOI1/+rZiw0+aI=;b=Esn3j84HzzVC+VbRgf/i7N...SWtPgVyJx91CJKFGbVaFI=发送邮件到外部邮箱,查看Winmail中的smtp日志,会出现DKIMsigningenabled和DKIMsigning字样。如果是发到qq.com,在QQWebmail中打开邮件,选择-“显示邮件原文”,邮件头会出现如下文字:DKIM-Signature:v=1;a=rsa-sha256;c=relaxed/relaxed;d=abc.com;s=mail;t=1458091059;h=Date:From:To:Reply-To:Subject:Message-ID:Content-Type:MIME-Version;bh=JtLpkAGBbI9j6KEs01UI/CKmX5rvvrJ6O9QcCgb5i1I=;b=J5xXBMdm8Q5Y66orv+Skoq...cT/oVvXPMvEbi+mJwoqbM=4。Domain-basedMessageAuthentication,ReportingandConsistency(DMARC)配置SPF和DKIM后,如何让外界知道你域名的邮件提供商如何验证身份?您使用SPF、DKIM还是两者都使用?如果无法100%确认寄件人的身份,收件人可以如何处理邮件?是丢进垃圾桶还是直接拒收?有方法吗?什么样的机制可以让邮件管理员知道此时是否有第三方以其域的身份发送邮件?带着这些问题,让我们来看看DMARC。基于域的消息认证、报告和一致性(DMARC,Domain-basedMessageAuthentication,ReportingandConformance)是一种基于SPF防邮件伪造DKIM(DomainKeysIdentifiedMail)防邮件伪造的邮件认证机制,可以检测和防止假冒、网络钓鱼或垃圾邮件。^4邮件管理员可以通过向域的DNS记录添加DMARC策略来启用基于域的消息身份验证、报告和一致性(DMARC)验证。此策略也采用DNSTXT记录的形式,指定您的域如何处理可疑电子邮件。DMARC策略支持三种处理可疑电子邮件的方式:不对邮件采取任何操作,仅将其记录在每日报告中。将邮件标记为垃圾邮件。Gmail将这些邮件放入收件人的垃圾邮件文件夹中。通知接收邮件的服务器拒收该邮件。这也会导致SMTP将邮件退回给发件人。DMARCTXT记录值:示例DMARC策略:注意:要将报告发送到多个电子邮件地址,请用逗号分隔电子邮件地址。添加TXT记录以启用DMARC在_dmarc处添加DNS记录TXT记录名称:在DNS主机名下方的第一个字段中输入:_dmarc.abc.comTXT记录值:在第二个字段中输入指定您的DMARC策略的值,对于例子:v=DMARC1;p=reject;rua=mailto:postmaster@qq.com,mailto:dmarc@qq.com注意:上面的解析会实现“拒绝所有未通过DMARC检查的邮件。发送每日报告给下面两个地址:postmaster@qq.com和dmarc@qq.com。SMTP将失败的邮件返回给发件人”策略。3、小结对于大多数企业来说,通过以上步骤的加固和优化,可以大大提高企业邮件的安全性,可以有效的防止伪造。即使是伪造的,由于上述配置引用成功,大部分伪造的邮件都可以被退回。或将其视为垃圾邮件,强烈自建邮箱系统的用户可以通过以上配置加强邮件系统。此外,如果您的邮箱配置了SPF或DKIM,大多数公网邮箱也会增加您企业邮箱的信任度,有助于提高邮件发送成功率。4.企业邮件系统配置第一部分主要介绍邮件系统面临的一些技术漏洞和采取的措施。本部分将从邮件系统的配置和使用等方面帮助企业加强邮件系统。这里的配置主要是为了加强邮件日常使用的安全性,降低用户日常使用过程中信息泄露的风险或者密码泄露后尽可能减少损失。(1)发送和接收密码独立设置。攻击者对日常邮件系统的攻击,最主要的是对邮件密码的攻击。通过获取邮箱密码进行信息窃取或以被攻击邮箱为工具进行其他攻击。建议企业在日常邮件设置中独立设置接收密码和发送密码。此时如果接收密码泄露,攻击者就无法利用该邮箱发送邮件、发送钓鱼邮件或投放病毒木马,有效保护邮箱及其他通讯录成员的安全。(2)接收密码采用双因素认证。如前所述,在日常使用电子邮件的过程中,电子邮件登录密码(通常是接收密码)比较容易被攻击者获取。建议企业将发送密码和接收密码分开,对接收密码进行双因素强认证,将密码泄露的风险降到最低。同时,由于SMTP协议的限制,收到密码的攻击者可以利用相关工具进行暴力破解。如果员工使用弱密码,攻击者很容易将其取下。这里多说一下。很多公司认为自己的WEB邮箱有验证码等方法来防止暴力破解。其实这个限制只在WEB层面有效。直接绕过WEB层的验证码。(3)配置防猜测和防攻击上面提到,基于SMTP协议本身的局限性,登录密码很可能被暴力破解。不过,还是建议企业开立账户,采取这样的保护措施。例如,限制每IP每分钟或一段时间内的登录失败次数,限制每个电子邮件帐户每分钟或一段时间内的登录失败次数,限制每个用户每分钟或时间内的SMTP认证次数一段时间等等。(4)关闭非SSL服务和不安全的SSL、TLS版本并关闭R**使用SSL加密可以有效防止中间人攻击,以及邮件和监控篡改。并且为了加密保护的有效性,请关闭不安全的SSL、TLS版本,关闭R**。如果启用了WEB服务,请在WEB服务处禁用相应的不安全的SSL和TLS版本以及R**。(5)限制群发权限分配或限制用户单日最大发送邮件数。攻击者通常会获得一个邮箱的登录权限,但对当前邮箱的内容并不满意。战斗的结果将通过这个邮箱展开。一种常见的做法是通过群发邮件的方式向公司其他员工发送钓鱼邮件,以获得更多的邮箱登录权限。如果是其他反动组织,这个邮箱也会用来群发反动内容。由于互联网邮箱发送邮件数量多、实名制问题等,无限发送邮件的企业邮箱是此类组织宣传反动内容的首选。因此,建议企业在开启同事群发权限时慎重设计。例如,当收件人超过10人时,可以提示减少发件人或分批发送。对于工作中确实需要群发的员工,可以单独设置权限,或者通过创建专门的邮件群来避免群发的使用。同时,企业需要定期清理未使用的群发权限。在我10年的行业经验中,群发功能只用过一次,而且可以扩展。对于很多公司的员工来说,不需要群发权限。另外,建议限制邮箱单日最大发送邮件数,增加攻击成本。(6)定期归档邮件定期归档邮件,可以防止攻击者获取邮件接收密码后收集过多的邮件内容。如果以年为单位归档。即使攻击者获得了接收密码,也只能接收当年的邮件,可以有效控制数据泄露的范围。归档时间越短,破坏的范围就越小。建议使用180天作为存档周期,因为企业中很少有员工不是每六个月收到一次邮件。(7)进阶一:部署沙箱等产品,对邮件附件进行深度检测。通过部署邮件网关,企业可以进行反垃圾邮件、反病毒、反钓鱼等。对于符合条件的企业,将邮件网关投递到企业邮件服务器的流量丢入沙箱进行分析。如果之前的网关没有拦截,沙箱发现问题,可以在邮件网关中加强。安全能力肯定会越来越强。(8)进阶2:连接沙箱智能,实现安全运行无论是之前的沙箱发现病毒,邮件管理员主动处理,还是员工中毒后管理员被动处理,都不再能够以满足现有企业的需求。每日信息安全应急响应需求小时数。目前流行的概念是将沙箱、智能和本地安全设备联动起来,实现实时的邮件安全防护。工作流程如下。对于收到的每一封邮件,自动判断本地和云端智能,处理恶意邮件,并根据用户是否点击或安装,对特定终端进行针对性防护或隔离。从这个场景图中,我们可以看到企业在构建企业安全运营平台方面的价值。对于平台搭建,不一定要高大上、漂亮、酷炫。可以结合企业的实际安全状况,有针对性地解决企业面临的安全问题。问题是一个有用的平台。而且,平台建设不一定要大而全,一个小而美的适合自己场景的平台有时候更有价值。二、个人邮件的使用1、使用客户端接收邮件在个人使用邮件的过程中,尽量使用客户端接收邮件。通过客户端接收邮件后,大部分邮件都保存在本地,为加密存储提供了便利。此外,我们还必须看到,许多企业的电子邮件没有网页界面。从企业安全的角度,可以减少企业的攻击面。2.将电子邮件存储在加密磁盘中。很多时候,邮件内容的泄露是由于本地电脑出现问题,比如电脑被盗或丢失等。攻击者可以通过简单的操作读取硬盘的内容。因此,建议员工将电子邮件及其附件存储在加密磁盘中,以防止未经授权读取硬盘内容。3.不要在服务器上保存邮件内容的副本如果您使用Outlook邮件客户端,请选择不要在服务器上保存副本。因为副本是保存在服务器上的,如果公司没有对邮件进行归档,攻击者拿到接收密码后就可以收到你保存在服务器上的所有邮件。导致邮件内容泄露非常重要。4.验证电子邮件的内容。虽然上面提到了各种防止伪造电子邮件内容的方法,但是仍然没有办法完全防止伪造电子邮件内容。如果收件人不具备核实邮件内容和发件人的技术能力,建议发件人通过其他联系方式联系发件人核实邮件内容,确保邮件内容的真实性,避免被愚弄。在信息对抗日益激烈的今天,学会怀疑和多渠道确认是一种非常有效的反欺诈技术。5、其他如弱口令、各系统通用口令等问题,并非邮件系统独有,而是个人在使用信息系统时必须具备的安全意识,在此不再赘述。6.最重要的一点是,所有的电子邮件伪造都无法通过上述技术来避免。比如A公司的域名www.a.com根本就没有邮件服务器。它在技术上是无效的。因此,通过电话、微信、客服等其他渠道确认可疑邮件内容,进行二次内容验证是非常必要的,也是防范钓鱼邮件最有效的方式。
