Slide 1

Slide 1 text

コンテナに詳しくないのにレビューアになっ てしまったので観点と方法を整理したい 2024/03/13 JAWS-UG名古屋 Takaki@frommiddle1 1

Slide 2

Slide 2 text

#nakanoshima_dev Takaki@frommiddle1 ・JAWS-UG名古屋 ・愛知在住、大阪勤(JTC) #今日も名古屋から来ました優しくしてください ・好きなAWSサービス AWS Lambda 高木 建太朗 @frommiddle1 2/19

Slide 3

Slide 3 text

ある日のこと #nakanoshima_dev 我々も新技術、 コンテナ(ECS)を 利用したいです あ゛ぁー、コンテナOKです (何冊か本読んだりハンズオン してるから勘所わかるやろ…) サービス 開発チーム 何故かレビューアー に指定されている私 3/19

Slide 4

Slide 4 text

ある日のこと #nakanoshima_dev 我々も新技術、 コンテナ(ECS)を 利用したいです サービス 開発チーム 過去のインプットが すべておぼろげな私 コンテナわからん 助けて 自分の業務で触っていないので、 知識の深みと定着がない… 4/19

Slide 5

Slide 5 text

何かないのかと探していると… #nakanoshima_dev nakanoshima.dev 最高じゃねーか 5/19

Slide 6

Slide 6 text

今回のやりたいこと • AWSでコンテナを使う際のセキュリティの学習を行う • 上記の学習結果を発表して、有識者に叩いてもらう • 叩いてもらった結果を自社に持ち帰って、ルール化する 皆さんへのお願い • マサカリwellcomeです。たとえば… • 参照すべき文書やWebページがある • セキュリティ対策の技術選定に追加が必要 • 実施予定のセキュリティ対策は運用上無理がある #nakanoshima_dev 6/19

Slide 7

Slide 7 text

学習起点の説明 • Well-Architectedフレームワークは前提にある ものとして検討を進める #Observabilityなどの運用までの概念を広く対象にすると収集が 付かなくなりそう • この本の 3-5 セキュリティ設計を中心とする 前に読んでとても内容がよかったことだけ 覚えている。 7/19

Slide 8

Slide 8 text

我々は何を意識しなくてはいけないのか 観点1.コンテナ技術に関して一般的に留意すべきプラクティス → NIST SP800-190 観点2.AWSアーキテクチャにおけるセキュリティ → ECS(ECR)を採択した際の責任共有モデルで負うべき責務 観点1と2のANDがユーザが意識しなくてはいけないセキュリティ 8/19

Slide 9

Slide 9 text

我々は何を意識しなくてはいけないのか 観点1.コンテナ技術に関して一般的に留意すべきプラクティス → NIST SP800-190 観点2.AWSアーキテクチャにおけるセキュリティ → ECS(ECR)を採択した際の責任共有モデルで負うべき責務 観点1と2のANDがユーザが意識しなくてはいけないセキュリティ ここに追加したほうがよい何かがあれば教えてもらいたいです。 Ex. AWS Well-Architected Framework Container Build Lens など 9/19

Slide 10

Slide 10 text

NIST SP800-190 • 米国国立標準技術研究所(NIST)が2017年9月に発行したコンテナの セキュリティガイドライン • IPAさんが和訳を公開してくれている。 • 3章に主なリスクが22項目列挙されている。(後述します) 同ガイドはシステムおよびセキュリティ管理者やアプリ開発者など向けに、仮想化技術の一つであ る「コンテナ」に関するセキュリティ上のリスクと対策についてまとめ、要件を提示しています。 コンテナの技術および環境を導入する際のセキュリティ確保に向けた指針となります。 Ref https://www.newton-consulting.co.jp/itilnavi/flash/id=4925 10/19

Slide 11

Slide 11 text

ECS(ECR)を採択した際の責任共有モデルで負うべき責務 • ECSではホストOS、コントロールプレーン、基礎的な通信保護はユーザ側 で意識しなくてよい。 Ref https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/bestpracticesguide/security-shared.html 11/19

Slide 12

Slide 12 text

