3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[AWS][CFn]SecurityHubの設定

Posted at

はじめに

こんにちは。なじむです。
今回もクラスメソッドさんのブログ記事、AWSアカウントを作ったら最初にやるべきこと ~令和元年版~を参考にさせていただき、AWSでの初期設定をCloudFormationで実施していこうという記事を書いていこうと思います。
今回は「Security Hubの有効化」です。

前提

サンプルコードで実行しているのは以下です。

  • SecurityHubを有効にする
  • SNSを設定する(今回はメール通知)
  • SecurityHubでイベントを検知した際にCloudwatchイベントを通じてSNSに通知する。

ここまで記事を書いていて思ったのですが、SecurityHubで通知を有効にしておけば、GuardDuryで通知しなくてもよくなるのですねきっと。。。
これはConfigやMacieでも同じことが言えるので、GuardDutyやConfig、Macieを有効化にし、通知はSecurityHubからというのが良いのですね。きっと。

サンプルコード

---
AWSTemplateFormatVersion: 2010-09-09
Description: Security Hub

#------------------------------
# Parameters: Your resource list
#------------------------------
Parameters:
  EMailAddress: # スタック作成時に任意のメールアドレスを指定してください。
    Type: String
    Description: Specifies your E-Mail for notify SecurityHubAlert.

#------------------------------
# Resources: Your resource list
#------------------------------
Resources:
  # IAM
  ## Service Role
  ServiceLinkedRoleForSecurityHub:
    Type: AWS::IAM::ServiceLinkedRole
    Properties:
      AWSServiceName: securityhub.amazonaws.com
      Description: A service-linked role required for AWS Security Hub to access your resources.

  # SecurityHub
  SecurityHub:
    Type: AWS::SecurityHub::Hub

  # SNSを作成する(今回はメール通知)
  ## Topic
  SNSTopic:
    Type: AWS::SNS::Topic
    Properties:
      TopicName: SwcurityHubTopic #任意の名前に変更してください
      Subscription:
      - Endpoint: !Ref EMailAddress
        Protocol: email

  ## Topic Policy
  SNSTopicPolicy:
    Type: AWS::SNS::TopicPolicy
    Properties:
      PolicyDocument:
        Id: default_policy_ID
        Version: 2012-10-17
        Statement:
        - Sid: default_statement_ID
          Effect: Allow
          Principal:
            AWS: "*"
          Action:
          - SNS:GetTopicAttributes
          - SNS:SetTopicAttributes
          - SNS:AddPermission
          - SNS:RemovePermission
          - SNS:DeleteTopic
          - SNS:Subscribe
          - SNS:ListSubscriptionsByTopic
          - SNS:Publish
          - SNS:Receive
          Resource: !Ref SNSTopic
          Condition:
            StringEquals:
              AWS:SourceOwner: !Ref AWS::AccountId
        - Sid: AWSEvents_AlertSecurityHubFindings_Id123
          Effect: Allow
          Principal:
            Service:
            - events.amazonaws.com
          Action: sns:Publish
          Resource: !Ref SNSTopic
      Topics:
      - !Ref SNSTopic

  # CloudWatch Events for SecurityHub
  SecurityHubCWERule:
    Type: AWS::Events::Rule
    Properties:
      Name: AlertSecurityHubFindings
      Description: Alert to SNS topic when find threats by SecurityHub
      EventPattern: {
                      "source": [
                        "aws.securityhub"
                      ],
                      "detail-type": [
                        "Security Hub Findings - Imported"
                      ]
                    }
      Targets:
      - Arn: !Ref SNSTopic
        Id: Id123

実行結果

  • SecurityHubを有効にする
    20200201_175905.jpg

  • SNSを設定する(今回はメール通知)

  • SecurityHubでイベントを検知した際にCloudwatchイベントを通じてSNSに通知する。

GuardDuryの時と同じため省略します。

まとめ

SecurityHubはあくまでもGuardDutyやCondigなどの結果をまとめて表示してれる機能のため、有効にしたからと言って特別何かが起きるわけではありません。情報をまとめて見れるだけです。
次回以降はSecurityHubと連携しているConfig、Inspector、Macieについて記載していこうと思います。

3
3
1

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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?