我有一个 Tomcat 6.0.35 服务,其中包含受摘要式身份验证保护的基于 SOAP 的 Web 应用程序。自从我们升级到 6.0.35 以来,我们发现各种用户不断收到 401 响应的问题。此外,我们在 Catalina 日志中收到以下条目:
WARNING: A valid entry has been removed from client nonce cache to make room for
new entries. A replay attack is now possible. To prevent the possibility of
replay attacks, reduce nonceValidity or increase cnonceCacheSize. Further
warnings of this type will be suppressed for 5 minutes.
知道发生什么事了吗?
答案1
Tomcat 6.0.35 的“Digest Authenticator Valve”支持以下属性:
cnonceCacheSize -> 为了防止重放攻击,DIGEST 身份验证器会跟踪客户端 nonce 和 nonce 计数值。此属性控制该缓存的大小。如果未指定,则使用默认值 1000。
Tomcat 6.0.36(2012 年 10 月 19 日发布)包含以下有关摘要式身份验证的更改(摘自 Tomcat变更日志):
对 DIGEST 身份验证器进行了多项改进,包括52954,默认情况下禁用会话中经过身份验证的用户的缓存,跟踪服务器而不是客户端随机数,并更好地处理陈旧的随机数值。
我建议您尝试 Tomcat 6.0.36,因为它包含与摘要身份验证相关的各种改进。另请查看“摘要身份验证器阀”配置选项。