NIST SP800-190 NIST SP800-190項目※1 設計時の考慮 対策 イメージの脆弱性 コンテナ CI/CD + Trivy ECR拡張スキャン(Inspector) イメージの設定の不備 コンテナ、ECSタスク Dockle 埋め込まれたマルウェア コンテナ ベースイメージの選定(予防) GuardDury(検出) 埋め込まれた平文の秘密情報 アプリケーション、コンテナ SSMパラメータストア SecretManager 信頼できないイメージの使用 コンテナ ECRとDCTの利用 レジストリ内の古いイメージ レジストリ(ECR) ECRライフサイクルポリシー 認証・許可の不十分な制限 IAM パブリックリポジトリの禁止※2 リソースベースポリシーの活用 制限のない管理者アクセス IAM 開発者IAMの最適化 コンテナ間NWトラフィックの不十分な分離 ネットワーク設定 EC2のNW設計のノウハウ適用 (ipの枯渇にだけ注意) コンテナからの無制限のNWアクセス ネットワーク設定 アプリケーションの脆弱性 アプリケーション WAF(境界) Amazon CodeGuru 未承認コンテナ コンテナ CI/CD + 開発ステージの分離 ※1ユーザの責務範囲に該当する項目のみ抽出 12/19

Slide 13

Slide 13 text

ECS利用時のNIST SP800-190 NIST SP800-190項目※1 設計時の考慮 対策 イメージの脆弱性 コンテナ CI/CD + Trivy ECR拡張スキャン(Inspector) イメージの設定の不備 コンテナ、ECSタスク Dockle 埋め込まれたマルウェア コンテナ ベースイメージの選定(予防) GuardDury(検出) 埋め込まれた平文の秘密情報 アプリケーション、コンテナ SSMパラメータストア SecretManager 信頼できないイメージの使用 コンテナ ECRとDCTの利用 レジストリ内の古いイメージ レジストリ(ECR) ECRライフサイクルポリシー 認証・許可の不十分な制限 IAM パブリックリポジトリの禁止※2 リソースベースポリシーの活用 制限のない管理者アクセス IAM 開発者IAMの最適化 コンテナ間NWトラフィックの不十分な分離 ネットワーク設定 EC2のNW設計のノウハウ適用 (ipの枯渇にだけ注意) コンテナからの無制限のNWアクセス ネットワーク設定 アプリケーションの脆弱性 アプリケーション WAF(境界) Amazon CodeGuru 未承認コンテナ コンテナ CI/CD + 開発ステージの分離 ※1ユーザの責務範囲に該当する項目のみ抽出 ここに追加すべき技術、 キーワードがあれば教え てほしいです。 13/19

Slide 14

Slide 14 text

NIST SP800-190項目※1 設計時の考慮 対策 イメージの脆弱性 コンテナ CI/CD + Trivy ECR拡張スキャン(Inspector) イメージの設定の不備 コンテナ、ECSタスク Dockle 埋め込まれたマルウェア コンテナ ベースイメージの選定(予防) GuardDury(検出) 埋め込まれた平文の秘密情報 アプリケーション、コンテナ SSMパラメータストア SecretManager 信頼できないイメージの使用 コンテナ ECRとDCTの利用 レジストリ内の古いイメージ レジストリ(ECR) ECRライフサイクルポリシー 認証・許可の不十分な制限 IAM パブリックリポジトリの禁止※2 リソースベースポリシーの活用 制限のない管理者アクセス IAM 開発者IAMの最適化 コンテナ間NWトラフィックの不十分な分離 ネットワーク設定 EC2のNW設計のノウハウ適用 (ipの枯渇にだけ注意) コンテナからの無制限のNWアクセス ネットワーク設定 アプリケーションの脆弱性 アプリケーション WAF(境界),セキュアコーディング Amazon CodeGuru 未承認コンテナ コンテナ CI/CD + 開発ステージの分離 ECS利用時のNIST SP800-190 ※1ユーザの責務範囲に該当する項目のみ抽出 これらは書籍で言及がなされ ておらず勝手に追加。 (Inspector適用は発刊後に 発表された) 14/19

Slide 15

Slide 15 text

ECR拡張スキャンを試してみる 15/19

Slide 16

Slide 16 text

ECR拡張スキャンを試してみる デフォルトでPush時 だけでなく継続 スキャンしてくれる ので楽 16/19

Slide 17

Slide 17 text

ECR拡張スキャンを試してみる • 適当なリポジトリをスキャンした結果 17/19

Slide 18

Slide 18 text

ECR拡張スキャンの料金(@東京) 1 か月あたりの Amazon ECR へのプッシュ時に最初にスキャンさ れたコンテナイメージの数 → イメージごとに 0.11USD 1 か月あたりの連続スキャン用に設定された Amazon ECR のコン テナイメージの自動再スキャンの数 → リスキャンごとに 0.01USD 18/19

Slide 19

Slide 19 text

まとめ • 参考となる書籍を起点にコンテナに関するセキュリティの観点 をまとめた • 当該観点に対する技術要素をまとめた • 技術要素のなかから、書籍では紹介されていない機能(拡張ス キャン)を試してみた。レベル分けされた状態でサマリを把握 しつつ、どのCVEに対応する脆弱性かも素早く知ることができ た。 19/19