![实施双因素身份验证](https://linux22.com/image/701132/%E5%AE%9E%E6%96%BD%E5%8F%8C%E5%9B%A0%E7%B4%A0%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我的公司访问第三方网站,该网站使用简单的用户名 + 密码身份验证方法。该供应商可以将应用程序访问(网站)限制在定义的 IP 范围内。我们正在尝试实施双因素身份验证来保护网站。我们无法访问网站供应商的源代码,因此我们无法在网站上实施 2FA 原生验证。
我正在考虑创建一个带有 2FA 的 AWS EC2 实例,并将第三方供应商网站限制在该 IP 上。
其他选择是创建一个代理服务器(使用 2FA,我不知道是否可行)并将 IP 地址限制为代理。
这是最佳实践吗?还有人有其他想法吗?
答案1
我可以使用供应商支持的 IP 访问限制来限制对(反向)代理的访问,然后在代理上启用双因素身份验证吗?
是的,您可以,但这仍然不能为您提供真正的双因素身份验证。
问题是,尽管人们需要使用代理服务器的双重身份验证,但登录网站时仍会要求他们输入用户名和密码。而且没有什么可以阻止他们使用其他人的用户名和密码而不是自己的用户名和密码来登录。
代理上的用户 A 可以以用户 B 的身份登录第三方网站,而这正是双因素所要防止的!
答案2
是的,这将提供双重身份验证,尽管:
1) 可以伪造 IP 地址,甚至使用 TCP - 使用 VPN(具有自己的 IP 网络地址和相互身份验证的适当 VPN,例如 IPSEC 或 ssh 隧道,而不是你在 Google 中搜索“VPN”时看到的廉价匿名服务)可以解决此问题
2)只有一个代理,您的可用性就会减半。
3)您真的可以控制代理的“固定” IP 地址的固定程度吗(提示:如果是“127.0.0.1”,您就可以控制)
或者你可以巨大的特权访问/身份管理解决方案的金额(然后找出这在实践中到底有多么严格)。