Slide 1

Slide 1 text

© DMM.com CONFIDENTIAL 合同会社DMM.com
 セキュリティ部
 CloudSecチーム 西山渉 
 AWS セキュリティガードレールにより 開発者がセキュリティ監視するように なったDMM、課題と今後

Slide 2

Slide 2 text

© DMM.com 自己紹介 2 - 名前 : 西山渉 - 所属 : 合同会社DMM.com セキュリティ部 • クラウドセキュリティの推進 • WAF 導入支援 • PCIDSS セキュリティ監視

Slide 3

Slide 3 text

© DMM.com DMM 3

Slide 4

Slide 4 text

© DMM.com 今日話すこと 4 1. DMM で AWS セキュリティガードレールを構築 2. AWS セキュリティガードレールのシステム保守 3. 開発者がセキュリティを自走する仕組み

Slide 5

Slide 5 text

© DMM.com 1つ目 5 DMM で AWS セキュリティ ガードレールを構築

Slide 6

Slide 6 text

© DMM.com DMM で AWS セキュリティガードレール構築 6 - AWS レイヤーのセキュリティ監視開始

Slide 7

Slide 7 text

© DMM.com DMM で AWS セキュリティガードレール構築(2021/9) 7 - AWS レイヤーのセキュリティ監視開始 • DB パブリック公開:20 • S3 書き込み権限でパブリック公開:6 • セキュリティ侵害 : 3

Slide 8

Slide 8 text

© DMM.com DMM で AWS セキュリティガードレール構築(2022/3) 8 - AWS レイヤーのセキュリティ監視開始 • DB パブリック公開:20 → 23 • S3 書き込み権限でパブリック公開:6 → 8 • セキュリティ侵害 : 3 → 4

Slide 9

Slide 9 text

© DMM.com 9 - AWS レイヤーのセキュリティ監視開始 • DB パブリック公開:20 → 23 • S3 書き込み権限でパブリック公開:6 → 8 • セキュリティ侵害 : 3 → 4 - 開発者がセキュリティ監視に参加し続けることで セキュリティ自給率が向上中 DMM で AWS セキュリティガードレール構築(2022/3)

Slide 10

Slide 10 text

© DMM.com セキュリティガードレールとは 10 - セキュリティ品質の担保のため、脅威を検知し クラウド領域を制限する持続可能なアプローチ

Slide 11

Slide 11 text

© DMM.com DMM のセキュリティガードレール実装 11 - AWS Landing Zone - Amazon GuardDuty / AWS Config Rules を監視

Slide 12

Slide 12 text

© DMM.com DMM のセキュリティガードレール実装 12 - AWS Landing Zone - Amazon GuardDuty / AWS Config Rules を監視 - Slack : チャットコミュニケーションツール - JIRA : チケット管理システム - Slackbot

Slide 13

Slide 13 text

© DMM.com AWS Landing Zone 13

Slide 14

Slide 14 text

© DMM.com GuardDuty / Config Rules を監視 14

Slide 15

Slide 15 text

© DMM.com GuardDuty / Config Rules を監視 15 チームごとの Slack チャンネルへ通知

Slide 16

Slide 16 text

© DMM.com Slack 16

Slide 17

Slide 17 text

© DMM.com Slack 17 一緒に監視

Slide 18

Slide 18 text

© DMM.com Slack 18 チームごとのSlack チャンネルが約70個

Slide 19

Slide 19 text

© DMM.com JIRA 19 アラート1個につきチケット1つ作成

Slide 20

Slide 20 text

© DMM.com JIRA : アラートをステータス管理 20 ToDo → レビュー中 → 完了

Slide 21

Slide 21 text

© DMM.com Slackbot 21

Slide 22

Slide 22 text

© DMM.com DMM のセキュリティガードレール使い方 22 - セキュリティガードレールを使うことで、開発者と セキュリティ管理者が「一緒」にセキュリティ監視

Slide 23

Slide 23 text

© DMM.com DMM のセキュリティガードレール使い方 23 - セキュリティガードレールを使うことで、開発者と セキュリティ管理者が「一緒」にセキュリティ監視 開発者がセキュリティ運用に参加

Slide 24

Slide 24 text

© DMM.com DMM Tech Vision 24

Slide 25

Slide 25 text

© DMM.com DMM が目指す開発像 25

Slide 26

Slide 26 text

© DMM.com セキュリティも開発者が面倒をみる 26

Slide 27

Slide 27 text

© DMM.com 監視モデル 27 管理者 開発者 AWS 主役

Slide 28

Slide 28 text

© DMM.com 監視モデル 28 管理者 開発者 AWS 開発者の後

Slide 29

Slide 29 text

© DMM.com 全チーム(85)へ説明 29

Slide 30

Slide 30 text

