HTTPS证书部署出现PCI DSS不合规的解决办法

元之本网站建设2019-09-07 11:32:403700

如今越来越多的网站启用了SSL/TLS即HTTPS加密传输协议,有些站长看到浏览器地址栏网址前面出现小绿锁就以为部署完成,其实不然,SSL/TLS的服务也是分评级的,业内比较权威的检测部署SSL/TLS是否符合行业最佳实践有两个标准,分别为支付卡行业安全标准PCI DSS和苹果公司的ATS规范。

所有iOS APP开发人员都知道早在2016年WWDC发布会上苹果就宣布:提交到App Store的应用程序将要被强制采用ATS协议, App必须通过传输加密通道HTTPS连接网络服务,来保证应用程序和Web服务之间的安全性。若日后仍采用明文HTTP传输数据的APP,将不能在Apple Store中被用户下载使用。而PCI DSS全称Payment Card Industry (PCI) Data Security Standard,是由PCI安全标准委员会的创始成员(visa、mastercard、American Express、Discover Financial Services、JCB等)制定,力在使国际上采用一致的数据安全措施,简称PCI DSS。

这两个标准如今成为行业衡量SSL/TLS是否最佳部署的重要标准,换言之只有同时通过了PCI DSS和Apple ATS测试,启用的HTTPS才是安全合格的。

如何检测部署的SSL/TLS是否符合行业最佳实践标准呢?

可以通过一些网站在线检测,比较知名的HTTPS检测网站是 shybcj.com 打开后输入网站域名即可查询结果。

检测通过会显示评级、 PCI DSS和ATS均为合规:

HTTPS证书部署出现PCI DSS不合规的解决办法 HTTPS安全评估 ATS检测 证书链补全工具 HTTP/2 支持检测 SSL/TLS检测 PCI DSS不合规 第1张

如果显示PCI DSS 不合规,说明HTTPS还没有完美部署,如图:

HTTPS证书部署出现PCI DSS不合规的解决办法 HTTPS安全评估 ATS检测 证书链补全工具 HTTP/2 支持检测 SSL/TLS检测 PCI DSS不合规 第2张

这是由于PCI安全标准委员会规定2018年6月30日之后,开启TLS1.0将导致PCI DSS不合规。

解决方案:

如何达到A+

最近发现有很多blog主在他们的blog中推荐我们MySSL,这让我们非常惊喜,在这里首先感谢一下这些blog主对我们MySSL的推广。
但是在看到 给启用 SSL 的站点推荐个 HTTPS 专用工具网站 的评论中,有一些blog主对如何评到A以及A+不是很理解,这里简单的说明一下。
首先要是,这个评分,并不仅仅是针对于证书的部署情况而言的,这是一个多方面综合的评级。其中包括了证书SSL协议加密套件漏洞不安全的外链等等。如果您的网站的评分已经达到A,那么没有被评到A+的最大的可能性就是没有使用HSTS,使用HSTS的方法很简单,只要在添加Strict-Transport-Security这个HTTP头部信息即可。
nginx服务器做说明:

add_header Strict-Transport-Security "max-age=31536000";

但有一点需要注意,Strict-Transport-Security中的max-age的时间不能小于15552000

总结

如果您的服务器需要支持IE6这种古董级别的浏览器,那么就按照百度的做法,如果说对兼容性没有太大的需求,只要主流的浏览器能够访问那么就不要支持3DES系列的加密套件,如果说想要在保证安全性的同时,也要有最好的兼容性,那么就请按照淘宝的配置方式进行配置。
下面给出这三种配置情况:

类似百度

Nginx

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH;ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

类似淘宝Nginx

ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

最好的安全性Nginx

ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256::!MD5;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

但也有可能因为openssl版本的不同会导致相同的配置得到不同的检测结果。如果您的openssl处于较新的版本那么按照最好的安全性进行配置,得到一个A,应该是没有问题的。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:http://www.yuyubebe.cn/2019/09/328/

评论

«   2020年6月   »
1234567
891011121314
15161718192021
22232425262728
2930
宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取
扫描即可关注我们