如何在 Apache 中停用 SSLv3?

如何在 Apache 中停用 SSLv3?

每個人似乎都在談論貴賓犬漏洞今天。每個人都建議使用以下設定指令在 Apache 中停用 SSLv3:

SSLProtocol All -SSLv2 -SSLv3

而不是預設的

SSLProtocol All -SSLv2

我已經做到了這一點,但在使用各種工具反覆測試後並沒有感到高興(這是一個快速的),我發現 SSLv3 很高興被我的伺服器接受。

是的,我確實重新啟動了 Apache。是的,我對所有配置文件進行了遞歸grep,並且在任何地方都沒有任何覆蓋。不,我沒有使用 Apache 的某些古老版本:

[root@server ~]# apachectl -v
Server version: Apache/2.2.15 (Unix)
Server built:   Jul 23 2014 14:17:29

那麼,什麼給出呢?一個人如何真的在 Apache 中禁用 SSLv3?

答案1

我遇到了同樣的問題...您必須包含SSLProtocol all -SSLv2 -SSLv3在 httpd.conf 中的每個 VirtualHost 節中

VirtualHost 節通常位於 httpd.conf 檔案的末尾。例如:

...
...
<VirtualHost your.website.example.com:443>
    DocumentRoot /var/www/directory
    ServerName your.website.example.com

    ...
    SSLEngine on
    ...
    SSLProtocol all -SSLv2 -SSLv3
    ...
</VirtualHost>

也要檢查 ssl.conf 或 httpd-ssl.conf 或類似的文件,因為它們可能在那裡設置,不一定在 httpd.conf 中設置

答案2

我在 Ubuntu 14.04 上也遇到了同樣的問題。讀完本文後,我編輯了/etc/apache2/mods-available/ssl.conf.

  • 從:SSLProtocol all
  • 到: SSLProtocol all -SSLv2 -SSLv3 -TLSV1

但這沒有用。所以我也編輯了以下部分「SSLCipherSuite」 /etc/apache2/mods-available/ssl.conf

  • 從:SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
  • 到:SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SSLv3:!SSLv2:!TLSv1

現在它對我有用了。

順便說一句,密碼套件不受 POODLE 的影響,僅受協定影響——但大多數瀏覽器都可以使用停用的 SSLv3 密碼套件。

不要將其用於郵件伺服器!或者您(也許)會面臨無法在某些裝置上取得郵件的問題。

答案3

對於 Ubuntu 10.04

要在所有活動虛擬主機上停用 SSLv3,您需要以下選項

/etc/apache2/mods-available/ssl.conf :

SSLProtocol all -SSLv2 -SSLv3

答案4

確保 SSLCipherSuite才不是包含!在這種情況下,它也指 TLS1.0 和 TLS1.1。

例如,如果您的配置是SSL協定全部,由於 SSLCipherSuite 如何使用 !SSLv3 配置,因此僅 TLS1.2 可用。

相關內容