Apache で SSLv3 を無効にする方法は?

Apache で SSLv3 を無効にする方法は?

誰もが話題にしているPOODLEの脆弱性今日では、次の設定ディレクティブを使用して 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 でも同じ問題が発生しました。これを読んだ後、 の「SSLProtocol」セクションを編集しました/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がではない!SSLv3 が含まれています。その文脈では、TLS1.0 および TLS1.1 も参照されます。

たとえば、設定がSSLプロトコルすべてSSLCipherSuite が !SSLv3 で構成されていることにより、TLS1.2 のみが使用可能になります。

関連情報