ロードバランサーに接続しようとすると、クライアント SSL/TLS ネゴシエーションエラーが発生するのはなぜですか?

最終更新日: 2020 年 1 月 31 日

ロードバランサーに接続しようとすると、Secure Sockets Layer (SSL)/Transport Layer Security (TLS) ネゴシエーションエラーが発生します。このエラーが表示されるのはなぜですか?

簡単な説明

クライアント TLS ネゴシエーションエラーは、クライアントが開始した TLS 接続がロードバランサーとのセッションを確立できなかったことを示します。TLS ネゴシエーションエラーは、クライアントがロードバランサーのセキュリティポリシーをサポートしていないプロトコルまたは暗号を使用して、ロードバランサーに接続しようとすると発生します。TLS 接続を確立するには、クライアントが以下をサポートしていることを確認してください。

  • 複数の一致する暗号
  • セキュリティポリシーで指定されたプロトコル

解決方法

ロードバランサーのセキュリティポリシーを特定する

AWS マネジメントコンソールから:

1.    Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。

2.    ナビゲーションペインの [LOAD BALANCING] 下で、[Load Balancers] を選択します。

3.    ロードバランサーを選択し、[Listeners] をクリックします。

4.    セキュリティポリシーを表示します。
       Application Load Balancers と Network Load Balancers の場合、 Security policy 列でセキュリティポリシーを見つけます。
       Classic Load Balancers の場合、[Change] を Cipher 列でクリックし、セキュリティポリシーを表示します。

AWS コマンドラインインターフェイス (AWS CLI) から:

  • Application Load Balancer と Network Load Balancer の場合、describe-listeners コマンドを実行します。
  • Classic Load Balancer の場合、describe-load-balancers コマンドを実行します。

ロードバランサーのセキュリティポリシーがサポートしているプロトコルと暗号を確定する

Classic Load Balancer はカスタムセキュリティポリシーをサポートしています。ただし、Application Load Balancer と Network Load Balancer は現時点で、カスタムセキュリティポリシーをサポートしていません。デフォルトのセキュリティポリシーを含むセキュリティポリシーの詳細については、以下をご参照ください。

(オプション) ロードバランサーのセキュリティポリシーをテストする

どのプロトコルと暗号をロードバランサーのセキュリティポリシーがサポートしているかをテストするには、sslscan などのオープンソースのコマンドラインツールを使用します。

sslscan コマンドは、任意の Amazon EC2 Linux インスタンス またはローカルシステムからインストールして実行できます。テストするロードバランサーが、送信元 IP アドレスからの TLS 接続を承諾することを確認してください。Amazon Linux EC2 インスタンスで sslscan を使用するには:

1.    Enterprise Linux (EPEL) リポジトリ用追加パッケージを有効にします。

2.    sudo yum install sslscan コマンドを実行します。

3.    次のコマンドを実行して、サポートされている暗号についてロードバランサーをスキャンします。example.com はご自身のドメイン名に置き換えてください。

[ec2-user@ ~]$ sslscan --show-ciphers example.com

必要に応じて、ロードバランサーのセキュリティポリシーを更新する

ロードバランサーのセキュリティポリシーを更新して、サポートされているプロトコルまたは暗号を使用し、期待されるレベルのセキュリティを実現する必要がある場合は、以下を実行してください。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合