0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[AWS]Amazon S3 セキュリティプラクティス「送信時のデータ暗号化」メモ

Posted at

Amazon S3のセキュリティベストプラクティスにおける「送信時のデータ暗号化」についてメモする。

用語・概念

  • TLS (Transport Layer Security):
    ネットワーク通信の暗号化プロトコル。
  • HTTPS (HyperText Transfer Protocol Secure):
    TLSにより暗号化されたHTTPプロトコル。これにより、通信経路上でのデータの盗聴や改竄を防止する。
  • aws:SecureTransport:
    AWSのIAM条件キーの1つ。リクエストが暗号化(HTTPS/TLS)されているかどうかを判定し、暗号化されていないリクエストを拒否するために使用される。

設定が必要な理由 (設定しない場合のリスク)

  • 中間者攻撃の防止:
    HTTPS (TLS) により、ネットワーク上での通信が暗号化されるため、攻撃者が通信を盗聴したり改竄するリスクを大幅に低減できる。
  • データの完全性と信頼性:
    暗号化された接続では、データが転送中に改ざんされるリスクが少なく、受信側が正しいデータを確実に受け取ることができる。
  • 規制やコンプライアンスの遵守:
    業界によっては、送信時のデータ暗号化が必須とされる場合があり、これにより法令や内部ポリシーに準拠した運用が可能になる。

中間者攻撃例

AWS CLIによる設定方法

バケットポリシー

  • S3バケットポリシーにおいて、aws:SecureTransport 条件を利用し、暗号化されていないリクエスト(aws:SecureTransport=false)を拒否する設定を適用する。
  • 以下のJSONポリシー例は、指定されたS3バケットへの全リクエストのうち、HTTPS (TLS) 経由でのアクセスのみを許可し、暗号化されていないリクエストは拒否する。
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyUnencryptedConnections",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ],
      "Condition": {
        "Bool": {"aws:SecureTransport": "false"}
      }
    }
  ]
}

AWS CLIでの設定手順

  1. 既存のバケットに対して、上記のポリシーを適用する場合は、put-bucket-policy コマンドを使用する。
aws s3api put-bucket-policy \
    --bucket your-bucket-name \
    --policy '{
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "DenyUnencryptedConnections",
          "Effect": "Deny",
          "Principal": "*",
          "Action": "s3:*",
          "Resource": [
            "arn:aws:s3:::your-bucket-name",
            "arn:aws:s3:::your-bucket-name/*"
          ],
          "Condition": {
            "Bool": {"aws:SecureTransport": "false"}
          }
        }
      ]
    }'

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?