【问题标题】:Apache won't turn off SSLv2 and SSLv3Apache 不会关闭 SSLv2 和 SSLv3
【发布时间】:2014-12-11 14:06:45
【问题描述】:

我正在尝试在 SUSE 上的 Apache 2.2.22 上关闭 SSLv2 和 SSLv3。

我使用以下命令在我的 /etc/apache2/vhost.d/vhost-ssl.conf 中禁用了 SSLv2 和 SSLv3:

SSLProtocol all -SSLv2 -SSLv3

当我通过 ssllabs.com 检查我的网站时,它仍然说 SSL 的两个版本都可用。

我错过了什么?

问候

【问题讨论】:

  • 你重启httpd服务了吗?您可以使用以下命令重新启动 Apache 服务 sudo service httpd restart
  • 是的,我做到了...我重新启动了整个服务器。我唯一能想到的是,SSLProtocoll 选项在其他地方被覆盖了......但我真的不知道如何查找?
  • OK 看看我在下面提供的答案。

标签: apache sslv3 sslv2


【解决方案1】:

首先,您是否重新启动了 Apache 服务?您可以使用以下命令重新启动 Apache

sudo service httpd restart

如果这不起作用,请使用 grep 之类的工具在 /etc/httpd 目录中的所有文件中搜索“SSLProtocol”。 SSL 协议可以在许多地方设置,也可以从其他地方获取设置。尝试以下 grep 命令查找 SSLProtocol 的所有用法

sudo grep -rin "SSLProtocol" /etc/httpd/*

如果您运行的是 Apache 2.2 或更早版本,则您使用的语法将不起作用,您需要指定您希望支持的每个协议。您需要将其更改为以下内容

您使用的方法适用于新版本的 Apache 和 Openssl。您的系统上可能没有安装这些新版本,请验证当前安装的版本。由于 SSLv2-3 都容易受到一些攻击,所以最好只使用 TLS。所以修改你的 SSLProtocol 文件如下,

SSLProtocol TLSv1 TLSv1.1 TLSv1.2

我在https://unix.stackexchange.com/a/162479找到了这个例子

【讨论】:

  • 我没有 /etc/httpd/ 文件夹。这和我的 /etc/apache2/ 文件夹类似吗?
  • 是的,我正在运行 CentOS,它是一个 Ret Hat 基础发行版。如果您运行的是不同的发行版,目录结构可能会有所不同
  • 这是我的输出:# grep -rin "SSLProtocol" /etc/apache2/* /etc/apache2/default-vhost-ssl.conf:43: SSLProtocol -SSLv2 -SSLv3 +TLSv1 /etc/ apache2/default-vhost-ssl.conf.rpmnew:43: SSLProtocol all -SSLv2 -SSLv3 /etc/apache2/httpd.conf:214:SSLProtocol all -SSLv2 -SSLv3 /etc/apache2/ssl-global.conf:67: SSLProtocol all -SSLV2 -SSLV3 /etc/apache2/vhosts.d/vhost-ssl.conf:42: SSLProtocol all -SSLv2 -SSLv3
  • 您运行的是什么版本的 Apache 以及 Linux 的发行版/版本?
  • 我在 openSuse 12.3 Linux 发行版上运行 Apache 2.2.22
猜你喜欢
  • 2014-07-25
  • 2016-12-15
  • 1970-01-01
  • 2015-09-26
  • 2012-10-14
  • 2017-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多