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
JAWS-UG-Osaka-guardrail
Search
sasaki
August 31, 2023
Technology
0
280
JAWS-UG-Osaka-guardrail
JAWS-UG 大阪「AWS のセキュリティサービス&ソリューション座談会」
sasaki
August 31, 2023
Tweet
Share
More Decks by sasaki
See All by sasaki
スケールするプロダクトと膨らむ組織 SREの挑戦と解決策 / Findy Job LT SRE
taishin
0
10
組織の変化とSREの役割進化 責務拡大にどう応えるか / globis_sre
taishin
0
140
Lambdaの運用についてのなにか / lambda_unyo
taishin
0
120
おすすめAWSコスト対策 / AWS Startup Meetup Osaka AWS Cost
taishin
1
320
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
1.1k
ECS Runtime Monitoring で コンテナランタイムセキュリティに入門 / nakanoshima-dev-ecs-runtime-monitoring
taishin
0
190
成長を続けるSaaSのAWSコスト管理において 開発者としてできること / AWS DevDay SaaS Cost
taishin
11
2.8k
IaCのCI/CDを考えよう / JAWS-UG_Okayama_IaC_CICD
taishin
2
1.4k
目指せCoverage100%! AutoScale環境におけるSavings Plans購入戦略 / JAWS-UG_SRE_Coverage
taishin
1
2.1k
Other Decks in Technology
See All in Technology
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
220
Fraxinus00tw assembly manual
fukumay
0
110
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
360
OPENLOGI Company Profile
hr01
0
60k
偏光画像処理ライブラリを作った話
elerac
1
170
Share my, our lessons from the road to re:Invent
naospon
0
140
What's new in Go 1.24?
ciarana
1
110
データエンジニアリング領域におけるDuckDBのユースケース
chanyou0311
9
2.2k
AWSアカウントのセキュリティ自動化、どこまで進める? 最適な設計と実践ポイント
yuobayashi
7
620
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
210
スキルだけでは満たせない、 “組織全体に”なじむオンボーディング/Onboarding that fits “throughout the organization” and cannot be satisfied by skills alone
bitkey
0
180
JavaにおけるNull非許容性
skrb
2
2.6k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
The Pragmatic Product Professional
lauravandoore
32
6.4k
For a Future-Friendly Web
brad_frost
176
9.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Code Review Best Practice
trishagee
67
18k
Making Projects Easy
brettharned
116
6k
It's Worth the Effort
3n
184
28k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
How to Ace a Technical Interview
jacobian
276
23k
Transcript
© Chatwork ガードレール運用 2023年8月31日 SRE部 佐々木真也 Chatwork株式会社 JAWS-UG 大阪 「AWS のセキュリティサービス&ソリューション座談会(仮)」
自己紹介 2 • 名前 ◦ 佐々木真也 • 所属 ◦ Chatwork株式会社
▪ 2020年6月〜 ▪ SRE部 マネージャー • Twitter ◦ @taishin • 趣味 ◦ サッカー観戦
会社概要 3 会社名 Chatwork株式会社 代表取締役CEO 山本 正喜 グループ従業員数 411名(2023年6月末日時点) 所在地
東京、大阪 設立 2004年11月11日
事業概要 4 4 *1 Chatworkセグメント以外の事業として、ESET社提供のセキュリティ対策ソフトウェア「ESET」の代理販売事業を展開。安定的な収益貢献となっている *2 Nielsen NetView 及びNielsen Mobile
NetView Customized Report 2022年5月度調べ月次利用者(MAU:Monthly Active User)調査。 調査対象はChatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む47サービスをChatwork株式会社にて選定 *3 2023年6月末時点 • 国内最大級のビジネスチャット「Chatwork」を中心に、複数の周辺サービスを展開*1 • ビジネスチャットのパイオニアであり国内利用者数No.1*2、導入社数は41.0万社*3を突破 • 電話やメールから効率的なチャットへ、ビジネスコミュニケーションの変化を加速させプラットフォーム化を目指す
ガードレール? Chatworkのガードレール運用 まとめ 2 3 AGENDA アジェンダ 1
ガードレール?
クラウドにおけるガードレールとは? 7 • クラウド環境でセキュリティなどの統制を実現する方法、考え方 • 利用者がセキュリティ上問題のある操作をしないよう検知・防止 する仕組み
従来のセキュリティ対策 8 • ゲート ◦ 特定のアクションや操作を実行する前に、認証や承認を必要とする 仕組み
ガードレール利用の背景 9 • 利用者の増加 • 組織としてガバナンス強化 • マルチアカウント管理 • 開発スピード
ガードレールの種類 10 • 検知 ◦ リスクがある構成や操作を検知し、止めるので はなく通知する ▪ ex) パブリックアクセス可能なS3バケットを作成した後、通知
する • 予防 ◦ あらかじめしてはいけない操作を定義し、禁止 する ▪ ex) パブリックアクセス可能なS3バケットを作成しようとした ときに、操作をブロックする ※ 修正を1つの種類として取り扱っているドキュメントもあります。
ガードレールといえば・・・ 11 • AWS Control Tower ◦ 複数のAWSサービスを組み合わせてマルチアカウントの統制を行う
Control Tower の機能 12 • ランディングゾーン ◦ セキュリティとコンプライアンスのベストプラクティスに基づく マルチアカウント管理 •
コントロール ◦ AWS 環境全体に継続的なガバナンスを提供する高レベルのルール ◦ ガードレールとも呼ばれる • Account Factory ◦ 新規アカウントのテンプレート • ダッシュボード
Control Tower の必須コントロールの例 13 • AWS Control Tower がログアーカイブに作成した Simple
Storage Service (Amazon S3) バ ケットのログ設定の変更を許可しない • AWS Control Tower によって設定された Amazon CloudWatch Logs ロググループへの変更 を不許可にする • AWS Control Tower が作成した AWS Config 集約認証の削除を許可しない • AWS Control Tower によって設定された Amazon CloudWatch への変更を不許可にする • AWS Control Tower が作成した リソースのタグの変更を許可しない … • 利用可能なすべてのリージョンで CloudTrail を有効にする • CloudTrail への設定変更を不許可にする • セキュリティ組織単位の共有アカウントで AWS CloudTrail または CloudTrail Lake が有効 になっているかどうかを検出する … • 使用可能なすべてのリージョンで AWS Config を有効にする • AWS Config への設定変更を許可しない https://docs.aws.amazon.com/ja_jp/controltower/latest/userguide/mandatory-controls.html
検知ガードレールを実現するAWSのサービス 14 • AWS Config Rules • Security Hub
AWS Config Rules 15 • AWS リソースの設定内容を評価 ◦ AWS Config
マネージドルール ▪ 事前定義されたカスタマイズ可能なルール • https://docs.aws.amazon.com/config/latest/developerguide/managed- rules-by-aws-config.html ◦ AWS Config カスタムルール ▪ Lambda ▪ CloudFormation Guard ▪ RDK
AWS Security Hub 16 • セキュリティのベストプラクティスのチェック ◦ CIS AWS Foundations
Benchmark、AWS 基礎セキュリティのベストプラクティス 等 • 他のサービスのセキュリティアラートを集約
予防ガードレールを実現するAWSのサービス 17 • サービスコントロールポリシー (SCP) • IAM
サービスコントロールポリシー (SCP) 18 • AWS Organizations における権限設定 ◦ Organizations内のOU(Organizational Unit)
や、AWSアカ ウントに対する権限を設定
Chatworkの予防ガードレール運用
Security Hub運用 20 Security Hub SNS Event Bridge
Security Hub運用 21 • カスタムアクションの利用 ◦ Jiraチケット作成や、通知に必要な情報は、検知するサービスごとに異なる ◦ EventBridgeの入力トランスフォーマーで必要な情報を抽出
Security Hub運用 22 • Security Hub Automation Rules による検出結果の更新 ◦
下記の情報等を自動更新 ▪ ステータス変更 ▪ アカウントの選定 ▪ findingsごとに除外の選定 https://aws.amazon.com/jp/about-aws/whats-new/2023/06/aws-security-hub-automation-rules/
課題 23 • システム担当者への通知 ◦ 同じアカウント内に複数のシステムが構築されているので、タグをチェックする 等でシステムごとに通知先を分けたいが、タグの対応がないのでアカウントレベ ルでしか通知先を分けれない • Custom
Action の手動実行 ◦ 現状の仕様だと過去に実行したものを再度実行してしまい、チケット、通知が重 複してしまうため • Jiraチケットとの連携 ◦ Security Hubでステータスを変更してもJiraでは変わらない ▪ Atlassian Jira Service Management との双方向統合を検証中 • https://aws.amazon.com/jp/about-aws/whats-new/2021/05/aws-security-hub -supports-bidirectional-integration-with-atlassian-jira-service-management/
Chatworkの検知ガードレール運用
SCPの運用 25 ◦ 絶対に使わないものを拒否 ◦ 最小限にしておく ▪ 変更はOrganizationsに対する権限がないとできない ▪ アカウント側で拒否されたときに問題がよく分からない
{ "Effect": "Deny", "Action": "*", "Resource": "*", "StringNotEquals": { "aws:RequestedRegion": [ "ap-northeast-1", "us-east-1", "us-east-2", "us-west-1", ... }, { "Effect": "Deny", "Action": [ "workspaces:*", "workspaces-web:*", "robomaker:*", "mediatailor:*", ... • 例 ◦ 不要なリージョンに対する操作 ◦ 不要なサービスに対する操作 ◦ 絶対に削除してはいけないS3バケット/オブ ジェクトの削除の拒否
予防ガードレールの運用 26 • ガードレールをつくりたいポイント ◦ Organizationレベル Organizationレベルのガードレール • 組織管理者で設定 •
SCPを利用
予防ガードレールの運用 27 • ガードレールをつくりたいポイント ◦ Organizationレベル ◦ アカウントレベル Organizationレベルのガードレール •
組織管理者で設定 • SCPを利用 アカウントレベルのガードレール • アカウント管理者で設定
予防ガードレールの運用 28 • ガードレールをつくりたいポイント ◦ Organizationレベル ◦ アカウントレベル ◦ EKSクラスタレベル
Organizationレベルのガードレール • 組織管理者で設定 • SCPを利用 アカウントレベルのガードレール • アカウント管理者で設定 EKSクラスタレベルのガードレール • クラスタ管理者で設定
アカウントレベルのガードレール 29 • リソース作成時にブロック ◦ terraformでのCI/CD作成時にブロック ▪ Atlantis + OpenPolicyAgent/Conftest
Atlantis + Conftest 30 • 権限設定次第ですが、エラーを承 認してapplyすることも可能 • Terraformのplan結果をOPAの仕組みで検査 •
ポリシー違反であればapply不可 ◦ エラーを承認してapplyすることも可能 ▪ (緩さも必要かも・・・)
参考:tfsec 31 • Terraformのコードをセキュリティのベストプラクティス に基づいてスキャンしてくれる ◦ Github ActionsでCI/CDに組み込むことも可能 ◦ ユーザー側で除外も可能
▪ (緩さも必要かも・・・) https://github.com/aquasecurity/tfsec
参考:AWS Config ルール プロアクティブモード ? 32 • 期待していたものと違った・・・
EKSクラスタレベルのガードレール 33 • EKSクラスタ内でGatekeeper + OpenPolicyAgent ◦ コンテナイメージのタグのチェック ◦ Adminロールのチェック
◦ external-dnsホスト名のチェック https://aws-quickstart.github.io/cdk-eks-blueprints/addons/opa-gatekeeper/ https://archive.eksworkshop.com/intermediate/310_opa_gatekeeper/
詳細はこちらにも・・・ 34 • https://speakerdeck.com/saramune/gabanansuxiang-shang-wei-yuan-hui-with-opa
まとめ
まとめ 36 • ガードレールには検知と予防がある • 検知ガードレールは通知運用が難しい • 予防ガードレールはレイヤに応じてサービスを選択
働くをもっと楽しく、創造的に