{SecurityHub}AWS Security Hub の設定

https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-settingup.html

https://docs.aws.amazon.com/ja_jp/securityhub/latest/userguide/securityhub-prereq-config.html

 

AWS Security Hub は、サービスにリンクされた AWS Config ルールを使用して、ほとんどのコントロールのセキュリティチェックを実行します。

これらのコントロールをサポートするには、Security Hub が有効になっているリージョン毎に、
管理者アカウントとメンバーアカウントの両方のアカウントで AWS Config を有効にする必要があります。
AWS Config は、有効にした標準で必要とされるリソースが最低限記録されるように設定する必要があります。

 

Security Hub では、Security Hub 標準を有効にする前に AWS Config でリソース記録を有効にすることを推奨しています。
リソース記録が有効になっていないときに Security Hub がセキュリティチェックを実行しようとすると、チェックはエラーを返します。

 

 

-- 1. コマンド等のインストール

-- 1.1 aws cli version 2 インストール

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version

-- 1.2 jqインストール
sudo yum -y install jq

 


-- 2. S3 バケットを作成する

aws s3 ls

aws s3 mb s3://bucke123

 

-- 3. バケットポリシーの設定

vim b.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AWSConfigBucketPermissionsCheck",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::bucke123",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "999999999999"
                }
            }
        },
        {
            "Sid": "AWSConfigBucketExistenceCheck",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::bucke123",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "999999999999"
                }
            }
        },
        {
            "Sid": "AWSConfigBucketDelivery",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::bucke123/*",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "999999999999",
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}

aws s3api put-bucket-policy \
--bucket bucke123 \
--policy file://b.json


aws s3api get-bucket-policy \
--bucket bucke123

 


-- 4. AWS Config の有効化


aws configservice put-configuration-recorder \
--configuration-recorder name=default,roleARN=arn:aws:iam::999999999999:role/aws-service-role/config.amazonaws.com/AWSServiceRoleForConfig \
--recording-group '{
  "allSupported": false,
  "includeGlobalResourceTypes": false,
  "resourceTypes": [
    "AWS::EC2::Instance"
  ]
}'


aws configservice put-delivery-channel \
--delivery-channel '{
    "name": "default",
    "s3BucketName": "bucke123",
    "configSnapshotDeliveryProperties": {
        "deliveryFrequency": "TwentyFour_Hours"
    }
}'

 

aws configservice start-configuration-recorder \
--configuration-recorder-name default


aws configservice put-retention-configuration \
--retention-period-in-days 30

 

aws configservice describe-delivery-channels
aws configservice describe-configuration-recorders
aws configservice describe-configuration-recorder-status
aws configservice describe-retention-configurations


-- 5. AWS Security Hub の有効化


aws securityhub enable-security-hub \
--no-enable-default-standards


aws securityhub describe-hub


-- 6. セキュリティ基準 の有効化

AWS 基礎セキュリティのベストプラクティス v1.0.0」を有効化


aws securityhub describe-standards


aws securityhub batch-enable-standards \
--standards-subscription-requests '{"StandardsArn":"arn:aws:securityhub:ap-northeast-1::standards/aws-foundational-security-best-practices/v/1.0.0"}'

aws securityhub get-enabled-standards

 

aws securityhub describe-standards-controls \
--standards-subscription-arn "arn:aws:securityhub:ap-northeast-1:999999999999:subscription/aws-foundational-security-best-practices/v/1.0.0"


-- 7. 動作確認

aws securityhub get-findings

 

 


-- 8. クリーンアップ

-- セキュリティ基準 の無効化

aws securityhub get-enabled-standards

aws securityhub batch-disable-standards \
--standards-subscription-arns "arn:aws:securityhub:ap-northeast-1:999999999999:subscription/aws-foundational-security-best-practices/v/1.0.0"

 

-- AWS Security Hub の無効化

aws securityhub describe-hub

aws securityhub disable-security-hub

 


-- AWS Config の無効化

aws configservice describe-delivery-channels
aws configservice describe-configuration-recorders
aws configservice describe-configuration-recorder-status
aws configservice describe-retention-configurations

aws configservice delete-retention-configuration \
--retention-configuration-name default


aws configservice stop-configuration-recorder \
--configuration-recorder-name default

aws configservice delete-delivery-channel \
--delivery-channel-name default

aws configservice delete-configuration-recorder \
--configuration-recorder-name default

 

-- バケットの削除

aws s3 ls

aws s3 rb s3://bucke123 --force