© DMM.com 全チーム(85)へ説明 30 リソースとお金

Slide 31

Slide 31 text

© DMM.com 結果 31

Slide 32

Slide 32 text

© DMM.com 結果(2021/9) 32 棚卸しにより削除されたアカウント : 約50 セキュリティ設定完了アカウント : 300 セキュリティ了承チーム : 80

Slide 33

Slide 33 text

© DMM.com 結果(2022/3) 33 棚卸しにより削除されたアカウント : 約50 セキュリティ設定完了アカウント : 300 → 350 セキュリティ了承チーム : 80 → 85

Slide 34

Slide 34 text

© DMM.com アラート数の推移(2020/10~2022/3) 34

Slide 35

Slide 35 text

© DMM.com 35 AWSが約5700のアラートを発報 アラートチェック状況(2020/10~2022/3)

Slide 36

Slide 36 text

© DMM.com アラートチェック状況(2020/10~2022/3) 36 開発者が約4400チェック完了

Slide 37

Slide 37 text

© DMM.com チームA チームA チームB チームC チームD チームG チームE チームF チームH チームごとのアラートチェック状況 37

Slide 38

Slide 38 text

© DMM.com 構築の過程の話はこちら 38

Slide 39

Slide 39 text

© DMM.com 2つ目 39 AWS セキュリティガードレールの システム保守

Slide 40

Slide 40 text

© DMM.com ガードレールに利用されるシステム 40 - AWS Organizations OU - サービスマネージド型 CloudFormation StackSets - CICD - Slack - JIRA - AWS のセキュリティサービス・通知サービスetc…

Slide 41

Slide 41 text

© DMM.com ガードレールに利用されるシステム 41 - AWS Organizations OU - サービスマネージド型 CloudFormation StackSets - CICD - Slack - JIRA - AWS のセキュリティサービス・通知サービスetc… 一気通貫で設計しないと大変

Slide 42

Slide 42 text

© DMM.com 大変なことになっていること 42 - OU の階層を深くしすぎた - CloudFormation テンプレートを分けすぎた - 例外設定をコード化した

Slide 43

Slide 43 text

© DMM.com OU の階層を 深くしすぎた 43

Slide 44

Slide 44 text

© DMM.com 現状 44 - OU と DMM の組織構造を同じにしていた - ex) Root • DMM • 事業部A • チームaaa • チームbbb • 事業部B • チームccc • チームddd…

Slide 45

Slide 45 text

© DMM.com 問題 45 - DMM の組織変更の頻度が多すぎて合わせるのが困難 • 大胆不敵な合併・再編・サービス譲渡... - 目当ての OU を見つけられない • Organizations コンソールで OU 名で検索できない

Slide 46

Slide 46 text

© DMM.com 解決法(未対応) 46 - 事業部 OU を消し、会社 OU 直下に揃える - チーム OU に事業部名を入れる - ex) Root • DMM • チームA-aaa • チームA-bbb • チームB-ccc • チームB-ddd…

Slide 47

Slide 47 text

© DMM.com CloudFormation テンプレートを 分けすぎた 47

Slide 48

Slide 48 text

© DMM.com 現状 48 6個 - 1つの OU に適用する CloudFormation テンプレート • chatbot.yaml • config.yaml • config_rules.yaml • config_sns.yaml • guardduty_sns.yaml • lambda_billing_statement.yaml

Slide 49

Slide 49 text

© DMM.com 問題 49 - OU × CloudFormation テンプレートの StackSets が 存在する

Slide 50

Slide 50 text

© DMM.com 問題 50 - OU × CloudFormation テンプレートの StackSets が 存在する 88×6= 528

Slide 51

Slide 51 text

© DMM.com 解決策(未対応) 51 - 1 OU 1 CloudFormation テンプレートにまとめる ※DMM はセキュリティレベルに応じたプランを用意 • strong.yaml • standard.yaml • minimal.yaml

Slide 52

Slide 52 text

© DMM.com 例外設定を コード化した 52

Slide 53

Slide 53 text

© DMM.com 現状 53 - 開発者からリクエストされた例外を、コードで管理 ex ) このアカウントではこのアラート無効化して〜

Slide 54

Slide 54 text

© DMM.com 問題 54 - CloudFormation StackSets のデプロイ単位が OU →例外追加のたびに OU が増加

Slide 55

Slide 55 text

© DMM.com 解決策(未対応) 55 - ドキュメントにメモし手動対応するのがコスト低い

Slide 56

Slide 56 text

© DMM.com その他問題の数々 56 - どの OU にどの AWS アカウントを入れるかわからない - CloudFormation StackSets の自動デプロイ使うべき? 使わないべき? - CloudFormation StackSets のアップデートを手動でやるの つらい、CICD 入れるべき?etc…

