web-dev-qa-db-ja.com

Nginxsslv3プードル無効

NginxでSSLv3なしでSSL証明書をセットアップしようとしましたが、SSL Labsによると、サーバーにはSSLv3を無効にする方法があります。

私の設定:

    add_header Strict-Transport-Security max-age=31536000;
    add_header X-Frame-Options DENY;

    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA256:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EDH+aRSA+AESGCM:EDH+aRSA+SHA256:EDH+aRSA:EECDH:!aNULL:!eNULL:!MEDIUM:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:!SEED";
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains';

これは、nginxを最適な設定で構成するための優れたチュートリアルです。

https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html

SSLv3の構成は正しいです。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

投稿にはあなたの暗号のセクションがあります。

ssl_ciphers 'AES256+EECDH:AES256+EDH';
6
René Höhle

https://www.tinfoilsecurity.co ...またはssllabs.comのテストによると、ssl_protocolsを正しく設定しましたが、SSLv3を無効にすることができませんでした。最終的に私は発見しました

https://disablessl3.com/#test これは試してみることに言及しています:

openssl s_client -connect <hostname:443> -ssl3

それをテストするコマンドとして。それを行ったとき、nginxがこの特定の仮想ホストで設定されたものではなく、別の仮想ホストのSSL証明書を最初のハンドシェイクに使用していることを発見しました。 SSLを使用するすべての仮想ホストのssl_protocols行に追加すると、突然機能し始めました。

6
Daniel

素晴らしい私はそれを修正します!これは私の設定です

ssl on;
ssl_ciphers 'AES256+EECDH:AES256+EDH::!EECDH+aRSA+RC4:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:10m;

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 10s;

ssl_prefer_server_ciphers on;

add_header Strict-Transport-Security max-age=63072000;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

私の成績: enter image description here