Amazon Web Services ブログ

新機能 – Network Load Balancer の TLS 終端

HTTPS プロトコルを使用してウェブサイトにアクセスすると、安全な通信チャネルを作成および維持するために、(正式には SSL/TLS ハンドシェイクとして知られている)興味深い作業が多く発生します。クライアント(ブラウザ)とウェブサーバーは、暗号に関してお互いの同意を得るために交渉し、キーを交換し、そしてセッションキーを設定するために協力します。確立されると、会話の両端にセッションキーを使用して、それ以降のトラフィックをすべて暗号化および復号化します。セッションキーはクライアントとサーバー間の会話固有のものであるため、第三者がトラフィックを復号化したり会話を妨害したりすることはできません。

新しい TLS の終端処理
今日は、Network Load Balancer で終端される TLS (Transport Layer Security) 接続を利用できるようにすることで、安全なウェブアプリケーションを構築するプロセスを簡略化しています(TLS は HTTPSで「S」を提供すると考えることができます)。これにより、バックエンドのサーバーは、トラフィックをすべて暗号化および復号化するコンピューティング集約型の作業から解放されます。また、その他にも多くの機能や利点を備えています。

ソース IP 保持 – NLB で TLS が終端されている場合でも、ソース IP アドレスとポートはバックエンドサーバーに提示されます。これは、同僚の Colm が言うように、「非常識な魔法」に近いです。

管理の簡素化 – 大規模の TLS を使用するということは、サーバー証明書を各バックエンドのサーバーに配布する責任があることを意味します。これにより、(場合によっては大量のプロキシサーバーを含む)余分な管理作業が発生し、また証明書のコピーが複数存在するため、攻撃対象領域が増大します。今日の発表は、複雑さをすべて取り除き、証明書の中央管理を可能にします。AWS Certificate Manager (ACM) を使用している場合、証明書は安全に保管され、定期的に期限切れとローテーションを管理し、何もしなくても自動的に更新されます。

ゼロデイパッチ – TLS プロトコルは複雑で、新たな脅威に対応するために実装が随時更新されます。NLB で接続を終端すると、バックエンドのサーバーが保護され、これらの脅威に対応する NLB を更新できるようになります。セキュリティを重視し、正式に検証された TLS/SSL プロトコルの実装である s2n を利用します。

コンプライアンスの向上 – 組み込みセキュリティポリシーを使用して、アプリケーションに適した暗号スイートとプロトコルバージョンを指定できます。これはお使いの PCI と FedRAMP コンプライアンス作業に役立ちます。また、完璧な TLS スコアを達成できるようにします。

クラシックアップグレード – 現在 TLS 終端に向けて Classic Load Balancer を使用している場合、 Network Load Balancer に切り替えると、負荷の増加に対応して、よりすばやく拡張できます。NLB に静的 IP アドレスを使用したり、求められるソース IP アドレスを記録したりすることもできます。

アクセスログ – Network Load Balancer のアクセスログを有効にして、選択した S3 バケットに送信することができます。ログエントリには、TLS プロトコルのバージョン、暗号スイート、接続時間、ハンドシェイク時間などの詳細情報が含まれています。

TLS 終端の使用
Network Load Balancer を作成すると、数分内に TLS 終端を利用できます! API (CreateLoadBalancer)、CLI (create-load-balancer)、EC2 コンソール、または AWS CloudFormation テンプレートを使用できます。コンソールを使用し、[ロードバランサー] をクリックして開始します。次に、Network Load Balancer のエリアで [作成] をクリックします。

名前 (MyLB2) を入力し、ロードバランサーのプロトコルとして TLS (Secure TCP) を選択します。

次に、アベイラビリティーゾーンを一つ以上選択し、オプションで各 Elastic IP アドレスを選択します。NLB にタグ付けすることもできます。すべて設定したら、次:セキュリティ設定の構成をクリックします。

次のページで、既存の証明書を選択するか、または新しい証明書をアップロードすることができます。私は既に www.jeff-barr.com 用を持っているので、それを選択します。また、セキュリティポリシーを選択します(詳細についてはすぐに説明します)。

現在は、7 つのセキュリティポリシーから選択できます。各ポリシーは、特定の TLS バージョンと暗号の使用を許可します。

describe-load-balancer-policies コマンドを使用して、ポリシーについてさらに学ぶことができます。

証明書とポリシーを選択したら、次:ルーティングの構成をクリックします。NLB とターゲット間で使用される通信プロトコル(TCP または TLS)を選択できます。TLS を選択した場合、通信は暗号化されます。これにより、転送中に完全なエンドツーエンドの暗号化を利用できます。

セットアップ処理の残り部分は通常どおり進行し、Network Load Balancer をすぐに使い始めることができます。

今すぐ利用可能です!
TLS 終端は、米国東部 (バージニア北部)米国東部 (オハイオ)米国西部 (北カリフォルニア)米国西部 (オレゴン)アジアパシフィック (ムンバイ)アジアパシフィック (ソウル)アジアパシフィック (シンガポール)アジアパシフィック (シドニー)アジアパシフィック (東京)カナダ (中部)欧州 (フランクフルト)欧州 (アイルランド)欧州 (ロンドン)欧州 (パリ)南米 (サンパウロ) の各リージョンで本日からご利用いただけます。

Jeff;