そもそもAWS Configの設定変えられたらどうするの?Amazon EventBridgeでマネコンの操作を監視する

>100 Views

April 27, 25

スライド概要

JAWS-UG広島 第22回勉強会での発表資料です
https://jawsug-hiroshima.connpass.com/event/351005/

サービスを世に出す際には、安全性を確保する必要があります。AWS Configを利用することで設定監視が行えるほか、AWS Config自体の設定変更をCloudTrailとEventBridgeで検知・通知する方法を紹介します。発表ではAWSの各サービスの利用方法やCloudFormationテンプレートの使い方についても言及しています。まずは小さなステップから始めて、安全性を確保した上でサービスを公開する重要性を強調しています。

profile-image

Work at @serverworks 2025 AWS Community Builders, 2024 Japan AWS Top Engineers (Database), Certified ScrumMaster, PMP

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

そもそもAWS Configの設定変えられ たらどうするの? Amazon EventBridgeでマネコンの 操作を監視する 2024.04.27 JAWS-UG広島 第22回勉強会 SATOSHI KANEYASU

2.

自己紹介 氏名:兼安 聡 所属:株式会社サーバーワークス アプリケーションサービス部 在住:広島(フルリモート) 担当:DevOps、技術支援、PM、SM 2025 AWS Community Builders 2024 Japan AWS Top Engineers (Database) 2024 Japan AWS All Certifications Engineers 認定スクラムマスター PMP X:@satoshi256kbyte 実はJAWS-UGのオフラインイベントで長尺の発表をするのは今回が初めてです 2

3.

目次 ⚫ はじめに ⚫ サービス公開時に気にすること ⚫ AWS Configによる設定監視 ⚫ AWS Config自体の設定変更を防ぐには ⚫ AWS Config自体の設定変更の検知 ⚫ ルートユーザーのログイン検知 ⚫ サンプルCloudFormationテンプレートの説明 ⚫ まとめ 3

4.

はじめに ⚫ サービスを世に出そうとする時、安全性を確保できてないと公開にストップがかか ることがあります ⚫ AWS Configの設定監視と、設定監視自体を無効化された時に備えてAWS Config自 体の設定変更を検知・通知する方法について紹介します ⚫ 本発表で登場するAWSサービスは以下の通りです ⚫ AWS Config ⚫ AWS CloudTrail ⚫ Amazon EventBridge ⚫ Amazon SNS ⚫ 本発表で出てくる設定内容は、一式を構築するCloudFormationテンプレートを用意 しているので後で試したくなったら使ってみてください 4

5.

サービス公開時に気にすること

6.

サービス公開時に気にすること① 機能 安全 可用性 コスト セキュリティ 適切な設定 適切な設定の維持 6

7.

サービス公開時に気にすること② 機能 安全 可用性 コスト セキュリティ 適切な設定 クラウドの導入・サービスの公開 においてここが特に問われる 適切な設定の維持 7

8.

AWS Configによる設定監視

9.

AWS Configとは ⚫ AWSリソースの設定変更履歴を記録、評価、監査できるサービス ⚫ AWSリソースのインベントリ管理 ⚫ インベントリ=在庫 ⚫ AWSアカウント上のリソースと変更履歴を管理する ⚫ コンプライアンス評価 ⚫ リソースの設定がルールに準拠しているチェックして通知に繋げる 9

10.

AWS Configの有効化 ⚫ AWS Configの初期画面には2つのボタンがあります ⚫ 2つのボタンの大きな違いは、途中でコンプライアンス評価ルールの設定を挟むかど うかです 10

11.

AWS Configの無効化 ⚫ 記録を停止すると、変更の検知や評価が動作しなくなります 11

12.

AWSリソースのインベントリ管理 ⚫ リソースの一覧や変更履歴を見ることができます 12

13.

コンプライアンス評価 – ルールの設定 ⚫ AWS Configはコンプライアンス評価のルールが設定できます ⚫ ルールはマネージドと自作が選べます ⚫ 例えば、セキュリティグループがSSHのポート(22)が開いていたら非準拠扱いに するルールがあります 13

14.

コンプライアンス評価 – 修復アクション ⚫ ルールには修復アクションが設定できます ⚫ 例えば、セキュリティグループの修復アクションはマネージドのものが存在します ⚫ これを使用すると、セキュリティグループでSSHのポートが開けられたら自動で閉 じる(厳密には削除)ようなことができます ⚫ (正直使ったことはありませんが・・・) 14

