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

srenext2022-skaru

 srenext2022-skaru

SRE NEXT 2022
「AWS/GCPにおけるセキュリティ監視の取り組み」
での登壇資料です。
https://sre-next.dev/2022/schedule#sp05
#srenext #srenextA

MIXI ENGINEERS

May 16, 2022
Tweet

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. 自己紹介 開発本部 セキュリティ室 / 開発本部 CTO室 SREグループ(兼務) 2018年中途入社 ミクシィでやってきたこと ・脆弱性診断

    ・サーバー開発 ・クラウド監視 ・インフラ開発 ・SOC ・Android開発 ・CSIRT ・などなど
  2. セキュリティ監視概要 監視アカウント • AWS(Amazon Web Services) ◦ 約50アカウント ◦ ※

    全社対象ではない ◦ ※ 事業部側で監視している部門もある • GCP(Google Cloud Platform) ◦ 2組織 / 100プロジェクト以上
  3. セキュリティ監視概要 AWSの監視設定 • AWS CloudTrail ◦ 監査ログ • AWS CloudTrail

    Insights ◦ 異常なアクティビティの検出 • Amazon GuardDuty ◦ 脅威検出サービス • OSSの設定監視ツール ◦ 各アカウントからRead権限を貰って設定の監視を行うツール
  4. セキュリティ監視概要 GCPの監視設定 • Security Command Center ◦ 設定の監視と脅威の検知 • 内製のリソース収集ツール

    ◦ Security Command Centerだけでは不十分な所を補っています ◦ GCP上の各種リソースの設定収集や、BigQueryを使って複数のリ ソースを組み合わせた情報を作っています ◦ 監視システムに送って設定の精査をしてアラートを作ったりしていま す
  5. 監視システムの紹介 アラートの自動調査 - 例① • SecurityGroupやFirewallの公開設定のアラートはルールに該当してい るインスタンスやIPを一覧化してチェックしています ◦ TCPでコネクションの接続の試行 ▪

    接続ができれば追加でHTTPやSSHなどでの試行も行う ◦ 稼働しているサービスがHTTPの場合は画面キャプチャを取得 ▪ どんなWebサービスが動いているか一目でわかって便利 ◦ ルール自体は許可されてる場合もあるため、一定間隔で公開しては いけないリソースが作られていないか自動でチェックしています ▪ 前回から差分があった場合のみIssueにはコメントされる
  6. 監視システムの紹介 アラートの自動調査 - 例② • IPやドメインなどが危険なものでないか調査する ◦ 例えば監査ログのコール元がTorなどの危険なIPでないか調査して Issueに自動でコメント ◦

    侵害検知のアラートの場合、Actorにどういった脅威があるかを調査 してIssueに自動でコメント • 他にもアラートやリソースに応じて色々チェックしています
  7. 監視システムの構成 • インフラ ◦ AWS (Lambda / DynamoDB / S3

    / SQSなど) ◦ リソースはCloudFormationで管理 ◦ Production環境とStaging環境の2つの環境が存在 • アプリケーション ◦ 全てLambdaで動かしている ◦ 言語はGoと一部にPython ◦ 管理画面のフロントでJS(TS/Next.js) • CICD環境 ◦ Github Action / Code Pipeline / Code Build
  8. 監視システムの構成 設計のコンセプト アプリケーション/インフラ含め設計時に考えてたのは主に以下の3つ • なるべく低コストで運用 ◦ 設計~運用が一人だったのでなるべく負荷を下げたかった ◦ 現在は新卒の方がJoinしてくれたので二人体制で運用中 •

    アラートは見逃さないように ◦ バグやエラーなどで必要なアラートがなくならないように • 汎用的にする ◦ AWSとGCP以外でも使えるように ◦ 簡単にシステムに乗せられるように
  9. 監視システムの構成 低コストで運用する • サーバー管理はしない • マネージドに寄せる。設定もシンプルなものを採用 ◦ ほぼこれに尽きる ◦ LambdaやDynamoDBを駆使している

    ▪ アプリケーションは全てLambda ▪ 管理画面もALB + Lambda ▪ 色々制約はある...が今のところ対応できている ◦ アラートの管理はGitHubのIssueを採用 ▪ コード管理でも使っているため環境の準備が不要
  10. 監視システムの構成 アラートは見逃さないようにする • アラートはS3に保存して、S3イベントをトリガーにする ◦ 万が一メッセージが消えた場合でもファイルとして残っているためア ラートの復元が容易 • Staging環境で検証できるように ◦

    検証してからProductionに反映することでミスを減らせるので必須 ◦ Stagingも実際のアラートの発報で検証できるようにしている • テストコードも充実させている
  11. 今後の展望 • AWS Organizationsの検討 ◦ アカウントも増えてきたのでそろそろ欲しくなってきました • 監視アカウントの拡大 ◦ 目指せ全社

    • レスポンスの強化 ◦ 今のところ大きな事故もなく平和だが、何か起きたときの対応も強化 したい • AWS/GCP以外での監視システムの導入 ◦ せっかく汎用的に作ったので何かに使ってみたい
  12. We Are Hiring! We Are Hiring! SREの募集一覧
 ミクシィ 採用
 SRE求人3件、サーバーサイド求人10件!


    ミクシィグループでは、
 SREの皆さんのご応募をお待ちしています
 家族アルバム みてね 言語:Ruby モンスターストライク 言語:Ruby、Go 事業横断の開発本部 では、 通常の中途採用に加えて第二新卒採用も実施中! 言語:Go、Ruby、Elixirなど 採用サイト