前几天寻小山这个网站全站启用了https,本以为万事大吉了但是使用过程中遇到两个问题,一个是手机移动4G访问出现无法打开网站,其他网络正常;另外一个就是用iPhone自带的Safari浏览器访问提示“您的连接不是私密连接”,无法正常访问。
第一个4G网络不能正常访问的原因是开启了https,而移动节点不支持443,所以不能cname记录到二级域名而只要将域名直接做a记录解析到 ip即可恢复正常。第二个Safari浏览器访问异常的原因2017年1月1日开始,苹果要求所有iOS应用必须使用ATS(App Transport Security),即APP内连接必须使用安全的HTTPS并且需要满足ios9中的新特性。
所以作为https部署之后,可以利用类似myssl这样的网站检测一下PCI DSS和ATS是否合规,只有同时通过了PCI DSS和Apple ATS测试,启用的HTTPS才是安全合格的。
一般情况下利用HTTPS检测网站检测到都结果都是PCI DSS不合规,但是寻小山博客检测的时候发现PCI DSS和Apple ATS都不合规,这里就讲讲PCI DSS和Apple ATS不合规的原因和解决方法:
一、PCI DSS不合规
(1)原因:这是由于PCI安全标准委员会规定2018年6月30日之后,开启TLS1.0将导致PCI DSS不合规。
(2)解决方法:禁用TLS1.0就可以了,本文就以寻小山的nginx服务器为例,具体操作步骤如下:
①打开nginx服务器配置文件中SSL.conf文件
②找到ssl_protocols TLSv1 TLSv1.1 TLSv1.2;改为ssl_protocols TLSv1.1 TLSv1.2;
③重启服务器,搞定!
二、ATS不合规
(1)原因:正常情况下一般不会出现ATS不合规,而寻小山的服务器就出现了这个问题。经过检测发现原因是openssl版本支持不到tsl1.2导致检测不通过。
(2)解决方法:
①先是yum install openssl* -y升级了一下openssl,openssl版本过低不支持TSL1.2
②然后用了wdcp的一个升级脚本升级了nginx
wget http://wdcp.vestavps.com/upgrade/nginx_up.sh
sh nginx_up.sh 1.10.0
③在站点的nginx配置中添加或者修改成如下即可
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
④重启服务器,搞定
以上就是如何解决HTTPS检测PCI DSS和ATS不合规问题的具体操作方法,如果你也遇到相关的问题,不清楚的可以给我留言,看到都会回复,欢迎交流!
这种文章一定要顶,费心