Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
そもそもAWS Configの設定変えられたらどうするの?Amazon EventBridg...
Search
Satoshi Kaneyasu
April 26, 2025
Programming
1
150
そもそもAWS Configの設定変えられたらどうするの? Amazon EventBridgeでマネコンの操作を監視する
Satoshi Kaneyasu
April 26, 2025
Tweet
Share
More Decks by Satoshi Kaneyasu
See All by Satoshi Kaneyasu
お客様とSIerではじめたスクラム開発(で得た学び)
satoshi256kbyte
0
68
From Pipenv to UV: Migrating to a Monorepoto Tame a Complex Repository
satoshi256kbyte
0
10
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
850
ディレクトリ構成と設定ファイルから考えるSIerのVibe Coding
satoshi256kbyte
0
32
GitHubとGitLabとAWS CodePipelineでCI/CDを組み比べてみた
satoshi256kbyte
4
320
生産性の壁を越えろ! 何がなんでも計測する
satoshi256kbyte
1
34
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
280
オープンセミナー2025@広島LT技術ブログを続けるには
satoshi256kbyte
0
180
AWS Summit Japan 2024と2025の比較
satoshi256kbyte
0
21
Other Decks in Programming
See All in Programming
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.6k
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
790
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
430
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
420
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
940
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
240
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
100
CSC305 Lecture 01
javiergs
PRO
1
400
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
950
What's new in Spring Modulith?
olivergierke
1
110
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
210
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
750
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Building Adaptive Systems
keathley
43
2.8k
KATA
mclloyd
32
15k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A better future with KSS
kneath
239
17k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Mobile First: as difficult as doing things right
swwweet
224
10k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Transcript
そもそも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のオフラインイベントで長尺の発表をするのは今回が初めてです
3 目次 ⚫はじめに ⚫サービス公開時に気にすること ⚫AWS Configによる設定監視 ⚫AWS Config自体の設定変更を防ぐには ⚫AWS Config自体の設定変更の検知
⚫ルートユーザーのログイン検知 ⚫サンプルCloudFormationテンプレートの説明 ⚫まとめ
4 はじめに ⚫サービスを世に出そうとする時、安全性を確保できてないと公開にストップがかか ることがあります ⚫AWS Configの設定監視と、設定監視自体を無効化された時に備えてAWS Config自 体の設定変更を検知・通知する方法について紹介します ⚫本発表で登場するAWSサービスは以下の通りです ⚫AWS
Config ⚫AWS CloudTrail ⚫Amazon EventBridge ⚫Amazon SNS ⚫本発表で出てくる設定内容は、一式を構築するCloudFormationテンプレートを用意 しているので後で試したくなったら使ってみてください
サービス公開時に気にすること
6 サービス公開時に気にすること① 機能 コスト 安全 可用性 セキュリティ 適切な設定 適切な設定の維持
7 サービス公開時に気にすること② 機能 コスト 安全 可用性 セキュリティ 適切な設定 適切な設定の維持 クラウドの導入・サービスの公開
においてここが特に問われる
AWS Configによる設定監視
9 AWS Configとは ⚫AWSリソースの設定変更履歴を記録、評価、監査できるサービス ⚫AWSリソースのインベントリ管理 ⚫インベントリ=在庫 ⚫AWSアカウント上のリソースと変更履歴を管理する ⚫コンプライアンス評価 ⚫リソースの設定がルールに準拠しているチェックして通知に繋げる
10 AWS Configの有効化 ⚫AWS Configの初期画面には2つのボタンがあります ⚫2つのボタンの大きな違いは、途中でコンプライアンス評価ルールの設定を挟むかど うかです
11 AWS Configの無効化 ⚫記録を停止すると、変更の検知や評価が動作しなくなります
12 AWSリソースのインベントリ管理 ⚫リソースの一覧や変更履歴を見ることができます
13 コンプライアンス評価 – ルールの設定 ⚫AWS Configはコンプライアンス評価のルールが設定できます ⚫ルールはマネージドと自作が選べます ⚫例えば、セキュリティグループがSSHのポート(22)が開いていたら非準拠扱いに するルールがあります
14 コンプライアンス評価 – 修復アクション ⚫ルールには修復アクションが設定できます ⚫例えば、セキュリティグループの修復アクションはマネージドのものが存在します ⚫これを使用すると、セキュリティグループでSSHのポートが開けられたら自動で閉 じる(厳密には削除)ようなことができます ⚫ (正直使ったことはありませんが・・・)
15 コンプライアンス評価 – EventBridgeのルールと通知設定 ⚫EventBridgeのルールを作ればコンプライアンス評価の通知が作れます ⚫ただし、状態が変わってないというイベントはないので注意してください
AWS Config自体の設定変更を防ぐ には
17 AWS Config自体の設定変更の検知 ⚫AWS Config自体の設定変更はAWS CloudTrailに記録されます ⚫CloudTrailとEventBridgeのルールで、 AWS Config自体の設定変更は検知すること ができます
18 AWS CloudTrailのイベントレコード ⚫AWS Config自体の設定変更はAWS CloudTrailに記録されます
19 EventBridgeのルールとイベントレコードのJSONビュー ⚫CloudTrailのイベントレコードのJSONビューで内容を見ることができます ⚫JSONビューを元にEventBridgeのルールで引っ掛けるようにします
20 更新系イベントを拾い、一部イベントを除外する ⚫“readOnly”: [false]で更新系イベントだけを拾っています ⚫その上で、コンプライアンス評価による書き込みイベントだけを除外します ⚫コンプライアンス評価は、評価結果の書き込みが発生する更新系イベントに分類さ れる上、日々大量に発生する可能性のあるイベントで、ノイズになるからです
21 通知メッセージの設定
22 通知メッセージのサンプル
23 ルートユーザーのログイン検知 ⚫ルートユーザーのログインもCloudTrail+EventBridgeのルールで検知することがで きます ⚫しかし、ルートユーザーのログインはバージニアリージョンのCloudTrailに記録され るので、EventBridgeのルールもバージニアリージョンに作る必要があります ⚫ 余談ですが、一般ユーザーのログインイベントはもっと複雑です・・・
24 CloudTrailにおけるルートユーザーのログインイベント ⚫ルートユーザーのログインイベントはバージニアリージョンのCloudTrailにしか現れ ません
25 EventBridgeのルールとイベントレコードのJSONビュー ⚫ルートユーザーのログインイベントも、JSONビューを元にEventBridgeのルールで 引っ掛けるようにします
26 通知メッセージのサンプル
サンプル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つ目はバージニアリージョンで実行してください
29 サンプルCloudFormationテンプレートの実行方法① ⚫テンプレートはAWSマネジメントコンソールのCloudFormationから実行します
30 サンプルCloudFormationテンプレートの実行方法② ⚫3つのテンプレートは全てパラメータにメールアドレスがあります ⚫入力して実行すると、サブスクリプションの確認メールが飛ぶので中のリンクをク リックして確認します ⚫CloudFormationの実行ができたら、リソースタブからできたリソースに飛べます
まとめ
32 まとめ ⚫サービスを世に出そうとする時、安全性を確保できてないと公開にストップがかか ることがあります ⚫AWS Configを使うと設定監視ができます ⚫AWS Config自体の設定変更はCloudTrail+EventBridgeで検知・通知ができます ⚫設定変更の対策は、AWS OrganizationsでSCPを組むのがより良いと思いますが、
Organizationsの導入はそれはそれで大変なのでまずはできることから始めるのがよ いと思います ⚫今できることをやり、まずは世に出すことが大事です
None