用于网页访问的 IP 白名单是否足够安全?

信息安全 网页浏览器 ip
2021-08-14 18:48:45

我的组织使用 Salesforce 和 Marketing Cloud。很少有人可以访问 MC,所以我正在构建 MC 托管的登陆页面,该页面将提取和显示营销统计数据、管道统计数据、关闭率等信息。

为此使用登录页面的目的是,我可以让非技术用户访问一个界面,该界面为他们绘制图形并显示相关报告。(并且让我不必每 x 天提取和 Excel 图表信息)。

显然,我不希望公众访问这些页面或数据。页面本身将被标记为 no-index no follow - 但这并不能完全阻止 URL 潜在地公开。

因此,我的下一个想法是使用查看者的 IP 地址与批准范围列表来决定是否显示数据。这足够安全吗?有哪些陷阱?

通过足够安全,我的意思是我试图防止不知情的公共访问和竞争企业,很可能不会指派任何超级技术人员访问该页面。

如果我可以进一步澄清任何事情,请告诉我。谢谢!

3个回答

首先,确保您的网站具有针对典型XSSCSRF威胁的所有必要保护,其中受害者的浏览器位于您允许访问数据的 IP 地址上,被欺骗将您的数据泄露给第三方-派对。

一般来说,关于基于 IP ACL 的身份验证,只要它只是读取访问权限,您就可以接受。尽管如此,了解在某些情况下并在必要的先决条件下,有动机的攻击者可以使用BGP 劫持在相对较短的时间内冒充您的用户可能很有用。

如果攻击者能够找出允许访问数据的源 IP 地址,则此方法更容易执行;但是,使用与本次演讲中讨论过的方法(视频幻灯片白皮书)类似的方法,可以进一步提高这一要求。(我是上述白皮书的作者,所以如果您愿意,请随时要求进一步澄清)

但是,对于大多数应用程序来说,这只是假设性的,因为攻击者不太可能采用如此复杂的方法,但是,这在很大程度上取决于您的数据对于恶意人员来说有多宝贵。

关于写访问,一般来说,基于 TCP 的服务的 IP 白名单不再被认为是安全的,因为现在可以成功地欺骗 TCP 连接,只要代表攻击者提供足够的带宽和计算能力。但是,目前使用 TLS 足以缓解这种情况。

如果只允许您组织内部的人员访问登录页面,那么在 Intranet 上设置代理并仅允许 Intranet 地址通过该代理访问数据可能是一个好主意。代理如何在 MC 上进行身份验证或多或少取决于您。对于不在办公室的访问,可以设置 VPN,消除几乎所有对公众的暴露(显然除了我之前提到的基于浏览器的攻击)。

根据您拥有的灵活性,您可以考虑将这些选项中的任何一个添加到您的 IP 地址检查中:

  1. 您可以创建一些每隔几天过期的随机令牌,并将它们用作 URL 参数的一部分。这类似于大多数 Web 应用程序对密码重置所做的操作;当他们通过电子邮件向用户发送一个链接时,该链接包含一个带有随机令牌的 URL,该令牌会在几天或几小时内过期。
  2. 您还可以考虑为此应用程序实施 SSO(单点登录)。这将是一项艰巨而复杂的任务。通过实施 SSO,您将不再需要检查 IP 地址。
  3. 另一种选择是您每天向用户发送 PIN 并让用户输入他们的 PIN。PIN 也应该是随机的。这是一种非常薄弱的​​方法,但结合白名单 IP 地址,您至少为您的安全性增加了另一层。

安全性是关于层的。IP 白名单很好,但如果您将 Salesforce 列入白名单,那么拥有 Salesforce 实例的人通过 Salesforce 将请求重定向给您呢?

IP 白名单 + 身份验证要求 现在攻击者需要从 Salesforce 发送请求并尝试窃取或暴力破解凭据

IP 白名单 + 客户端证书身份验证 现在攻击者需要通过 Salesforce 进入并以某种方式窃取客户端证书

SSO 本身仍然允许某人暴力破解帐户以获取 SSO 令牌 - 如果您要实施 SSO 之类的东西,如果您真的想保护它,请包括 MFA。

图层