Help us understand the problem. What is going on with this article?

CIS AWS Foundations Benchmarkのモニタリング要件を満たすCloudFormationテンプレート 

はじめに

CIS AWS Foundations Benchmarkでは、CloudTrailで記録されるAPIコールに対して全14項目の
モニタリングを設定することが推奨されています。(3.Monitoring)
この14項目をモニタリングするためのCloudWatch Logsメトリクスフィルタとアラームを設定する
CloudFormation テンプレートを作成しました。

CIS AWS Foundations Benchmark とは

米国の非営利団体である CIS (Center for Internet Secuirty) が公開している
AWSアカウントの基本的なセキュリティを実装するための技術的なベストプラクティスです。
CISのベンチマークは PCI DSS などのコンプライアンス要件で業界標準のベストプラクティスとの
記載があった場合などに参照されます。

CIS Amazon Web Services Foundations Benchmark v1.2.0 - 05-23-2018
https://d1.awsstatic.com/whitepapers/compliance/AWS_CIS_Foundations_Benchmark.pdf

AWS Security Hubによるコンプライアンスの自動チェック

AWS Security Hub は AWS re:Invent 2018で発表されたAWS環境全体のセキュリティと
コンプライアンスの状況を確認することが可能なサービスです。

https://aws.amazon.com/jp/security-hub/

Security Hub は CIS AWS Foundations に定義されている各項目を
自動的かつ継続的にチェックすることができます。

image.png

作成したCloudFormationテンプレートについて

GitHubにおいています。

以下のドキュメントに掲載されている、Amazonのテンプレートをもとに作成しています。
(CloudWatch_Alarms_for_CloudTrail_API_Activity.json)

テンプレートを使用して アラームを作成する
https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/use-cloudformation-template-to-create-cloudwatch-alarms.html

CloudTrailの証跡設定内でリンクされているものと同一です。

image.png

オリジナルのテンプレートはCIS AWS Foundations の推奨モニタリング項目を
網羅できていないため、不足分のメトリクスフィルタおよびアラーム設定を追加しました。
具体的には以下の項目です。

  • 3.2 - Ensure a log metric filter and alarm exist for Management Console sign-in without MFA
  • 3.3 - Ensure a log metric filter and alarm exist for usage of "root" account
  • 3.7 - Ensure a log metric filter and alarm exist for disabling or scheduled deletion of customer created CMKs
  • 3.8 - Ensure a log metric filter and alarm exist for S3 bucket policy changes
  • 3.9 - Ensure a log metric filter and alarm exist for AWS Config configuration changes
  • 3.13 - Ensure a log metric filter and alarm exist for route table changes

オリジナルに含まれる以下の項目は、CIS AWS Foundations の対象外であるため
あえて削除しています。

  • EC2InstanceChanges
  • EC2LargeInstanceChanges

また個人的な好みでYAML形式に書き換えています。

CloudFormationスタックの作成

前提条件

予め以下の条件を満たす証跡が作成されている必要があります。

  • 全てのリージョンを対象としていること
  • 管理イベントは読み込み/書き込みイベントをすべて記録していること
  • CloudWatch Logs への配信が設定されていること

image.png
image.png

またCloudFormationテンプレートを予め任意のS3バケットにアップロードしておきます。

スタックの作成

S3にアップロードしたテンプレートファイルを指定してスタックの作成を行います。
image.png

スタック名、アラームを通知するメールアドレスおよびCloudWatchLogsへの
配信設定を行ったロググループ名を入力します。
image.png

移行の項目は任意の内容で設定し、スタックを作成します。
入力したメールアドレス宛にSNS Topicのサブスクリプション確認メールが届きますので
リンクを押下して、登録を完了します。
image.png
スタックの作成が完了することを確認します。
image.png

結果確認

CloudWatchのコンソールから対象のロググループを確認すると以下のようなメトリクスフィルタ
およびアラーム設定が追加されていることを確認できます。

image.png

Security HubでCIS AWS Foundationsの自動チェックを有効化している場合は以下のように
コンプライアンス状況を確認できます。
image.png
グリーンが多いと気持ちがいいですね!

作った後に気づいた

CIS AWS Foundations Benchmark 全体をカバーするクイックスタートが既に公開されていました。。。
https://aws.amazon.com/jp/quickstart/architecture/compliance-cis-benchmark/

ですが、せっかく作ったので公開させていただきます。
参考になれば幸いです。

参考資料

Announcing Industry Best Practices for Securing AWS Resources
https://aws.amazon.com/jp/blogs/security/announcing-industry-best-practices-for-securing-aws-resources/
AWS Security Hub を使用した CIS AWS Foundations Benchmark の計測
https://d1.awsstatic.com/Compliance%20V2/JP_Security%20and%20Compliance/CIS%20BenchMark%20and%20SecurityHub-SolutionDays2019_JP.pdf

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした