我正在寻找支持当前(2015年11月)关于SSL的PCI-DSS要求的Web服务器(nginx)configuration:
使用Nexpose进行多次扫描后,我创build了Nginxconfiguration,最终满足了这个非常严格的要求。 我目前的testingconfiguration如下所示:
server { #(..) ssl_certificate asdf.crt; ssl_certificate_key sadf.key; ssl_protocols TLSv1.1 TLSv1.2; #see about TLSv1.1 below ssl_ecdh_curve secp521r1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_dhparam asdf-dh2048.pem; #sorry, no support for Java 6u45 ssl_ciphers #ssh_ciphers of course should be in one line ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-ECDSA-AES128-GCM-SHA256: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-RSA-AES128-GCM-SHA256: DHE-RSA-AES256-GCM-SHA384: DHE-RSA-AES128-GCM-SHA256: AESGCM: !aNULL:!eNULL:!EXPORT:!RC4:!MD5:!PSK; }
不幸:
Nginx使用openssl,所以根据https://www.openssl.org/docs/manmaster/apps/ciphers.html (章节“CIPHER SUITE NAMES”在页面中间)删除CBC,RC4和其他“弱”元素,我没有看到使用TLSv1.0或TLSv1.1协议的任何选项。 我也没有看到使用更多密码的TLSv1.2的可能性。
有没有人有想法,我的configuration中可以改变什么,为了增加与浏览器/库/系统的兼容性,仍然是PCI-DSS兼容?
如果您禁用TLS1.0,并且禁用所有CBC密码,那么增加与浏览器的兼容性并没有多大的作用。
但是,如果TLS1.0被禁用,CBC密码不被视为“弱”。 BEAST攻击所依据的漏洞在TLS1.1及以上版本中不存在。