Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DMMでAWSセキュリティガードレールを作ったので、開発者がAWSセキュリティをチェックする文...

Wataru Nishiyama
November 11, 2021
7.8k

 DMMでAWSセキュリティガードレールを作ったので、開発者がAWSセキュリティをチェックする文化を広げていきたい

Wataru Nishiyama

November 11, 2021
Tweet

Transcript

  1. © DMM.com 自己紹介 2 - 名前 : 西山渉 - 所属

    : 合同会社DMM.com セキュリティ部 • クラウドセキュリティの推進 • WAF 導入支援 • PCIDSS セキュリティ監視
  2. © DMM.com 今日話すこと 3 1. DMM で AWS セキュリティガードレールを構築 2.

    AWS セキュリティガードレールを支える技術 3. 開発者がセキュリティチェックをする文化
  3. © DMM.com 対象はDMM 7 - チーム数 : 67 - AWS

    アカウント : 300 以上 ( 17リージョン )
  4. © DMM.com 利用サービス 24 - AWS Config - AWS CloudTrail

    - AWS Config Rules - Amazon GuardDuty - Amazon EventBridge - Amazon SNS - AWS Chatbot (Slack) - AWS Organizations - サービスマネージド型 CloudFormation StackSets
  5. © DMM.com 利用サービス 25 - AWS Config - AWS CloudTrail

    - AWS Config Rules - Amazon GuardDuty - Amazon EventBridge - Amazon SNS - AWS Chatbot (Slack) - AWS Organizations - サービスマネージド型 CloudFormation StackSets ログ保全 検知・監視 通知 設定
  6. © DMM.com JIRA? 34 - DMM で採用されているチケット管理システム - DMM 入社時にアカウント発行

    - 他部署へのタスクの依頼に利用 → DMM の人は全員使える。。。はず
  7. © DMM.com Slackbot ( 作った ) 35 - Slack と

    JIRA をつなぎこむ - Slack 通知されたアラートから JIRA チケットを起票 - アラートのスレッドへ JIRA チケット URL 通知 - アラートの重要度に応じたメンション発行 etc...
  8. © DMM.com どの OU にアカウント入れるのかわからない問題 56 - OU の数は 80

    以上 ( 基本は事業部ごとに分けてる ) →どの OU にどのアカウントを入れる?
  9. © DMM.com どの OU にアカウント入れるのかわからない問題 57 - 【未】解決方法 • OU

    名に Slack チャンネル ID を入れる → ID は開発者に報告してもらう
  10. © DMM.com どの OU にアカウント入れるのかわからない問題 58 - 現在 OU は事業部ごとに分かれているため、Slack

    チャン ネル ID で分け直す必要あり - OU 名で検索できない ( ブラウザ検索 )
  11. © DMM.com 「自動デプロイ」に寄せきれていない問題 64 - グローバルリソースとリージョナルリソースに依存関係がある 場合、リージョンの実行順序を指定したい • Chatbot (

    グローバルリソース ) • EventBridge ( リージョナルリソース ) • SNS ( リージョナルリソース ) Chatbot は東京リージョン時のみ、かつ全リージョンで EventBridge + SNS が作成された後に作成開始したい
  12. © DMM.com 「自動デプロイ」に寄せきれていない問題 65 - 【未】解決方法 • Chatbot を利用せず Lambda

    で Slack へ通知 • 自動デプロイを利用せず CICD でがんばる • 自動デプロイで実行順序を指定できるよう AWS へリクエスト
  13. © DMM.com ※組織変更多すぎ問題 70 - ユースケース - AWS アカウントを Root

    へ移動 ( アカウント停止前 ) - AWS アカウントを Root へ移動 ( アカウント停止後 ) - AWS アカウントを別の既存 OU へ移動 - AWS アカウントを別の新規 OU へ移動 - AWS アカウントを別の新規 OU へ移動 ( 現在の OU 配下 ) - etc...
  14. © DMM.com 手動でアップデートつらい問題 74 - 【未】解決方法 ( 日和ってる ) •

    UpdateStackSetAPI 同時実行制限 ( 1 req/s ) → サービスクォータに項目がないため、 CD 側の 制御で直列実行などにする必要あり • Stack instance operations per administrator account → 3500 ( 一つのテンプレート更新に 300 * 17 = 5100 ) • CloudFormation テンプレートの数だけアップデート先 も増える
  15. © DMM.com 80, 443 port パブリック公開の検知 82 Q. Web 会社なんだから

    80, 443 port 公開するの当たり前 じゃん!想定内ですよ! A. DEV/STG 環境や Jenkins などを誤ってパブリック  公開していないかの確認のため、80, 443 port の  パブリック検知を実施しています。
  16. © DMM.com Landing Zone 構築のその先 87 - Landing Zone 構築はまでは各社一緒

    - その先は、各社の方針が関わってくる ex) DMM では開発者にやってもらう
  17. © DMM.com Landing Zone 構築のその先 88 - Landing Zone 構築はまでは各社一緒

    - その先は、各社の方針が関わってくる ex) DMM では開発者にやってもらう ここが文化
  18. © DMM.com Landing Zone 構築のその先 89 - このプロジェクト1年ぐらいやってたが、作ってたのは Landing Zone

    でなく、開発者が AWS セキュリティを チェックする文化だったかもしれない
  19. © DMM.com まとめ 92 - DMM の AWS アカウントにガードレールを敷けた →設定不備・セキュリティ侵害を発見できた

    - 開発者がセキュリティアラートを自発的にチェック → AWS レイヤーのセキュリティ自給率が高まった