关于微信小程序网站环境配置TLS和ATS问题

2020年2月3日20:17:57 评论 3869字阅读12分53秒

2017年1月1日开始,苹果要求所有iOS应用必须使用ATS(App Transport Security),即APP内连接必须使用安全的HTTPS并且需要满足ios9中的新特性。
1、证书颁发机构的要求
推荐用Symantec/GeoTrust/Godaddy/GlobalSign/comodo品牌的OV及以上证书,个人用户可签发DV证书。而CFCA品牌只在最新的苹果设备上才支持,不推荐CFCA品牌。不推荐使用免费证书;
2、证书的哈希算法和秘钥长度的要求
证书的哈希算法:在上面推荐的证书品牌中是哈希算法都是SHA256或者更高强度的算法;
秘钥长度: 如果自己创建CSR,请使用2048位或以上的RSA加密算法;
3、传输协议的要求
必须满足 TLS1.2
4、web服务器要求
Apache(2.2.23+) / Nginx(1.0.12+) 依赖 OpenSSL 1.0.1 + 以支持 TLSv1.2.
Tomcat 7 + Jdk 7.0 + 支持 TLSv1.2
IIS6(win2003)不支持,IIS7.5 默认未开启 TLSv1.2 需修改注册表以开启 TLSv1.2。
5、签字算法: 必须满足如下算法
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
苹果ATS特性服务器配置指南
以下举例不同服务器的ATS协议及加密套件如何配置(只列举了与ATS有关的属性,请不要完全复制以下配置
1.Nginx 证书配置
server {    
 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;   
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    }
2.Apache 证书配置
<IfModule mod_ssl.c>
        <VirtualHost *:443>
        SSLProtocol TLSv1 TLSv1.1 TLSv1.2
        SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4        
        </VirtualHost>
</IfModule>
3.Tomcat 证书配置
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
    scheme="https" secure="true"
    ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"    
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"    
    SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"
/>
4.IIS 证书配置
4.1 方法一
Windows 2008及更早的版本不支持TLS1_2协议 所以无法调整 2008R2 TLS1_2协议默认是关闭的 需要启用此协议达到ATS要求
以2008 R2为例,导入证书后没有对协议及套件做任何的调整。
证书导入后检测到套件是支持ATS需求的,但协议TLS1_2没有被启用,ATS需要TLS1_2的支持。可使用的ssltools工具(亚洲诚信提供,点击下载  http://www.trustasia.com/down/ssltools.zip)启用TLS1_2协议
勾选三个TLS协议并重启系统即可。
如果检查到PFS不支持,在加密套件中选中带ECDHE和DHE就可以了。

4.2 方法二
开始——运行 输入regedit
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols右键->新建->项->新建TLS 1.1,TLS 1.2
TLS 1.1和TLS 1.2 右键->新建->项->新建Server, Client
在新建的Server和Client中都新建如下的项(DWORD 32位值), 总共4个
DisabledByDefault [Value = 0]
Enabled [Value = 1]

完成后重启系统

加密套件调整
对于前向保密加密套件不支持的话可通过组策略编辑器进行调整。
开始菜单——运行、输入gpedit.msc 进行加密套件调整 在此操作之前需要先开启TLS1_2协议
双击SSL密码套件顺序
把支持的ECDHE加密套件加入SSL密码套件中 以逗号(,)分隔
打开一个空白写字板文档。
复制下图中右侧可用套件的列表并将其粘贴到该文档中。
按正确顺序排列套件;删除不想使用的所有套件。
在每个套件名称的末尾键入一个逗号(最后一个套件名称除外)。确保没有嵌入空格。
删除所有换行符,以便密码套件名称位于单独的一个长行上。
将密码套件行复制到剪贴板,然后将其粘贴到编辑框中。最大长度为 1023 个字符。
可将以下套件加入密码套件中
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
附:
推荐套件组合:
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P521
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P521
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384

附:关于window服务器禁用默认的ssl2.0和ssl3.0只启用启用tls1.2保证安全

因为有需要使用ssl但是部署后发现服务器默认使用了ssl2!有两种方式,一种直觉修改注册表,另一种使用iis工具直觉修改。简单粗暴!https说明:SSL/TLS 系列中有五种协议:SSL v2,SSL v3,TLS v1.0,TLS v1.1和TLS v1.2:SSL v2 是不安全的,不能使用。当与 HTTP(POODLE 攻击)一起使用时,SSL v3 是不安全的,当与其他协议一起使用时,SSL v3 是弱的。它也是过时的,不应该被使用。TLS v1.0 也是不应该使用的传统协议,但在实践中通常仍然是必需的。其主要弱点(BEAST)在现代浏览器中得到缓解,但其他问题仍然存在。TLS v1.1 和 v1.2 都没有已知的安全问题,只有 v1.2 提供了现代的加密算法。TLS v1.2 应该是您的主要协议,因为它是唯一提供现代认证加密(也称为 AEAD)的版本。如果您今天不支持 TLS v1.2,则缺乏安全性。

继续阅读
  • 文本由 发表于 2020年2月3日20:17:57
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
iOS APP上架被拒重新提交审核 网站建设

iOS APP上架被拒重新提交审核

iOS APP上架被拒重新提交审核 iOS APP审核比较严格,难免会出现被拒绝的情况,需要根据苹果反馈的问题修改后重新打包上传审核! 1、登录itunesconnect、https://itunes...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: