有没有办法在 openssl 级别禁用某些密码和协议?

有没有办法在 openssl 级别禁用某些密码和协议?

在应用程序级别,有时没有(简单)的方法来禁用 SSLv2 等。那么在 openssl 级别呢(当然对于使用 openssl 共享库的应用程序)?

答案1

一般来说,可以编译OpenSSL没有SSLv2支持,但你可能必须重新编译大多数(如果不是全部)依赖它的应用程序。我相信 Ubuntu 的人做类似的事情。如果你认为这样做,可能更简单的方法是修补你的应用程序以使用SSLv3或者TLSv1

根据这篇博文你的其他选项是特定于应用程序的配置(如果你的应用程序支持它),或者使用隧道

除此之外,我不知道还有其他任何选项可以禁用特定的 SSL 版本或算法。

答案2

我使用 apache 配置来完成此操作:在我的 VirtualHost 中,此代码仅启用 SSL3 但禁用其他所有内容,例如 TLS 和 SSL2。

   SSLEngine on
   SSLProtocol -all +SSLv3
   SSLCipherSuite SSLv3:+HIGH:+MEDIUM:+LOW:+EXP
   SSLCertificateFile /usr/local/etc/apache22/ssl/my.pem
   SSLCertificateKeyFile /usr/local/etc/apache22/ssl/my.key 

相关内容