在 Ubuntu 14.04 上验证 SSL/TLS 的 php.ini 配置和 PHP 代码的安全组合是什么?

在 Ubuntu 14.04 上验证 SSL/TLS 的 php.ini 配置和 PHP 代码的安全组合是什么?

我在 Ubuntu 14.04 上使用 PHP 7.0 ppa:ondrej/php。我正在与 API 交互,并希望确保我的 PHP/CURL 代码与正确的服务器进行安全交互(不存在任何窥探、MITM、篡改等风险)。

我做了一些研究,没有看到关于这个主题的任何完整的建议。

以下是我注意到的有关默认配置的一些事项:

openssl.cafile值为openssl.capath空。

我相信CURLOPT_SSL_VERIFYPEER默认为 TRUE,并且 cURL 提供了默认证书包(14.04 有 cURL 7.35,并且自 7.10 以来也是如此)。

看起来许多“坏” SSL 的例子都是浏览器和整个安全世界认为不安全的东西,但 PHP/CURL 的默认配置接受了。

使用badssl.com我写的脚本我开始测试哪些错误的 SSL 配置会触发错误,我很惊讶其中有多少不会触发错误。

一些可能的解决方案:

  • 跟踪配置选项以使 php/curl 在接受的内容方面更加严格。这可能不完全可行。
  • 在 PHP 中添加更多代码以更仔细地检查证书(感觉不好)
  • 也许 PHP/CURL 不会将所有这些都识别为无效,这是可以接受的

我正在寻找有关这些问题的答案:)

相关内容