Slide 57

Slide 57 text

© DMM.com 運用課題の話はこちらでも 57

Slide 58

Slide 58 text

© DMM.com 3つ目 58 開発者がセキュリティ チェックする文化

Slide 59

Slide 59 text

© DMM.com 開発者がセキュリティアラートをチェック! 59

Slide 60

Slide 60 text

© DMM.com 実際どうなのか? 数字で表してみた 60

Slide 61

Slide 61 text

© DMM.com チームの網羅率 61

Slide 62

Slide 62 text

© DMM.com チームの網羅率 62 85/87= 97.7%

Slide 63

Slide 63 text

© DMM.com アラートのチェック率 63

Slide 64

Slide 64 text

© DMM.com アラートのチェック率 64 4300/5700= 75%

Slide 65

Slide 65 text

© DMM.com アラートチェックにかかる平均日数 65

Slide 66

Slide 66 text

© DMM.com アラートチェックにかかる平均日数 66 177 日

Slide 67

Slide 67 text

© DMM.com 管理者に対してのセキュリティ可視化 67 - 開発者がセキュリティを自走する文化は浸透した?

Slide 68

Slide 68 text

© DMM.com 管理者に対してのセキュリティ可視化 68 - 開発者がセキュリティを自走する文化は浸透した? すごくやってくれてる!

Slide 69

Slide 69 text

© DMM.com もちろんチーム格差がある 69 チェックしてない数 チームA チームB チームC チームD チームG チームE チームF チームH 未 済

Slide 70

Slide 70 text

© DMM.com もちろんチーム格差がある 70 チームA チームA チームB チームC チームD チームG チームE チームF チームH 何も言わなくてもやっ てくれるチーム 未 済

Slide 71

Slide 71 text

© DMM.com もちろんチーム格差がある 71 チームA チームB チームC チームD チームG チームE チームF チームH 言えばやってくれる チーム 未 済

Slide 72

Slide 72 text

© DMM.com セキュリティ部と一緒に残アラート確認 72 チームA チームA チームB チームC チームD チームG チームE チームF チームH 未 済 言ってもやってくれな いチーム

Slide 73

Slide 73 text

© DMM.com アプローチ 73

Slide 74

Slide 74 text

© DMM.com アプローチ方法 74 - 月イチで残アラートを通知 - 月イチでセキュリティサービス費用を通知 - セキュリティ部と一緒に残アラート確認 MTG

Slide 75

Slide 75 text

© DMM.com 月イチで残アラートを通知 75 - セキュリティ部はチームごとの残アラートを把握

Slide 76

Slide 76 text

© DMM.com 月イチでセキュリティサービス費用を通知 76 - お金方面からセキュリティを自覚 - 生きたチャンネルだと認識させる

Slide 77

Slide 77 text

© DMM.com 補足:セキュリティサービス費用の傾向 77 - PRD より DEV/STG アカウントが高くなる →1日1回 AWS リソースの削除・作成の運用

Slide 78

Slide 78 text

© DMM.com セキュリティ部と一緒に残アラート確認 78

Slide 79

Slide 79 text

© DMM.com セキュリティ部と一緒に残アラート確認 79 チームA チームA チームB チームC チームD チームG チームE チームF チームH 未 済

Slide 80

Slide 80 text

© DMM.com まとめと今後 80

Slide 81

Slide 81 text

© DMM.com まとめと今後 81 - AWS セキュリティガードレールのシステム保守

Slide 82

Slide 82 text

© DMM.com まとめと今後 82 - AWS セキュリティガードレールのシステム保守 →保守しやすいように再設計中

Slide 83

Slide 83 text

© DMM.com まとめと今後 83 - AWS セキュリティガードレールのシステム保守 →保守しやすいように再設計中 →セキュリティレベルの高度化 (現在は、ドア閉めてる?をチェックするレベル)

Slide 84

Slide 84 text

© DMM.com まとめと今後 84 - AWS セキュリティガードレールのシステム保守 →保守しやすいように再設計中 →セキュリティレベルの高度化 (現在は、ドア閉めてる?をチェックするレベル) - 開発者がセキュリティチェックする文化 →順調、今後も文化を広げていく

Slide 85

Slide 85 text

© DMM.com まとめと今後 85 - AWS セキュリティガードレールのシステム保守 →保守しやすいように再設計中 →セキュリティレベルの高度化 (現在は、ドア閉めてる?をチェックするレベル) - 開発者がセキュリティチェックする文化 →順調、今後も文化を広げていく セキュリティをエンジニアリングで解決

Slide 86

Slide 86 text

© DMM.com 今後の DMM 86 https://dmm-corp.com/recruit/engineer/800/

Slide 87

Slide 87 text

© DMM.com おしまい 87