有人提问,存在Apache配置Https,不能通过苹果的ATS检测问题,配置(完全正向加密)不能生效。通过查询,网上有较多相同的问题,但是没有很好的解答,最后通过排查
定位问题在Apache2.2版本上,对前向安全支持性不好。
访问存在不能支持PFS的Web应用,查看得到的密码套件信息:
访问可以通过ATS测试的Web应用,查看得到的密码套件信息,主要差别在于对ECDHE的支持:
搜索类似的相关问题,在中文站点找到一些相同情况的问题,但是都没有给出有效的方案,或者给出的方案不能解决问题:
开测试机进行测试,编译安装客户的Apache版本2.2.25,并且配置SSl进行测试。
这里Apache编译安装以及加入SSL模块还是有几个主要注意的点的。
1、需要apt-get install openssl libssl-dev,否则会提示找不到SSL、TLS的ToolKit。
2、出现下图的报错,需要修改Apache代码解决。
部署完成Apache2.2.25,并且开启SSL后,测试访问https。
在没有任何设置的情况下,不支持前向安全:
配置SSLCipherSuite项,指定ECDHE加密套件,仍然是不支持前向安全,这样就复现了提问者的问题:
在Google中使用英文将该问题进行描述,找到几篇相关问题的记录,时间都在2013年,提到Apache2.2.X版本不支持ECDHE和前向安全的问题:
于是进行版本测试比对,测试Apache2.4,直接apt install apache2的结果就是2.4版本的。
开启https后,上传测试证书,进行访问,通过查看是支持PSF(完美前向安全)的(套件携带ECDHE、通过ATS检测):
通过上述的一些测试和资料查找,基本确定该提问者碰到的问题是由于Apache版本问题造成的。
后来有人告诉我,有资料说可以在2.2环境下合规(下面资料中所示):
https://scottlinux.com/2013/06/26/how-to-enable-perfect-forward-secrecy-in-apache-on-linux/
但是根据提示进行配置,似乎不能通过检查,且不能正常访问: