似乎保护用户免受 TLS <= 1.0 上的 BEAST 攻击的最简单方法是更喜欢 RC4 甚至完全禁用所有其他 (CBC) 密码套件,例如通过指定类似
SSLCipherSuite RC4-SHA:HIGH:!ADH
在 Apache mod_ssl 配置中。
但是,CBC 的问题似乎已在 TLS >= 1.1 中得到解决;有没有办法为声称支持 TLS 1.1 或 1.2 的客户端(重新)启用这些密码?似乎有一个解决方法:
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
通过指定仅在 TLS >= 1.1 中可用的密码套件来解决问题。这似乎具有阻止 TLS >= 1.1 客户端使用任何“旧”密码套件的副作用。
真的没有办法明确告诉 mod_ssl 对 TLS >= 1.1 使用 CBC 模式密码,而对 SSL/TLS <= 1.0 只有 RC4?这似乎是安全性和兼容性的最佳组合。