Dun*_*ken 5 iis ssl client-certificates iis-7.5 ssl-client-authentication
我可以选择支持客户证书。这就是为什么我设置Client certificates到AcceptIIS上。这适用于大多数计算机。但是,在某些计算机上,IIS返回500。可以通过设置Client certificates为Ignore(不是我的选择)或通过设置Negotiate Client Certificate为Enabled(可以通过将in netsh http add ...更改DefaultFlags为2来解决)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\SslBindingInfo\0.0.0.0:443\。在IIS管理器中进行更改?)。虽然(启用)此设置听起来很合理,但仅看名字我就不明白为什么在某些机器上需要它,但在其他机器上不需要...
TL; DR
如果需要客户端证书来访问服务器上的任何资源,则可以一直启用。主要原因是某些客户端由于可能的中间人(MITM)攻击而不允许TLS重新协商。
如果您的客户端支持TLS重新协商并且可以接受MITM风险,则可以禁用此功能。
描述
IIS有两种协商TLS的方法:
该Negotiate Client Certificate设置确定使用哪个,第一个(如果启用)和第二个(禁用)。这里是微软博客的更多内容:
- 如果启用此设置,则在协商与Web服务器的初始安全连接时,客户端浏览器将发送客户端证书。
- 如果禁用它,则将基于服务器证书在Web服务器和浏览器之间协商初始安全连接,然后在客户端发送客户端证书时重新协商该连接。
客户支持和错误
问题是某些客户端没有重新协商TLS会话。如果客户端不这样做,则服务器日志中可能会遇到以下错误。设置Negotiate Client Certificate为Enabled可以解决此问题。
The following fatal alert was generated: 20. The internal error state is 960.
TLS重新协商MITM攻击
某些客户端不重新协商TLS连接的原因是与TLS重新协商相关联的中间人(MITM)攻击:
自从发现MITM攻击围绕SSL重新协商以来,很多人的答案一直是放弃重新协商请求。
Negotiate Client Certificate可能需要这样做的客户端可以在TLS重新协商期间防止MITM攻击。
摘要
如果您没有问题要求所有IIS资源都具有客户端证书,则启用此功能可能使您可以与更多客户端进行互操作,并进一步保护流量。
在了解MITM风险的同时,请禁用此功能以支持差异TLS客户端身份验证支持。
| 归档时间: |
|
| 查看次数: |
3203 次 |
| 最近记录: |