我们在现场数据中心托管了一个公共电子商务网站。对于在公司防火墙内访问网站的人,我想显示有关当前页面请求的分析信息。这将包括 sql,因此我们希望尽可能地保护它。从我们公司的防火墙内部访问网站时,用户的 IP 地址始终为 192.168.0.12。
如何可靠/安全地判断访问我们网站的用户是否来自公司防火墙内部?验证 IP 地址是否足够?
我们在现场数据中心托管了一个公共电子商务网站。对于在公司防火墙内访问网站的人,我想显示有关当前页面请求的分析信息。这将包括 sql,因此我们希望尽可能地保护它。从我们公司的防火墙内部访问网站时,用户的 IP 地址始终为 192.168.0.12。
如何可靠/安全地判断访问我们网站的用户是否来自公司防火墙内部?验证 IP 地址是否足够?
如何可靠/安全地判断访问我们网站的用户是否来自公司防火墙内部?验证 IP 地址是否足够?
我认为一个更大的问题是“你能以一种没人可以操纵的方式编写这段代码吗?” 我非常怀疑,但是,有些事情你可以做。
编辑好的,旧答案可能在这里有点安全偏执。将调试代码引入您的实时应用程序是一种安全风险,因为它是您绝对需要经得起审查的另一个级别的身份验证。但是,在某些情况下,这可能是可以接受的。
对于在线商店,我可以说最好的选择是由服务器知道的受信任证书签名的客户端 SSL 证书,可能与 IP 地址限制相结合。保留撤销清单 原因:
我会在混合中添加额外的身份验证——也许是由中间代理或其他东西添加的额外标头。即使是标头也不是很强大,因为它可以被欺骗,但单独的 IP 地址似乎有点弱。
虽然欺骗 TCP 流量(并查看响应)并非易事,但如果可能,您应该寻找另一层来添加。如果您使用的是 Windows,请考虑将 Kerberos/NTLM 添加到组合中(Windows Auth)。
对于站点的经过身份验证的区域,您可以添加应用程序将向其提供调试信息的用户列表,并将其与源 IP 地址一起检查,因此基本上它仅适用于来自内部网络的适当用户。
正如其他答案所指出的那样,仅依赖源 IP 地址可能是一个问题,因为任何有权访问该网络的人在访问该站点时都会获得此信息,其中(取决于该网络上的谁)可能包括不应该看到的人它。
根据配置,IP 地址欺骗的风险可能非常低,但允许整个网络访问潜在敏感信息而不进一步验证它们通常不会被视为强控制。