15.

コンプライアンス評価 – EventBridgeのルールと通知設定 ⚫ EventBridgeのルールを作ればコンプライアンス評価の通知が作れます ⚫ ただし、状態が変わってないというイベントはないので注意してください 15

16.

AWS Config自体の設定変更を防ぐ には

17.

AWS Config自体の設定変更の検知 ⚫ AWS Config自体の設定変更はAWS CloudTrailに記録されます ⚫ CloudTrailとEventBridgeのルールで、 AWS Config自体の設定変更は検知すること ができます 17

18.

AWS CloudTrailのイベントレコード ⚫ AWS Config自体の設定変更はAWS CloudTrailに記録されます 18

19.

EventBridgeのルールとイベントレコードのJSONビュー ⚫ CloudTrailのイベントレコードのJSONビューで内容を見ることができます ⚫ JSONビューを元にEventBridgeのルールで引っ掛けるようにします 19

20.

更新系イベントを拾い、一部イベントを除外する ⚫ “readOnly”: [false]で更新系イベントだけを拾っています ⚫ その上で、コンプライアンス評価による書き込みイベントだけを除外します ⚫ コンプライアンス評価は、評価結果の書き込みが発生する更新系イベントに分類さ れる上、日々大量に発生する可能性のあるイベントで、ノイズになるからです 20

21.

通知メッセージの設定 21

22.

通知メッセージのサンプル 22

23.

ルートユーザーのログイン検知 ⚫ ルートユーザーのログインもCloudTrail+EventBridgeのルールで検知することがで きます ⚫ しかし、ルートユーザーのログインはバージニアリージョンのCloudTrailに記録され るので、EventBridgeのルールもバージニアリージョンに作る必要があります ⚫ 余談ですが、一般ユーザーのログインイベントはもっと複雑です・・・ 23

24.

CloudTrailにおけるルートユーザーのログインイベント ⚫ ルートユーザーのログインイベントはバージニアリージョンのCloudTrailにしか現れ ません 24

25.

EventBridgeのルールとイベントレコードのJSONビュー ⚫ ルートユーザーのログインイベントも、JSONビューを元にEventBridgeのルールで 引っ掛けるようにします 25

26.

通知メッセージのサンプル 26

27.

サンプルCloudFormationテンプ レートの説明

28.

サンプルCloudFormationテンプレートの説明 ⚫ サンプルのCloudFormationテンプレートを用意しました ⚫ こちらのGitHub Gistからダウンロードできます ⚫ 解凍すると3つのテンプレートができます 1. config_ssh_security_rule.yaml(コンプライアンス評価 – 修復アクションのサンプル) 2. config_item_change_rule.yaml(AWS Config自体の設定変更の検知サンプル) 3. root_user_signin_rule_us_east_1.yaml(ルートログインの検知サンプル) ⚫ テンプレートは3つ用意しています。 ⚫ 1つ目・2つ目は任意のリージョンで実行してください ⚫ AWS Configをゼロから始めるイメージのテンプレートなので、普段使わないリージ ョンの方が試しやすいです ⚫ 3つ目はバージニアリージョンで実行してください 28

29.

サンプルCloudFormationテンプレートの実行方法① ⚫ テンプレートはAWSマネジメントコンソールのCloudFormationから実行します 29

30.

サンプルCloudFormationテンプレートの実行方法② ⚫ 3つのテンプレートは全てパラメータにメールアドレスがあります ⚫ 入力して実行すると、サブスクリプションの確認メールが飛ぶので中のリンクをク リックして確認します ⚫ CloudFormationの実行ができたら、リソースタブからできたリソースに飛べます 30

31.

まとめ

32.

まとめ ⚫ サービスを世に出そうとする時、安全性を確保できてないと公開にストップがかか ることがあります ⚫ AWS Configを使うと設定監視ができます ⚫ AWS Config自体の設定変更はCloudTrail+EventBridgeで検知・通知ができます ⚫ 設定変更の対策は、AWS OrganizationsでSCPを組むのがより良いと思いますが、 Organizationsの導入はそれはそれで大変なのでまずはできることから始めるのがよ いと思います ⚫ 今できることをやり、まずは世に出すことが大事です 32