三歩あるけば物も忘れる

お腹のお肉がメタボックル

ユーザ用ツール

サイト用ツール


Aws:SecurityManagement:S3

10.S3

S3関連の対応を以下に示す。

予防的対策

S3BucketSampleTemplate
AWSTemplateFormatVersion: 2010-09-09
Parameters:
 PrmExampleAccessLogBucket:
     Type: String
Resources:
  ResExampleBucket:
    Type: "AWS::S3::Bucket"
    Properties:
      BucketName: !Sub "res-example-bucket"
      VersioningConfiguration:
        Status: Enabled
      BucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: AES256
      PublicAccessBlockConfiguration:
        IgnorePublicAcls: true
        BlockPublicPolicy: true
        BlockPublicAcls: true
        RestrictPublicBuckets: true
      AccessControl: LogDeliveryWrite
      LoggingConfiguration:
        DestinationBucketName: !Ref PrmExampleAccessLogBucket
        LogFilePrefix: !Sub "ExamplePrefix/"
  ResExampleBucketPolicy:
    Type: 'AWS::S3::BucketPolicy'
    Properties:
      Bucket: !Ref ResExampleBucket
      PolicyDocument:
        Version: 2012-10-17
        Statement:
          - Sid: AllowSSLRequestsOnly
            Action: 's3:*'
            Effect: Deny
            Resource:
              - !Sub 'arn:aws:s3:::${ResExampleBucket}'
              - !Sub 'arn:aws:s3:::${ResExampleBucket}/*'
            Condition: 
              Bool: 
                'aws:SecureTransport': false
            Principal: '*'

標準対応項目

[CIS 2.3] CloudTrail ログが記録する S3 バケットがパブリックにアクセスできないことを確認します
[PCI.S3.1] S3 バケットはパブリック書き込みアクセスを禁止する必要があります
[PCI.S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります
[PCI.S3.6] S3 ブロックパブリックアクセス設定を有効にする必要があります
[S3.1] S3 ブロックパブリックアクセス設定を有効にする必要があります
[S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります
[S3.3] S3 バケットはパブリック書き込みアクセスを禁止する必要があります
[S3.8] S3 ブロックパブリックアクセス設定は、バケットレベルで有効にする必要があります

      PublicAccessBlockConfiguration:
        IgnorePublicAcls: true
        BlockPublicPolicy: true
        BlockPublicAcls: true
        RestrictPublicBuckets: true

[PCI.S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります
[S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります

      BucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: AES256

[PCI.S3.5] S3 バケットは、Secure Socket Layer を使用するリクエストを要求する必要があります
[S3.5] S3 バケットは、Secure Socket Layer を使用するためのリクエストが必要です

      PolicyDocument:
        Version: 2012-10-17
        Statement:
          - Sid: AllowSSLRequestsOnly
            Action: 's3:*'
            Effect: Deny
            Resource:
              - !Sub 'arn:aws:s3:::${ResExampleBucket}'
              - !Sub 'arn:aws:s3:::${ResExampleBucket}/*'
            Condition: 
              Bool: 
                'aws:SecureTransport': false
            Principal: '*'

[CIS 2.6] CloudTrail S3 バケットアクセスログ記録が CloudTrail S3 バケットで有効になっていることを確認します
[S3.9] S3 バケットサーバーアクセスログを有効にする必要があります

      AccessControl: LogDeliveryWrite
      LoggingConfiguration:
        DestinationBucketName: !Ref ResExampleAccessLogBucket
        LogFilePrefix: !Sub "ExamplePrefix/"

個別検討項目

発見的対策

Aws/SecurityManagement/S3.txt · 最終更新: 2022/05/27 by 127.0.0.1