古い暗号スイートを削除する

古い暗号スイートを削除する

私はいくつかのウェブサイトを管理していますが、そのうちの 1 つはセキュリティ評価が低いです (セキュリティ スコアカードより)。管理サーバーがあるので、IT 担当者に助けを求めましたが、この問題をもう少し理解したいと思っています。

問題は、次のような古い TLS1.0 および TLS1.1 暗号スイートが存在することです。

TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_3DES_EDE_CBC_SHA

最初に思ったのは、これらは OpenSSL 構成ファイルにあるはずだということです。しかし、いくつかのチュートリアルを見た後、Apache 構成を参照しているのだと思います。httpd.conf(および仮想ホスト) には明示的に設定された暗号スイートがありません。しかし、含まれているものにはhttpd-ssl.conf何かがあります。

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
 SSLCipherSuite  ECDH+AESGCM:ECDH+CHACHA20:ECDH+AES256:!LOW:!MEDIUM:!3DES:!aNULL:!eNULL:!ADH:!DSS!EXP:!MD5:!PSK:!RC4:!SRP

現在理解できないこと: これは適切な場所でしょうか? おそらくそうではないか、あるいはなぜこれが異なって読み取られるのでしょうか。

ciphersuite.info で、上記の最初のものは IANA 名 (?) で、OpenSSL 名もあると読みました。しかし、ECDH+AESGCMたとえばそれは何でしょうか?

次にどこを見ればよいか、何らかのガイダンスが必要かもしれません。情報をコピー&ペーストするのではなく、このトピックについてもう少し理解したいです。ただし、私はセキュリティ担当者でもメインの IT 担当者でもないので、300 ページの本を読むのは好みません :-/

答え1

これはSSLCipherSuite、使用すべき暗号化アルゴリズムを設定するための適切なディレクティブです。TLS 1.2 では、次の 4 つのアルゴリズムの組み合わせ (暗号スイートと呼ばれる) を設定する必要があります。

  • クライアントとサーバーの間で共有秘密を設定するために使用される鍵交換アルゴリズム。この秘密から、両者は対称暗号化用の鍵を導出できます。
  • 鍵交換のための署名アルゴリズム。
  • 送信するデータを実際に暗号化および復号化するための対称鍵アルゴリズム。
  • メッセージの整合性を保証したり (メッセージ認証コードを通じて)、暗号的に安全な疑似乱数ジェネレーターを構築したりするために使用されるハッシュ アルゴリズム。

各暗号スイートには固有の識別子があるIANAを通じて登録で始まりますTLS_。たとえば、 はTLS_DHE_RSA_WITH_AES_128_GCM_SHA256次の意味を持ちます。

  • 鍵交換アルゴリズムは DHE、つまり一時鍵を使用した Diffie-Hellman 鍵交換です。
  • 署名アルゴリズムは RSA です。
  • 対称暗号化アルゴリズムは、GCM モードの 128 ビット キーを持つ AES です。
  • ハッシュアルゴリズムはSHA-256です。

OpenSSLは具体的なTLS実装のプロバイダとして、IANA暗号スイートを選択することができます。「暗号リスト」と呼ばれるカスタムフォーマットこの形式は、ECDH+AESGCMがアルゴリズムECDH(鍵交換用) とAESGCM(対称暗号化用) の両方を含むすべての暗号スイートを表すなどの複雑な選択ルールをサポートしています。 コマンド で取得する暗号スイートを正確に確認できますopenssl ciphers "ECDH+AESGCM"。私の場合、リストには、たとえば暗号スイートTLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(または OpenSSL では と呼ばれますECDHE-ECDSA-AES128-GCM-SHA256) が含まれています。

文字列ECDH+AESGCM自体はない暗号スイート。これは、OpenSSL 固有の暗号スイートの選択ルールです。

実際には、安全な暗号スイートの具体的なリストを使用します。例えば、Mozillaからの推奨事項OpenSSL の選択ルールでは、実際には意図していなかった暗号スイートが含まれてしまうリスクがあります (ただし、openssl ciphers上記のコマンドを使用して結果をいつでも確認できます)。

関連情報