有人要求我在一台 Centos 机器上全局禁用所有 SSL 和 TLS < TLS 1.2。有人建议我可以在 openssl 库中执行此操作。
我对 SSL/TLS、密码套件等相当熟悉,但我不知道如何在 openssl.cnf 中执行此操作。我找到的文档清楚地说明了如何为 Apache 执行此操作,或者如何限制应用程序中可用的协议版本,但这不是我想要的。我没有运行 Web 服务器。
除了修改源来过滤密码套件和协议,然后重建之外,还有其他方法可以做到这一点吗?
答案1
MinProtocol
配置文件对于 OpenSSL 来说比较新,我认为是 1.1.1。
但是,TLS 比这更复杂,这不是一个简单的答案。OpenSSLMinProtocol
仅适用于相对较新的发行版,例如 EL8。应用程序可能以不使用 openssl.cnf 的方式使用 API,可能使用其自己的配置。或者使用不同的 TLS,例如 gnutls 或 NSS。
阅读您使用的软件的文档(可能是源代码)以了解任何与 TLS 相关的配置仍然是一个好主意。Web 服务器历来会暴露更多的协议配置。但它们并不是唯一一种 TLS 更细粒度的软件,而不是“开”和“关”的软件。
然后在数据包捕获期间测试是否可以协商较低的 TLS。有工具可以帮助实现这一点。