我希望我的问题符合本网站的范围。
我正在开发一个CMS。目前,我的登录用户在会话中被锁定到他们的 IP 地址。不幸的是,我的用户群中的一小部分经常在两个或多个 IP 地址之间跳转。他们中的大多数人可能使用负载平衡器。从技术上讲,没有必要将用户会话锁定到一个 IP 地址。我没想到客户会为我网站上的单个页面请求在多个 IP 地址之间切换。
我现在想知道,允许我的客户端不断地在 IP 地址之间跳转以获取页面请求的风险是什么(例如,xxx.xxx.xxx.xxx 请求 CSS 文件,yyy.yyy.yyy 请求 JavaScript 文件。 yy)?我通常应该允许还是禁止?
HBr*_*ijn 36
我的一小部分用户群经常在两个或多个 IP 地址之间跳转。
假设您的用户没有积极尝试使用匿名服务来隐藏他们的真实 IP 地址……:
我见过的大多数公司示例都是由大公司和一些 ISP 使用代理服务器集群引起的,每个代理服务器都有不同的外部 IP 地址,用户请求在该集群上获得负载平衡。
您可能会看到双栈用户通过 IPv4 和 IPv6 发出请求,并在两种协议RFC 8305之间切换以进行后续请求。
另一种情况是当我处于 Wi-Fi 接入点的极端范围并且我的设备“随机”在 Wi-Fi 和蜂窝数据之间切换时。
在第一种情况下,您可能会通过仅考虑前三个八位字节来在会话中保持此类 IP 地址的“安全性”,因为通常这样的代理服务器集群都在一个小的子网内,并且具有相邻的 IP 地址。
在第二个和第三个场景中,您将看到完全不同的客户端 IP 地址,甚至来自不相关的提供商。
不要将您的会话绑定到特定的 IP 地址,这更有可能破坏用户体验,而不是提供实际改进的安全性。
小智 9
我现在想知道,允许我的客户端不断地在 IP 地址之间跳转以获取页面请求的风险是什么(例如,xxx.xxx.xxx.xxx 请求 CSS 文件,yyy.yyy.yyy 请求 JavaScript 文件。 yy)?我通常应该允许还是禁止?
主要风险是恶意用户劫持会话。如果您可以锁定一个或一小组 IP 地址,您就可以阻止来自完全不同 IP 地址的用户劫持会话。
问题是一些用户合法地这样做。无论他们是使用负载平衡代理还是处于两个无线接入点(或其他)的边缘,他们都使用多个 IP 地址。所以你几乎必须允许这些用户使用它。并且很难判断哪些用户需要多个 IP 地址,除非他们从多个 IP 地址请求。
减少这种影响的一种方法是使用 HTTPS。然后恶意行为者必须有办法破坏安全层以及会话 cookie。通过不安全的连接,恶意行为者可以使用网络检查来破坏会话 cookie。但是通过 HTTPS,同一个恶意行为者需要访问对话的一端。如果恶意行为者拥有它,那么就没有必要使用不同的 IP。
TL;DR:您通常应该允许来自同一用户的不同 IP 地址的请求。发生这种情况是有正当理由的。改用 HTTPS 来防止此类攻击。
归档时间: |
|
查看次数: |
4673 次 |
最近记录: |