安全团队通常会将最大的精力集中在企业的主要生产域上。毕竟,为组织带来最多流量的应用程序会产生收入。那里暴露的数据是攻击者的最大目标。因此,确保生产域的安全是最重要的,但这并不是全部。
如果你不相信,那么是时候像攻击者那样思考一下了。瞄准一个(表面上)价值较低的目标会有什么效果?一个易受攻击的次要目标是否有可能帮助你打入主要目标的内部?
让我们一探究竟。
攻击策略:寻找弱点
在考虑如何进入一座防守严密的堡垒时,任何聪明的攻击者都不会径直走到前门并试图将其推倒。这不是他们唯一的攻击策略。相反,他们会试图找到防御的薄弱点。
网络安全也不例外。在云计算领域尤其如此,因为当今的企业正在利用云的可移植性来实现灵活性和轻松扩展。例如,使用 Linode,只需点击一下按钮,就能启动一个新的应用程序实例。
然而,在享受云计算带来的便利的同时,还需要采取安全的做法。一些工程子团队可能会发现,与其在拥有所有强大安全功能的主应用程序上添加功能,还不如创建一个新的应用程序并将其部署到子域中。当然,这些子团队并不想让他们的组织遭受攻击。但是,通过使用新的应用程序和子域来扩大组织的网络覆盖范围,他们会增加攻击面,使整个环境的安全变得更具挑战性。
还要记住,子域上的非生产应用程序实例可能需要与主应用程序或至少与其数据存储进行通信。这时,攻击者就可以找到从安全性较低的系统进入安全性较高的系统的路径。
防御策略:了解你的周边环境
让我们回到堡垒的比喻。攻击者发现弱点的最佳方法之一就是侦察目标的整个周边环境。因此,如果你像攻击者一样思考,那么找到所有可能的攻击点就是确保系统安全的第一步。
Sublist3r等工具专为安全团队和渗透测试人员设计。它们可帮助您监控周边环境,了解已部署的内容。不过,攻击者也可以利用它们列举出正在使用的所有子域。
不过,建立防御系统的起点是监控进入系统的所有途径。
从他人的错误中学习
最近,我在分析一个网站时遇到了这类情况的一个完美例子。该公司煞费苦心地确保其主网站防御良好,使用 TLS 1.3 进行安全防护,甚至还通过了 PCI-DSS 认证。这是一项艰巨的工作!
但是......他们还在一个甚至没有 SSL/HTTPS 保护的子域上运行内容管理系统。🤦🏻♂️ 该内容管理系统的所有流量--甚至是身份验证--都是在完全透明的情况下运行的。
就连 Google Chrome 浏览器也知道这是个问题,并在 URL 栏上显示了 "不安全 "的警告。由于这是一个登录页面,用户名和密码将以纯文本形式通过网络传输。任何有足够动机的攻击者都可以通过拦截 ISP 或网络层的流量获取这些信息。然后,他们就可以利用这些凭据攻击同一公司的另一个系统。这个子域上的某些凭据在同一公司的其他应用程序中被重复使用的可能性有多大?我认为这种可能性非常高。
或者,攻击者可以访问内容管理系统,并在应用程序中嵌入恶意软件或恶意 JavaScript,从而在员工访问其他系统时暴露客户数据。
为了保护这家公司的主要应用系统,也是它的骄傲和喜悦,我们付出了巨大的努力。前门紧锁,到处都有警卫把守。与此同时,后门却大开着,无人看管。
总结
大多数人并不认为子生产域会带来巨大风险。他们说:"这就是隐蔽的安全"。希望这个简单的例子能让大家更清楚地认识到这是一种糟糕的安全策略。系统或应用程序有多小并不重要。如果你的企业部署了它,那么它就需要成为你的安全重点的一部分。
以下是您今天可以采取的一些实际步骤:
- 扫描您的域名,创建当前正在使用的所有子域的清单。
- 根据每个子域被利用的难易程度和被利用后对业务的影响进行排序。
- 部署安全工具,锁定最容易被利用、对业务影响最大的子域。
- 在有资源和带宽的情况下,逐级往下排序。
可以先一点点地保护您的子域。这肯定比什么都不做要好!不要让完美成为优秀的敌人。重要的是要牢记,您在互联网上部署的任何解决方案都会带来一定程度的风险。只要有风险,就应该注意其安全性。攻击者不需要占领整个公司就能造成重大损失,因此即使是非关键系统也值得认真对待,以确保公司的持续健康发展。
像攻击者一样思考是一个良好的开端。保持对漏洞的警惕,根除任何可能让人立足并潜伏一段时间后再扩大攻击范围的地方,是确保您的企业不会成为下一个网络安全新闻大事件的重要一步。
要了解有关安全的更多信息,请查看 Linode 广泛的安全相关文档和指南库。
注释