如何在企业环境中保护和审计出站流量?

如何在企业环境中保护和审计出站流量?

接下来是冗长的背景介绍,以引出以下问题:在企业环境中保护出站流量的行业最佳实践是什么(或您会给出什么建议)?

背景

我们有一个非常典型的企业环境:Linux 和 Windows 主机位于防火墙/路由器/代理后面的不可路由 IPv4 地址上。除其他外,这些主机还运行我们公司内部开发的核心服务的应用程序和数据库服务器。数据库服务器已被广泛锁定。它们的地址不会路由出内部网络(即使使用 NAT/PAT)。

另一方面,应用服务器以及构建和准备应用程序的服务器需要与外界建立一定的连接。这些主机需要访问互联网资源的原因有多种:

  • 与公共或私人服务整合,
  • 从开源存储库中提取库,
  • 下载平台更新,
  • 获取临时故障排除的资源,
  • 将统计数据传输至联盟监控系统,
  • 可能还有其他尚未确定的用途。

这些互联网资源通常可以通过主机名或域名来识别,但通常不能仅通过目标 IP 地址来引用它们。资源可能是资源的特定子集,例如域中的应用程序(graph.facebook.com)或主机上的路径(google.com/a/company)。我们希望能够尽可能具体地识别资源,以避免过于宽容。

我们的目标是维护网络安全。具体来说,我们希望:

  • 防止或限制未经授权访问系统的狡猾对手泄露数据,
  • 监控并记录来自网络内部的活动。

我们关注的是源自网络内部并终止于安全环境之外的流量。此外,我们的目标是尽可能严格控制权限,根据主机类别指定源,并根据主机类别所需的资源指定目标。

无论我们最终使用什么,我们都希望将授予访问权限的过程机械化,作为主机配置过程的一部分。另一个要求是应用程序开发应受到最小的影响;解决方案应尽可能看起来像一个简单的 TCP/IP 网络,用于授权通信。

为此,我们提出了几项建议,其中一些我们已经尝试过,还有一些我们可能会评估:

DMZ 防火墙

防火墙位于 DMZ 上,并根据允许的目标主机白名单路由流量(网络层)。它定义了 IP 地址白名单。防火墙会直接丢弃不符合相应规则的流量。

优点

  • 应用程序可以自然地编写,而不需要考虑网络。
  • 支持除 HTTP/HTTPS 之外的传输方式。

限制

  • 低粒度 - IP 名称或地址可以为许多应用程序提供服务,并且几乎总是为该主机上的多条路径提供服务。
  • 有时可以使用 DNS 将主机名解析为 IP 地址列表并机械地更新该列表,但更新不会实时发生。
  • 被拒绝的流量与故障网络没有区别。故障可能非常耗时,需要 15-60 秒(或更长时间)才能解决。
  • 由于可能存在滥用/故障,因此防火墙的机械化是不可取的。

HTTP 代理服务器

代理服务器与防火墙一样,位于 DMZ 中,可连接到内部和外部网络。所有出站流量都必须通过代理服务器,该服务器包含按 URL 或部分 URL 授权的资源白名单。它仅允许与白名单上的指定资源匹配的流量。代理服务器在 HTTP/HTTPS 协议级别运行。

优点

  • 对允许目的地的严格定义。
  • 只需少量主机配置,即可自然地适用于许多应用程序。
  • 通常可以快速识别被拒绝的流量。

限制(部分限制仅适用于我们的 Stingray 设备)

  • 应用程序必须了解代理服务器并将流量引导至该服务器。
  • 一些库需要特殊指导(甚至需要修复错误)才能在此环境中正常工作。通常很难提前知道哪些库会受到影响。
  • 规则无法根据源主机类别轻松区分。
  • 难以机械化。
  • 仅适用于 HTTP/HTTPS。
  • 代理的网络环境可能与主机的网络环境不同,导致难以诊断的情况。例如,应用程序主机可以解析主机名,但代理不能,因此代理返回 404 响应,很难将其与目标资源的 404 响应区分开来。
  • 代理无法检查加密流量,因此不能比防火墙更好地过滤加密流量。

先进的周界安全设备

我们目前正在考虑这样的设备Palo Alto 企业边界。与其他设备一样,该设备也会过滤流量。该设备会对应用程序级传输进行深度检查。它可以检查 HTTP 标头并相应地操纵流量。它甚至可以拦截和解密安全数据包 (SSL)。

优点

  • 这是一种商业支持的、功能丰富的方法。
  • 深度数据包检查提供了大量细节以应用细粒度的权限。
  • 以纯文本进行交流的应用程序不需要知道该设备。

限制

  • 对于我们来说,这是一项新的投资,也是另一个需要学习/配置/管理的设备。
  • 如果启用 SSL 检查,则会破坏信任链。正确配置高安全性的应用程序将出现故障或失败,因此必须考虑专门的环境。
  • 这是个未知数。尚不清楚它是否具有能够实现我们期望的机械化的接口。
  • 新的资本支出。

问题

在企业环境中保护出站流量的行业最佳实践是什么(或者您会给出什么建议)?根据上面给出的详细信息,我们的立场是否过于激进(或过于宽松)?我们即将通过开发工具来机械化我们的流程,投资其中一种解决方案(或另一种),因此任何关于最佳方法的周到建议都将不胜感激。

答案1

不错的帖子。一般来说,很难说什么是激进的,什么是不激进的——你应该决定。这三种方法都很好,但方法、可用性问题、价格等都不同。

我为每年通过 VISA/Mastercard 安全认证 (PCI) 的公司工作,一切都取决于您做什么以及您可能面临哪些风险。没有一家公司没有风险,对您来说风险可能很小/微不足道,但风险总是存在的。也许您有 http 代理就足够了,您不怕那些能够使用 http 隧道或使用基于 http 的远程应用程序等(如 Skype、Teamviewer)的人,您无法控制应用程序控制,没有基于 802.1x 证书的以太网级别身份验证,机器具有双磁盘加密,每次启动都需要特殊的 usb 密钥,尽管这个 usb 密钥是从 20 个 10 英寸厚的钢制保险箱中的一个中获取的,这个保险箱由两个 6 小时前更改的密码打开,由两个人知道,由两名安全专家、两名警卫和四个远程控制摄像头送达,所有这些都在地下 300 米深处。什么对您适用/足够 - 再次,您决定。

如果您的员工是安全专家和坏人,能够使用多种工具并躲避摄像头 - 无法通过监视他们的流量和数据包来控制他们 - 他们仍然可以隐藏并在任何他们想要的地方建立隧道,您也应该考虑其他事情(我想 Palo Alto Enterprise Perimiter 可以做到这一点,如果您非常需要它并且您为此支付了 100 万美元)。

您的所有建议都是可以的——在企业中使用任何建议都没有错。

我建议也看一下 SIEM 警报产品(Solarwinds SIEM、Trustwave SIEM、IBM Q1 Labs Qradar)。也许您想观察情况,而不是将其限制在非常详细的内容中等。

相关内容