~~NOCACHE~~
## 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: '*'
<--
#### 標準対応項目
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-cis-controls.html#securityhub-cis-controls-2.3|[CIS 2.3] CloudTrail ログが記録する S3 バケットがパブリックにアクセスできないことを確認します]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-pci-controls.html#pcidss-s3-1|[PCI.S3.1] S3 バケットはパブリック書き込みアクセスを禁止する必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-pci-controls.html#pcidss-s3-2|[PCI.S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-pci-controls.html#pcidss-s3-6|[PCI.S3.6] S3 ブロックパブリックアクセス設定を有効にする必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-1|[S3.1] S3 ブロックパブリックアクセス設定を有効にする必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-1|[S3.2] S3 バケットではパブリック読み取りアクセスを禁止する必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-1|[S3.3] S3 バケットはパブリック書き込みアクセスを禁止する必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-8|[S3.8] S3 ブロックパブリックアクセス設定は、バケットレベルで有効にする必要があります]]
PublicAccessBlockConfiguration:
IgnorePublicAcls: true
BlockPublicPolicy: true
BlockPublicAcls: true
RestrictPublicBuckets: true
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-pci-controls.html#pcidss-s3-4|[PCI.S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-4|[S3.4] S3 バケットでは、サーバー側の暗号化を有効にする必要があります]]
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-pci-controls.html#pcidss-s3-5|[PCI.S3.5] S3 バケットは、Secure Socket Layer を使用するリクエストを要求する必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-5|[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: '*'
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-cis-controls.html#securityhub-cis-controls-2.6|[CIS 2.6] CloudTrail S3 バケットアクセスログ記録が CloudTrail S3 バケットで有効になっていることを確認します]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-9|[S3.9] S3 バケットサーバーアクセスログを有効にする必要があります]]
AccessControl: LogDeliveryWrite
LoggingConfiguration:
DestinationBucketName: !Ref ResExampleAccessLogBucket
LogFilePrefix: !Sub "ExamplePrefix/"
#### 個別検討項目
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-pci-controls.html#pcidss-s3-3|[PCI.S3.3] S3 バケットでクロスリージョンレプリケーションを有効にする必要があります]]
[[https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-standards-fsbp-controls.html#fsbp-s3-6|[S3.6] 他のユーザーに付与された Amazon S3 のアクセス許可AWSバケットポリシーのアカウントは制限する必要があります]]
### 発見的対策
[[Aws:セキュリティ管理:90.発見的対策|Aws/SecurityHub/90.発見的対策]]
{{tag>AWS SecurityHub CloudFormation S3}}