客户端的公共IP地址是否是良好的安全令牌?

问题描述

| 我的网络应用程序有一个秘密的地方,只有某些人可以使用。当用户登录到我的秘密场所时,我会尝试从他们那里收集尽可能多的信息,将其连接起来,进行哈希处理,然后以cookie的形式发送。信息,例如:用户代理,IP地址,用户密码,以及更多信息... 当客户端请求任何内容时,我将重新生成所有这些内容,对其进行哈希处理,然后将其与客户端发送给我的Cookie进行比较。 如果有人窃取了Cookie,则他们可能会有与合法登录的人不同的User-Agent,并且哈希值不会匹配,不会让他进入。 如果某些更老的家伙伪造了所有的HTTP标头,我将看到IP地址不匹配,并且哈希值不匹配..不允许他进入。 问题出在哪里,如果我的合法登录客户失去了互联网连接,并且由于他/她的ISP租用动态IP而与另一个IP地址重新建立连接,该怎么办。我当前的算法将说“啊!这是攻击者!请关闭此会话!”。 这个秘密的地方更好,即使不会被有效的用户打扰,并且由于出于某种原因,过去几周互联网连接是断断续续的,我的用户感到不舒服的事实是,该应用程序要求他们每次IP更改时都必须重新登录。 我应该放弃IP验证吗?     

解决方法

        与简单易懂的安全措施相比,试图通过模糊来强加安全性或通过复杂性来增强安全性往往更容易被利用。 您已正确确定将会话固定到IP可能会损害用户体验。您必须确定这种不便(特别是对于TOR或其他匿名化和移动网络用户而言)是否值得额外的安全性。 请记住,可以拦截您的服务器与客户端之间的通信的攻击者也可能会与客户端的IP地址进行通信。如果他在客户端的LAN中,这是微不足道的,否则仍然很简单。因此,从本质上讲,您是在防御几乎完全没有能力的攻击者,但他们可以拦截相对安全的高带宽网络(本地安装或核心Internet路由器)中的网络流量。 如果安全确实是一个问题-除非您经营的是银行,大型公司或类似军事的组织,否则通常不是这样-最好使用SSL,检查网站中的常见漏洞并保护客户端计算机的安全。     ,        不能。IP地址不是一个好的安全令牌,因为它可以被欺骗。 它可以用作指示尝试模仿的信号,但是正如您所指出的,由于IP不稳定,因此它并不总是一个完美的指示器。随着用户从一个无线网关移动到另一个无线网关,从有线连接移动到无线网络,在隧道连接到Intranet时更改代理设置等,它们往往会发生变化。 它还可能会歧视任何尝试使用Tor或其他安全浏览方案的人。