程序员在 Web 服务的客户端审计之前应该知道什么

信息安全 Web应用程序 tls 审计
2021-08-17 07:33:32

情况:我为访问第三方 Web 服务 (Websphere) 的客户创建了一个 WS 客户端 (.net wcf)。此 WS 使用 HTTPS,我从 WS 供应商处获得了证书。一切正常,我已经将 WS 客户交付给客户,客户已经订购了他们的证书……但突然我收到客户安全审计员的邮件,他问我一些我不明白他为什么有趣的事情。所以我对这样的故事转折充满了措手不及。

如果我能理解安全审计员的目标,我就会明白他真正想要什么。他在问 1) 支持 WS(SSLv2 或 SSLv3)要求的最低协议级别是什么?2) 128 位或 256 位密钥的最小长度是多少?

我听说过 SSL 回滚攻击,但这对于 WS 管理员(第三方)来说应该很有趣,而不是 WS 客户端网络安全审计员(我的客户端)......为什么 WS 客户端的用户可能会对这些事情感兴趣?可能有他应该调整的防火墙设置?

2个回答

从您所说的来看,这似乎是一个常见的审计问题,会从基于合规性的安全方法中提出。

我希望安全审计员正在寻求确定您的新实施是否支持弱 SSL 密码,因此会因此而引发风险。

如果您的客户有PCI/DSS要求,那么审核可能会确认以下内容:

PCI DSS 要求
4.1 使用强大的加密和安全协议(例如 SSL/TLS、IPSEC、SSH 等)在通过开放的公共网络传输期间保护敏感的持卡人数据。

欲了解更多信息,OWASP有很多关于这方面的信息,并建议 -

仅支持强加密密码 TLS 会话中使用的加密强度由服务器和浏览器之间协商的加密密码确定。为了确保只选择强密码,必须修改服务器以禁用弱密码。建议将服务器配置为仅支持强密码并使用足够大的密钥大小。

应确保客户端和服务器端的安全性。因为在中间人攻击的情况下,有人可以推动客户端使用弱密码,例如 SSH 降级攻击: http ://sites.google.com/site/clickdeathsquad/Home/cds-ssh-mitmdowngrade

我对 WCF 了解不多,但似乎在程序中您只能在 ServicePointManager.SecurityProtocol 中指定 SSL 或 TL。

似乎如果应用程序使用 Microsoft Crypto API 限制 SSL/TLS 使用某些密码的唯一方法是对整个系统进行更改,如http://support.microsoft.com/kb/245030中所述

并且 WCF 正在使用 MS Crypto API: http: //msdn.microsoft.com/en-us/library/ms733806.aspx(如果程序未使用自定义证书验证器)