【未経験向け】CCNA(200-301)とは? NW未経験が1ヶ月で合格した際に使用した魔法の学習教材、サイトを紹介!!!

【AWS】CloudFormationでAmazon Inspectorを実装する

AWS

既出のナレッジではありますが、Amazon InspectorをCloudFormationで実装する方法を本記事では公開します。

今時は例え個人利用であっても、セキュリティ対策は万全にしておくべきだとされています。
ですが、一々手作業でセキュリティ実装するのも面倒くさいので、テンプレート化して共通化しようという算段です。
なるべく費用の掛からないような設定にしますので、個人利用でAWSアカウントを持っている方も是非Inspectorを導入してみて下さい。

スポンサーリンク

概要

本記事の目標

  • CloudFormationでAmazon Inspectorを東京リージョンへ導入する。
    • 導入する監視ルールは、以下の通りとする。
      • 共通脆弱性識別子
      • CIS オペレーティングシステムのセキュリティ設定ベンチマーク
      • セキュリティベストプラクティス診断

参考文献

CloudFormation

Amazon Inspectorについて

  • Amazon Inspectorについて
    • AWSのEC2インスタンスにおけるセキュリティレベルを診断するサービスのひとつ。
    • EC2インスタンス周りのセキュリティ診断が出来る。
      • ネットワーク到達可能性(Network Reachability)
      • 脆弱性(CVE)の診断
      • Center for Internet Security (CIS) ベンチマーク評価
      • セキュリティベストプラクティス診断
  • セキュリティルールについて
    • Amazon inspectorには、リージョンによって診断できるセキュリティルールが異なります。
    • 東京リージョンは下表の通りとなります。
      ※各リージョンのルールパッケージの 一覧は下記サイトに記載があります。
       Amazon Inspector Classic ARNS for rules packages
ルールパッケージ名ARN備考
共通脆弱性識別子arn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-gHP9oWNT
CIS オペレーティングシステムのセキュリティ設定ベンチマークarn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-7WNjqgGu
セキュリティのベストプラクティスarn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-bBUQnxMq
実行時の動作の分析
(ネットワーク到達可能性etc..)
arn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-knGBhqEu

CloudFormation テンプレート

  • 作成リソース
    • IAM Role
    • Inspector
    • EventBridge
AWSTemplateFormatVersion: "2010-09-09"
Description: Amazon Inspector Sample Template


# ------------------------------------------------------------
# Resources
# ------------------------------------------------------------
Resources:
# -----------------------------------------
# IAM Role
# -----------------------------------------
  # ServiceLink Role
  ServiceLinkedRoleForInspector:
    Type: AWS::IAM::ServiceLinkedRole
    UpdateReplacePolicy: Retain
    DeletionPolicy: Retain
    Properties: 
      AWSServiceName: inspector.amazonaws.com
      Description: A service-linked role required for Amazon Inspector to access your resources.   
 
  # EventBridge Role For Amazon Inspector
  IAMRoleForInspectorEvents:
    Type: 'AWS::IAM::Role'
    Properties:
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Effect: Allow
            Principal:
              Service: events.amazonaws.com
            Action: 'sts:AssumeRole'
      Description: A role required for EventBridge to access Inspector.
      Policies:
        - PolicyName: !Sub 'DefaultSecuritySettings-AWSEventsInspectorPolicy-${AWS::Region}'
          PolicyDocument:
            Version: 2012-10-17
            Statement:
              - Effect: Allow
                Action:
                  - 'inspector:StartAssessmentRun'
                Resource: '*'
      RoleName: !Sub 'DefaultSecuritySettings-InspectorEvents-${AWS::Region}'

# -----------------------------------------
# Amazon inspector
# -----------------------------------------
  # Inspector Target
  InspectorAssessmentTarget:
    DependsOn:
      - ServiceLinkedRoleForInspector
    Type: AWS::Inspector::AssessmentTarget
    Properties:
      AssessmentTargetName: DefaultSecuritySettings-Assessment-Target-All-Instances-All-Rules
  InspectorAssessmentTemplate:
    Type: AWS::Inspector::AssessmentTemplate
    Properties:
      AssessmentTargetArn: !GetAtt InspectorAssessmentTarget.Arn
      DurationInSeconds: 3600
      AssessmentTemplateName: DefaultSecuritySettings-Assessment-Template-Default-All-Rules
      RulesPackageArns:
        - arn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-gHP9oWNT
        - arn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-7WNjqgGu
        - arn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-YI95DVd7
        - arn:aws:inspector:ap-northeast-1:406045910587:rulespackage/0-bBUQnxMq

# -----------------------------------------
# EventBridge
# -----------------------------------------
  # EventBridge For Amazon Inspector
  CloudWatchEventsForInspector:
    Type: AWS::Events::Rule
    Properties: 
      Description: !Join
        - ''
        - - Scheduled Inspector Assessment for 
          - !GetAtt InspectorAssessmentTemplate.Arn
          - running every 7 day(s)
      Name: Amazon_Inspector_Assessment
      # Every Monday 9AM
      ScheduleExpression: cron(0 9 ? * 1 *)
      State: ENABLED
      Targets:
        - Arn: !GetAtt InspectorAssessmentTemplate.Arn
          Id: CloudWatchEventsForInspector
          RoleArn: !GetAtt IAMRoleForInspectorEvents.Arn

まとめ

後はAmazon inspectorが自動でセキュリティ評価を実行してくれるので、特に対応は不要です。
ConfigやGurdDuty等も導入しているようであれば、SecurityHUBを実装してセキュリティ集約をするのも一つの手かと思います。

手軽に強力なセキュリティサービスを導入できるよう、今後も工夫を重ねていこうと思います。

コメント

タイトルとURLをコピーしました