[AWS][CFn]SecurityHub 설정

소개



안녕하세요. 친숙합니다.
이번에도 클래스 메소드 씨의 블로그 기사, AWS 계정을 만들면 먼저 해야 할 일 ~영화 원년판~ 를 참고로 하겠습니다.
이번에는 "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 사용
  • SNS 설정 (이번에는 메일 알림)
  • SecurityHub에서 이벤트를 감지하면 Cloudwatch 이벤트를 통해 SNS에 알립니다.

  • GuardDury 때와 동일하므로 생략합니다.

    요약



    SecurityHub는 어디까지나 GuardDuty나 Condig등의 결과를 정리해 표시할 수 있는 기능 때문에, 유효하게 했다고 해서 특별한 무언가가 일어나는 것은 아닙니다. 정보를 한꺼번에 볼 수 있습니다.
    다음 회 이후는 SecurityHub와 제휴하고 있는 Config, Inspector, Macie에 대해 기재해 가겠습니다.

    좋은 웹페이지 즐겨찾기