从大门进入——保护你的网络边界
虽然钓鱼等社会工程攻击是获取目标环境立足点的有效手段,但针对外部可被利用服务的直接攻击仍持续成为头条新闻。在本博客中,我们将讨论如何更好地保护外部暴露的网络资源。如果你有一段时间没有审查过外部足迹,本文是帮助你检查当前配置并获取加强外部基础设施安全思路的好材料。
近期一些最大的数据泄露事件都源于暴露的应用程序存在可被远程利用的漏洞。许多人可能熟悉 Log4Shell、ProxyShell 和 MOVEit 等漏洞。尽管这些漏洞最初是零日漏洞,但在厂商发布补丁后,利用行为仍持续发生。我们该如何保护自己?让我们看看可以提出哪些问题来帮助确保外部基础设施尽可能安全。
哪些服务可访问?为什么可访问?
了解你所拥有的资源是保护它的第一步。对于网络而言,这意味着要问:哪些服务可以从互联网访问?以及为什么它们可访问?保持开放的端口和使用中的软件的最新清单,确保定期审查这些数据以保持准确和最新。在我过去担任事件响应人员的经历中,因被遗忘的旧防火墙规则导致泄露的情况并不少见。有些情况下,当防火墙端口不再有合法的业务需求时,这些规则仍允许对手获取对内部资源的远程访问。有些端口是为测试目的而开放的,范围过于宽泛且从未关闭;其他端口则是出于合法原因开放,但为具有已知可被远程利用漏洞的应用程序提供了访问途径。
彻底盘点外部可访问的服务和使用的软件包,将大大有助于你理解如何更好地保护环境。定期进行外部漏洞扫描和检查所有端口的端口扫描是实现这一目标的有效方法。商业漏洞扫描器、Nmap 和 masscan 等工具非常有用。Shodan.io 等其他资源也可以让你了解网络上开放的端口和协议。这些工具有助于在部署新系统或停用旧系统后验证网络变更。请查看供应商网站的安全公告和所用任何软件包的常规产品更新。确保软件是最新的并正确打补丁,将极大地有助于防止成功入侵。应用补丁后,使用漏洞扫描器或手动测试来验证补丁是否已应用以及漏洞是否已缓解,总是一个好主意。
漏洞利用的后果
既然我们知道了向世界开放了什么以及为什么开放,那么让我们问自己:“如果这些服务被利用会发生什么?”如果一个面向公众的服务被攻破,攻击者下一步可以移动到何处?他们是否能够从单个受感染的主机访问你的整个网络,或者他们会处于一个限制或延迟立即横向移动的网络中?回答这些问题需要一些关于网络架构的知识。例如,你是否配置了 DMZ 来将内部资源与面向公众的 Web 服务器分开?我遇到过许多网络配置了 NAT 规则,允许直接访问内部网络上的服务器。这种配置可能使进一步的利用变得更容易,相比之下,将攻击者限制在 DMZ 中,其横向移动的选择更少或更困难。如果被利用的软件是通过零日漏洞,这一点尤其重要。供应商补丁可能尚未可用,但在外部可访问服务和内部网络之间设置适当的隔离,可能是在补丁可用之前减轻更广泛影响的唯一方法。
员工远程访问也是此过程中需要审查的相关主题,尤其是在远程工作者增多的情况下。检查你的用户如何从外部访问网络资源是一个好主意。在可能的情况下,保持资源只能通过受强密码和多因素身份验证保护的 VPN 访问。如果用户需要从外部访问内部网络服务,通过 VPN 而不是在防火墙上开放端口来促进这种访问是更好的选择。
审计日志是你的朋友
既然你知道了拥有什么以及为什么它可以访问,并且了解了这些服务被利用后的影响,你还会想知道其他人与这些服务交互时发生了什么。解决这个问题的最佳方法是确保审计策略到位,并捕获日志文件进行分析和常规日志保留。这是关键的一步,也是理解泄露全部影响的关键。确保你的日志机制到位并正确配置至关重要。遗憾的是,我曾参与过一些事件响应任务,其中防火墙日志仅写入内存,可用的日志不超过几个小时,远远超过了可疑泄露的时间范围。如果你没有 SIEM,至少应将防火墙日志卸载到 syslog 服务器。客户 Microsoft 365 租户未启用审计日志记录的其他情况也很常见。缺乏日志数据可能使得(在某些情况下甚至不可能)全面回答关于泄露期间事件的关键问题。应始终启用审计日志记录,并捕获和存储生成的日志,以供后续分析和保留。
总结
在本博客中,我们讨论了了解外部网络上可访问的内容及其原因,网络架构的重要性,并阐述了对良好审计和日志记录实践的需求。虽然这不是一个万无一失的过程,并且还有许多其他相关主题需要考虑,但这些是更好地理解你的环境以及如何防御它的良好起点。