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

インフラ観点で見るセキュリティ〜4Cモデルに倣って〜

saramune
October 31, 2024

 インフラ観点で見るセキュリティ〜4Cモデルに倣って〜

@IT Cloud Native Week 2024夏特別編集版
https://members06.live.itmedia.co.jp/library/NzM4NzE%253D

saramune

October 31, 2024
Tweet

More Decks by saramune

Other Decks in Technology

Transcript

  1. 自己紹介 2 • 古屋 啓介 ◦ 株式会社kubell SRE部 ◦ JAWS-UG

    SRE支部運営 ◦ AWS Community Builder(2023〜) ◦ ドラム叩きます
  2. 「Chatwork」とは ※※Nielsen NetView 及びNielsen Mobile NetView Customized Report 2024年4月度調べ月次利用者(MAU:Monthly Active

    User)調査。 調査対象はChatwork、Microsoft Teams、Slack、LINE WORKS、Skypeを含む41サービスを株式会社kubellにて選定。 効率的に情報共有できる グループチャット 仕事の見える化ができる タスク管理 見落としがなくなる ファイル管理 いつでも会議ができる ビデオ/音声通話
  3. 前置き 7 • 本セッションで触れないこと ◦ 専門的なおはなし ◦ セキュリティのトレンド ◦ 具体的な攻撃やそれに対する防御

    • そのほか ◦ CNDT 2022の発表内容がベースです ▪ KubernetesとTerraformのセキュリティ/ガバナンス向上委員会 with OPA
  4. 目次 CONTENTS 01 | セキュリティのはじめかた 02 | Kubernetesのセキュリティ向上施策 03 |

    Terraformの安全な運用 04 | 今後やりたいこと 05 | まとめ
  5. AWSのWell-Architected Framework(1/3) 16 • フレームワークの概要 ◦ AWS Well-Architected Framework では、クラウド上でワークロードを設計および実行

    するための主要な概念、設計原則、アーキテクチャのベストプラクティスについて説明し ています。 ◦ 6つの柱 ▪ オペレーショナルエクセレンス ▪ セキュリティ ▪ 信頼性 ▪ パフォーマンス ▪ コスト最適化 ▪ 持続可能性 ◦ イメージとしてはプロダクトの健康診断表 ▪ 定期的に見直して、悪いところをあぶり出す https://aws.amazon.com/jp/architecture/well-architected/
  6. AWSのWell-Architected Framework(2/3) 17 • セキュリティの柱(Pillar) ◦ このホワイトペーパーを読むことで、セキュリティを念頭に置いてクラウドアーキテク チャを設計するための AWS の最新の推奨事項と戦略を理解できます。

    ◦ 全60項目以上 ▪ セキュリティの基礎 ▪ IDとアクセス管理 ▪ 検知 ▪ インフラストラクチャ保護 ▪ データ保護 ▪ インシデント対応 ▪ アプリケーションのセキュリティ https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/security-pillar/welcome.html
  7. AWSのWell-Architected Framework(3/3) 18 • たとえば ◦ IDとアクセス管理 ▪ SEC02-BP01 強力なサインインメカニズムを使用する

    ◦ インシデント対応 ▪ SEC10-BP03 フォレンジック機能を備える ◦ ワークロードを安全に運用する ▪ SEC01-BP08 新しいセキュリティサービスと機能を定期的に評価および実装する わかる わ、わかる わかるけどむずない?
  8. AWSのWell-Architected Framework(3/3) 19 • たとえば ◦ IDとアクセス管理 ▪ SEC02-BP01 強力なサインインメカニズムを使用する

    ◦ インシデント対応 ▪ SEC10-BP03 フォレンジック機能を備える ◦ ワークロードを安全に運用する ▪ SEC01-BP08 新しいセキュリティサービスと機能を定期的に評価および実装する わかる わ、わかる わかるけどむずない? リスク踏まえてやるやらは都度判断でOK
  9. AWSのWell-Architected Framework(3/3) 20 • たとえば ◦ IDとアクセス管理 ▪ SEC02-BP01 強力なサインインメカニズムを使用する

    ◦ インシデント対応 ▪ SEC10-BP03 フォレンジック機能を備える ◦ ワークロードを安全に運用する ▪ SEC01-BP08 新しいセキュリティサービスと機能を定期的に評価および実装する わかる わ、わかる わかるけどむずない? リスク踏まえてやるやらは都度判断でOK でもそもそも項目数が多すぎる...
  10. • W-Aのセキュリティの柱をキュッとした版 ◦ アカウントの保護 ◦ ワークロードのセキュリティ保護 • 全27項目 ◦ たとえば...

    ▪ ACCT.08 — プライベート S3 バケットへのパブリックアクセスを阻止する ▪ WKLD.01 — コンピューティング環境へのアクセス許可に IAM ロールを使用する そんなあなたに、AWS Startup Security Baseline 21
  11. • W-Aのセキュリティの柱をキュッとした版 ◦ アカウントの保護 ◦ ワークロードのセキュリティ保護 • 全27項目 ◦ たとえば...

    ▪ ACCT.08 — プライベート S3 バケットへのパブリックアクセスを阻止する ▪ WKLD.01 — コンピューティング環境へのアクセス許可に IAM ロールを使用する そんなあなたに、AWS Startup Security Baseline 22 これくらいならサッと見直せそう!
  12. • Well-Architected Framework ◦ 活用できてない... ▪ = 健康診断できてない... • AWS

    Startup Security Baseline ◦ いけてそう ▪ = とりあえず最低ラインはOK • (セキュリティ室によるSecurity Hub運用) ◦ W-Aをフォロー 「Chatwork」では... 24
  13. • クラウドネイティブ”インフラ”セキュリティのはじめかた ◦ モデルやフレームワークを使う ▪ 4Cモデル ▪ Well-Architected Framework ▪

    AWS Startup Security Baseline ◦ リスクを踏まえてやるやらないを判断して無理なく ここまでのまとめ 25
  14. Conftest、Gatekeeperについて 34 • いずれもOPA/Regoの仕組みを使ったツール • Conftest ◦ Regoを利用して以下のようなコードを検査できる ▪ Kubernetesのマニフェスト

    ▪ TerraformコードなどのHCL • Gatekeeper ◦ Kubernetes内でOPAのポリシーチェックを回す ▪ Validating Admission Webhookを利用
  15. 他社さんの事例 35 • Conftest + Gatekeeperは(k8sでは)あるあるな構成 • LIFULLさんの事例 ◦ Pod

    Security Policyの代替として採用 ▪ https://www.lifull.blog/entry/2021/07/07/200000 • NIKKEIさんの記事 ◦ ハンズオンつき! ▪ https://hack.nikkei.com/blog/advent20201224/
  16. 実装 37 開発者 Policy(Rego) Gatekeeper Manifests Application Manifests EKS Push

    Admission Webhook Update CRD (Konstraint) Sync Pull CI
  17. 検査(ポリシー)内容 38 • 前回発表時点 ◦ コンテナイメージ名チェック ▪ 特定の命名規則に則っているイメージ名のみ起動を許可 • 追加で

    ◦ cluster-admin Roleのチェック ▪ 意図したリソース以外に強い権限が割り当てられないか ◦ hostNetwork, hostPortの制限 ▪ 非推奨の機能が使われていないか
  18. やってみて 39 • 課題が解決 ◦ 悪意のあるコンテナがデプロイされる危険性がなくなった ▪ 今までもなかったけど、より安全に ◦ その他明確にダメなところを塞ぐことができた

    ▪ cluster-admin Role, hostNetwork, hostPort • 2重チェックしているので安心(感がある) ◦ 実際に検知されたパターンもあり、機能している • Regoがやはり難しい ◦ ちょっと間が空くと書き方から忘れる...
  19. 以前の「Chatwork」 Terraform事情 55 • 開発者主体でAWSリソースを作成できなかった ◦ AWSリソース作成は権限を持つSRE部が実施する必要あり • レビューおよび実行記録の保存がしんどい ◦

    SRE各個人のmacからterraform apply!→GitHubにぺたぺた • Terraformのバージョン管理がつらい ◦ みんなのバージョン一生揃わない(providerも)
  20. 紆余曲折 58 • HCP Terraform(Terraform Cloud) ◦ 第一候補だったが当時はIAMキー必須のためNG • GitHub

    Actions / Self-Hosted Runner ◦ 当時はプランの都合で選択できず...
  21. 新天地、Atlantis 59 • GitHub PR上でコメント駆動terraform applyできるOSS ◦ PRのコメントでplan、レビュー後apply、みたいな • Pros

    ◦ 要件はすべて満たす(PR運用、tfstate、IAMロール) • Cons ◦ 運用コスト(インフラ費、人件費)
  22. 導入してみて 65 • 開発者体験の向上 ◦ SRE部に依頼しなくてもAWSリソースが作れる • セキュリティの向上 ◦ 権限はAtlantisさんだけが持てばよい(Atlantisさんつよつよ問題はある)

    • ガバナンス(※)の向上 ◦ GitHubでplan見て、レビューしてもらって、applyできる ※ここでいうガバナンスが効いている状態とは、みんなが同じやり方・同じルール下でTerraform運用できる状態を指します
  23. 導入してみて 66 • 開発者体験の向上 ◦ SRE部に依頼しなくてもAWSリソースが作れる • セキュリティの向上 ◦ 権限はAtlantisさんだけが持てばよい(Atlantisさんつよつよ問題はある)

    • ガバナンス(※)の向上 ◦ GitHubでplan見て、レビューしてもらって、applyできる ※ここでいうガバナンスが効いている状態とは、みんなが同じやり方・同じルール下でTerraform運用できる状態を指します
  24. ここまでのまとめ 68 • 新天地、Atlantis ◦ Terraform運用のつらみ解消 • Terraform運用の開発者体験 / セキュリティ

    / ガバナンス向上に貢献 ◦ 誰でもapplyできて、セキュアで、記録が残る • Atlantisさんのお守りは考える必要アリ ◦ 良くも悪くもself-hosted ◦ 今だとHCP Terraformでも全然いいかもしれない