Amazon S3 バケットに TLS 1.2 以降の使用を適用するにはどうすればよいですか?

所要時間2分
0

お客様が古いバージョンの TLS を使用しています。お客様が Amazon Simple Storage Service (Amazon S3) バケットのコンテンツにアクセスする際に、最新バージョンの TLS が適用されるようにしたいと考えています。

簡単な説明

ベストプラクティスは、転送中のデータには最新の暗号化プロトコルを使用することです。Amazon S3 への接続に TLS バージョン 1.2 以降の使用を適用するには、バケットのセキュリティポリシーを更新してください。

**注:**S3 バケットに保存されているコンテンツにアクセスするには、TLS バージョン 1.2 以降を使用する必要があります。

AWS の TLS バージョンの非推奨に関する情報の詳細については、「TLS 1.2 は、すべての AWS API エンドポイントへの接続に必要な最小バージョンになります」をご参照ください。

解決策

S3 バケットへのすべての接続に TLS 1.2 以降の使用を適用するには、バケットにアタッチされたリソースベースのポリシーを使用してください。

TLS バージョン 1.2 以降を必要とするバケットポリシーをアタッチするには、次の手順を実行します。

  1. Amazon S3 コンソールを開きます。

  2. リストからバケットを選択します。

  3. [権限] タブを選択します。

  4. [バケットポリシー] で [編集] を選択します。

  5. 禁止する暗号化プロトコルへのアクセスを拒否するポリシーを追加します。たとえば、次のポリシーを使用すると、1.2 より前のバージョンの TLS を使用するすべての HTTPS リクエストを拒否します。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "EnforceTLSv12orHigher",
          "Principal": {
            "AWS": "*"
          },
          "Action": [
            "s3:*"
          ],
          "Effect": "Deny",
          "Resource": [
            "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*",
            "arn:aws:s3:::DOC_EXAMPLE_BUCKET"
          ],
          "Condition": {
            "NumericLessThan": {
              "s3:TlsVersion": 1.2
            }
          }
        }
      ]
    }

    このポリシーでは HTTPS が適用され、転送中のデータのセキュリティが強化されます。

    ワークロードに Amazon S3 への HTTP トラフィックが必要な場合は、次のポリシーをご使用ください。このポリシーは、1.2 より前の TLS バージョンからの HTTP トラフィックを許可し、HTTPS トラフィックをブロックします。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "UpdateTLSv12",
          "Effect": "Deny",
          "Principal": {
            "AWS": "*"
          },
          "Action": "s3:*",
          "Resource": "arn:aws:s3:::DOC_EXAMPLE_BUCKET/*",
          "Condition": {
            "Bool": {
              "aws:SecureTransport": "true"
            },
            "NumericLessThan": {
              "s3:TlsVersion": "1.2"
            }
          }
        }
      ]
    }

S3 用の最新の暗号化プロトコルを使用していることを確認する

新しいポリシーをテストするには、次の curl コマンドの例を使用して、特定のレガシープロトコルを使用する HTTPS リクエストを行います。

curl https://${BUCKET\_NAME}.s3.us-east-1.amazonaws.com/image.png -v --tlsv1.0 --tls-max 1.0

curl コマンドの例では、 Amazon S3 がリクエストが TLS バージョン 1.2 以降を使用していないことを検出するため、 Access Denied を返します。

: デフォルトでは、curl は匿名リクエストを送信します。バケットがプライベートの場合、どの TLS バージョンでも 403 Access Denied のエラーが表示されます。curl を使用してテストする場合は、Amazon S3 の署名付き URL を生成して、プライベートオブジェクトにアクセスできるようにしてください。

ベストプラクティスは、AWS CloudTrail Lake を使用して、AWS サービスエンドポイントへの以前の TLS 接続を特定することです。CloudTrail Lake イベントデータストアは、管理イベントまたはデータイベントをキャプチャするように設定できます。

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