最小 TLS バージョンを適用する - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API リファレンスガイドでは、バージョン 3 (V3) のすべての API オペレーション AWS SDK for JavaScript について詳しく説明します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

最小 TLS バージョンを適用する

AWS サービスと通信するときにセキュリティを強化するには、TLS 1.2 以降を使用する AWS SDK for JavaScript ように を設定します。

重要

AWS SDK for JavaScript v3 は、特定の AWS Service エンドポイントでサポートされている最上位の TLS バージョンを自動的にネゴシエートします。オプションで、TLS 1.2 や 1.3 など、アプリケーションに必要な最小 TLS バージョンを適用できますが、一部の AWS サービスエンドポイントでは TLS 1.3 がサポートされていないため、TLS 1.3 を適用すると一部の呼び出しが失敗する場合があることに注意してください。

Transport Layer Security (TLS) は、ネットワークを介して交換されるデータのプライバシーと整合性を確保するために、ウェブブラウザやその他のアプリケーションで使用されるプロトコルです。

Node.js で TLS を検証して適用する

Node.js AWS SDK for JavaScript で を使用する場合、基盤となる Node.js セキュリティレイヤーを使用して TLS バージョンを設定します。

Node.js 12.0.0 以降では、TLS 1.3 をサポートする OpenSSL 1.1.1b の最小バージョンを使用します。v3 AWS SDK for JavaScript のデフォルトは、使用可能な場合は TLS 1.3 を使用しますが、必要に応じて下位バージョンにデフォルト設定されます。

OpenSSL と TLS のバージョンを確認する

コンピュータで Node.js が使用する OpenSSL のバージョンを取得するには、次のコマンドを実行します。

node -p process.versions

リストの OpenSSL のバージョンは、次の例に示すように Node.js で使用されるバージョンです。

openssl: '1.1.1b'

コンピュータで Node.js が使用する TLS のバージョンを取得するには、Node シェルを起動し、次のコマンドを順番に実行します。

> var tls = require("tls"); > var tlsSocket = new tls.TLSSocket(); > tlsSocket.getProtocol();

次の例に示すように、最後のコマンドは TLS バージョンを出力します。

'TLSv1.3'

Node.js はデフォルトでこのバージョンの TLS を使用し、呼び出しが成功しなかった場合は別のバージョンの TLS のネゴシエートを試みます。

最小バージョンの TLS を強制する

Node.js は、呼び出しが失敗すると TLS のバージョンをネゴシエートします。コマンドラインからスクリプトを実行する場合、または TLS コードのリクエストごとに、このネゴシエーション中に許可される最小 JavaScript バージョンを適用できます。

コマンドラインから最小 TLS バージョンを指定するには、Node.js バージョン 11.0.0 以降を使用する必要があります。特定の Node.js バージョンをインストールするには、まず「Node Version Managerのインストールと更新」のステップを使用して、Node Version Manager(nvm)をインストールします。続いて、次のコマンドを実行し、特定バージョンの Node.js をインストールして使用します。

nvm install 11 nvm use 11
Enforce TLS 1.2

TLS 1.2 が最小許容バージョンであるようにするには、次の例に示すように、スクリプトを実行するときに--tls-min-v1.2引数を指定します。

node --tls-min-v1.2 yourScript.js

TLS例に示すように、Word コード内の特定のリクエストに許可される最小 JavaScript バージョンを指定するには、 httpOptionsパラメータを使用してプロトコルを指定します。

import https from "https"; import { NodeHttpHandler } from "@smithy/node-http-handler"; import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({ region: "us-west-2", requestHandler: new NodeHttpHandler({ httpsAgent: new https.Agent( { secureProtocol: 'TLSv1_2_method' } ) }) });
Enforce TLS 1.3

TLS 1.3 が最小許容バージョンであるようにするには、次の例に示すように、スクリプトを実行するときに--tls-min-v1.3引数を指定します。

node --tls-min-v1.3 yourScript.js

TLS例に示すように、Word コード内の特定のリクエストに許可される最小 JavaScript バージョンを指定するには、 httpOptionsパラメータを使用してプロトコルを指定します。

import https from "https"; import { NodeHttpHandler } from "@smithy/node-http-handler"; import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; const client = new DynamoDBClient({ region: "us-west-2", requestHandler: new NodeHttpHandler({ httpsAgent: new https.Agent( { secureProtocol: 'TLSv1_3_method' } ) }) });

ブラウザスクリプトで TLS を検証して適用する

ブラウザスクリプトで SDK for JavaScript を使用すると、ブラウザ設定によって使用される TLS のバージョンが制御されます。ブラウザで使用される TLS のバージョンはスクリプトで検出または設定できず、ユーザーが設定する必要があります。ブラウザスクリプトで使用される TLS のバージョンを検証して適用するには、特定のブラウザの手順を参照してください。

Microsoft Internet Explorer
  1. Internet Explorer を開きます。

  2. メニューバーから、[ツール] - [インターネットオプション] - [詳細設定] タブを選択します。

  3. セキュリティカテゴリまでスクロールダウンし、TLS 1.2 を使用する のオプションボックスを手動でチェックします。

  4. [OK] をクリックします。

  5. ブラウザを閉じて、Internet Explorer を再起動します。

Microsoft Edge
  1. Windows メニュー検索ボックスに、 と入力します。Internet options.

  2. [最も一致する検索結果] で、[インターネットオプション] をクリックします。

  3. [インターネットのプロパティ] ウィンドウの [詳細設定] タブで、[セキュリティ] セクションまで下にスクロールします。

  4. User TLS 1.2 チェックボックスをオンにします。

  5. [OK] をクリックします。

Google Chrome
  1. Google Chrome を開きます。

  2. Alt + F キーを押し、[設定] を選択します。

  3. 下にスクロールし、[詳細設定] を選択します。

  4. [システム] まで下にスクロールし、[パソコンのプロキシ設定を開く] をクリックします。

  5. [詳細設定] タブを選択します。

  6. セキュリティカテゴリまでスクロールダウンし、TLS 1.2 を使用する のオプションボックスを手動でチェックします。

  7. [OK] をクリックします。

  8. ブラウザを閉じて Google Chrome を再起動します。

Mozilla Firefox
  1. Firefox を開きます。

  2. アドレスバーに「about:config」と入力し、Enter キーを押します。

  3. [検索] フィールドに「tls」と入力します。[security.tls.version.min] のエントリを見つけてダブルクリックします。

  4. 整数値を 3 に設定して、TLS 1.2 のプロトコルをデフォルトに強制します。

  5. [OK] をクリックします。

  6. ブラウザを閉じて Mozilla Firefox を再起動します。

Apple Safari

SSL プロトコルを有効にするオプションはありません。Safari バージョン 7 以降を使用している場合、TLS 1.2 は自動的に有効になります。