IIS 中的客户端证书仅用于从特定 PC 访问 Web 应用

IIS 中的客户端证书仅用于从特定 PC 访问 Web 应用

我们在 IIS 中运行一个 ASP.NET Web 应用程序,大约有 200 个用户,其中一些在我们的 LAN 内,另一些在我们的 LAN 外。每个用户都有一个用户 ID 帐户和一个登录密码。

除了这些凭证之外,我们还希望通过以下要求为访问该 Web 应用程序增加更多安全性:

用户只能从其 PC 访问该 Web 应用。如果用户前往其他地方和/或使用其他 PC,即使其登录凭证正确,那么他/她将无法访问该网络应用程序。

我们被告知,使用客户端证书可以部分满足这一要求。如果客户端证书存储在用户的 PC 中,并且 IIS 配置为接受客户端证书,那么只有拥有客户端证书的 PC 才能连接到 IIS。

但是,是否有可能以某种方式使用存储在用户电脑中的客户端证书来严格控制用户的凭证登录?

因为用户可以转到存储客户端证书的其他 PC 并使用自己的凭据登录来访问 Web 应用。我们希望让用户只能从其指定的 PC 访问 Web 应用,而不是从其他 PC 访问。

答案1

客户端证书的作用之一是:验证试图访问应用程序的安全主体的身份。对于客户端证书,证书通常映射到用户帐户。

如果您想根据帐户的身份验证位置(计算机名称和/或 IP 地址)来控制给定帐户的访问,则该应用程序是进行此访问检查的最佳场所。

如果您想阻止用户导出带有私钥的证书并将其导入到另一台计算机上,您可以在导入证书时将私钥标记为不可导出。这可能会提供一些威慑力,但这只是图形界面的一个限制,如果他们的证书已经存在于其他计算机上,或者正在使用允许证书在另一台计算机上可用的配置文件类型(漫游),那么这不是一个合适的选择。

相关内容