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
840
ディレクトリ構成と設定ファイルから考える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
CSC509 Lecture 03
javiergs
PRO
0
330
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
600
The Flutter Journey of Building a Live Streaming App — With a Side of Performance Tuning
u503
1
100
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.9k
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
210
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
1
550
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
200
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
3
800
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
240
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
790
止められない医療アプリ、そっと Swift 6 へ
medley
1
130
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Embracing the Ebb and Flow
colly
88
4.8k
A Modern Web Designer's Workflow
chriscoyier
697
190k
What's in a price? How to price your products and services
michaelherold
246
12k
Facilitating Awesome Meetings
lara
56
6.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
4 Signs Your Business is Dying
shpigford
185
22k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Raft: Consensus for Rubyists
vanstee
139
7.1k
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