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

コンテナ時代のセキュリティとは

hiroki-arai
November 15, 2018

 コンテナ時代のセキュリティとは

2018/11/15@マジセミの登壇資料です。
コンテナセキュリティについて、Aqua Security をご紹介してきました。
この日のマジセミはコンテナに関するイベントでDocker や Kuberntes 、AKS, ECS, GKEについてのセッションがありました。

hiroki-arai

November 15, 2018
Tweet

More Decks by hiroki-arai

Other Decks in Technology

Transcript

  1. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved コンテナ時代のセキュリティとは ~Aqua Security

    を活用したDevSecOpsの取り組み~ 2018年11月15日 クリエーションライン株式会社 DevOps Team Manager 荒井 裕貴
  2. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved クリエーションライン株式会社 会社紹介 •

    Docker • Aqua Security • Kubernetes • DevOps • Chef • GitLab 働き方改革 • 文化形成 • フレックス勤務 • フリーアドレス • リモートワーク • 服装自由 2
  3. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved DevOps・コンテナ開発・セキュリティ 顧客ニーズの変化に素早く対応する ためのDevOpsサイクル

    コンテナ技術に応じたセキュリティ リスクも考える必要あり 4 開発 テスト 出荷 インフラ ホストOS Docker Engine Bin/Lib App1 Bin/Lib App2 Bin/Lib App3 コンテナ1 コンテナ2 コンテナ3
  4. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 開発スピードとセキュリティリスクの相関 5 従来:スピードと安全性は反比例

    今後:スピードと安全性を両立する方法論が必要 開発スピード 安全性 低い 高い 速い 遅い 今後
  5. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved コンテナのアーキテクチャ 6 ・コンテナは従来の仮想化よりセキュア

    ・イメージ脆弱性のリスクが孕んでいる インフラ ホストOS Docker Engine Bin/Lib App1 Bin/Lib App2 Bin/Lib App3 コンテナ1 コンテナ2 コンテナ3 Docker Hub Private Registry 脆弱性 イメージ
  6. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved コンテナのライフサイクル 8 脆弱性のあるイメージをそのままコンテナにすると、運用時のリカバリーコス

    トが莫大にかかってしまうと共に、多数の手戻りが発生する コンテナ運用する前に、開発者がセキュリティに関してケアする必要あり (この考えを“シフトレフト”と呼ぶ) 脆弱性や、マルウェアが含まれているイメージ Hard-Coded Secrets Malware Known CVEs OSS Licenses Unapproved Base Images Build Ship Run コンテナのライフサイクル
  7. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 開発初期からワークフローにセキュリティ対応を組み込む方法 10 導入し易さ

    導入コスト 運用コスト 自社で作成 △ × △ OSSツール組み合わせ ◦ △ △ 既存ツール ◎ △ ◦
  8. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved Aqua Securityのフルライフサイクルのセキュリティイメージ 12

    コンテナのライフサイクル “シフトレフト” 開発チームへの コントロール移譲 脆弱性のスキャン 承認されたイメージ のみ許可 デプロイメントの コントロール シークレット管理 未知の脆弱性や 攻撃から コンテナを守る コントロールの移譲 → インシデントの削減 → コンプライアンスの実現
  9. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 13 Center Aqua

    Command Center Container Aqua Cyber Intelligence Public Registry Private Registry CI/CD SIEM / Analytics Aqua Gateway Container Aqua Gateway Container Linux/Windows OS Aqua Enforcer Container Container Container Container Engine Group of Hosts (例: Development) KaaS / CaaS / Serverless Micro Enforcer Container Micro Enforcer Container Micro Enforcer Container Aqua Security コンポーネント構成
  10. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved Aqua Securityの3つのアプローチ 14

    DevSecOps の自動化 コンテナ全般への 次世代のセキュリティ 一度の導入で、あらゆる プラットフォームに対応 ▪ CI/CD パイプライン全体を 守る ▪ セキュリティの”シフトレフト”、 問題は早い段階で発見、 対処 ▪ セキュリティの自動化でアプリ のデリバリを早める ▪ 不変性の維持 ▪ ホワイトリストによる制御、異 常な挙動を検知 ▪ マイクロサービスレベルのファイ アウォールによるアクセス制御 ▪ 状況の可視化とコンプライア ンス対応 ▪ プラットホーム、クラウド、OS に関わらずアプリを守る ▪ ハイブリッドクラウドやク ラウド移行が可能 ▪ クラウドロックインを防止
  11. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 15 課題: DevOpsの速度を損なうことなく、安全なソフトウェア供給チェーンを実現

    脆弱性や、マルウェアが含まれているイメージ 権限の悪用 Hard-Coded Secrets Malware Known CVEs OSS Licenses Unapproved Base Images Build Ship Run 開発→本番の整合性 (イメージの保全) DevSecOpsの自動化: パイプラインのセキュリティ (課題)
  12. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 16 DevSecOpsの自動化: パイプラインのセキュリティ

    (解決策) Aquaのソリューション: ”シフトレフト” → セキュリティチェックの自動化とイメージの検知を開発初期段階で実施 脆弱性、マルウェア、OSS、 シークレット、 ベースイメージポリシーの スキャン 及びコンフィグチェック 新たなCVE(脆弱性)の 定期的なスキャン、 コンプライアンスチェックの カスタマイズ 承認されていない イメージのブロック、 イメージリスクポリシー の強制 Hard-Coded Secrets Malware Known CVEs OSS Licenses Unapproved Base Images Build Ship Run イメージの暗号化ハッ シュを生成 イメージの追跡で 一貫性を保証
  13. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 17 課題: 大規模なデプロイ環境への侵入、攻撃を未然に防止

    Attacker Host 1 Host 2 Authenticated User 1 2 3 4 5 6 1. リソースを浪費する不正コンテナ 2. 不正コード注入 3. 不適切な権限による内部の不正操作 4. 不法なデータ漏洩 5. 外部の攻撃者によるネットワーク資源 取得 6. 未知の攻撃(ゼロデイ攻撃) コンテナ全般への次世代のセキュリティ (課題)
  14. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 1. リソースを浪費する不正コンテナ 2.

    不正コード注入 3. 不適切な権限による内部の不正操作 4. 不法なデータ漏洩 5. 外部の攻撃者によるネットワーク資源 取得 6. 未知の攻撃(ゼロデイ攻撃) 18 コンテナ全般への次世代のセキュリティ (解決策) Aquaのソリューション: 手動または機械学習したデータを用いて、 必要最低限の権限と機能のみを提供し、イメージの不変性を維持 承認されていないイメージをブロック イメージ改変を防止(=イミュ―タブル) 必要最低限の権限 シークレット管理:未承認のネットワーク接続をブロック コンテナファイアウォールで許可されないネットワーク接 続を阻止 機械学習とホワイトリスト化により、コンテナのアクション (実行環境、処理内容、ファイル、ボリューム、リソース 等)を限定
  15. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 19 あらゆる環境でアプリを守る Aquaのソリューション:

    一度の導入であらゆるプラットフォームに対応 セキュリティはアプリと共にインフラを移動 ◼ LinuxとWindowsコンテナ ◼ あらゆるオーケストレータ: Kubernetes、OpenShift、DC/OS、 Docker Swarm ◼ クラウドでもオンプレでも: AWS、Azure、GCP、IBM Cloud、VM環境 ◼ CaaS: AWS Fargate、Azure ACI ◼ マルチテナント管理 アプリ #1 アプリ #2
  16. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 21 No. 機能

    説明 1 イメージスキャン イメージ内に含まれる、既知の脆弱性(CVE)やマルウェア、ハードコー ディングされたシークレットなど、セキュリティ上のリスクを検知します。 2 イメージポリシー イメージスキャン結果を元に、イメージからのコンテナ実行の許可/不許 可などをポリシー定義できます。 3 ランタイムポリシー 実行中のコンテナを監視し、ポリシーにしたがってコンテナの動作を制御/ 制限します。また機械学習によりポリシーを生成することも可能です。 4 コンテナファイアウォール コンテナのネットワーク接続を視覚化、また、コンテナ単位で接続の許可/ 拒否をルール設定できます。 5 シークレット管理 コンテナに対して、セキュアな方法でパスワードやSSHキーなどのシーク レットをデリバリできます。 6 CI/CDツール統合 多くのCI/CDツールと統合が可能で、開発者がビルド時にイメージスキャ ンすることが可能になります。これにより、初期段階でのリスクの修正が可 能となります。 7 コンプライアンス対応 リスクを一覧化し、対応方法などを含む詳細レポートを生成します。また、 イメージやコンテナで発生した各種セキュリティイベントも収集されます。 Aqua Security 主な機能
  17. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 1. イメージスキャン 23

    イメージのスキャンによりCVE(脆弱性)が含まれることが警告
  18. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 2. イメージポリシー 25

    イメージにリスクが含まれている場合のアクションが指定可能
  19. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 3. ランタイムポリシー 27

    実行コマンドのブラックリストが定義されている場合は、コンテナ内で当該コマンドの実行を制限
  20. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 5.Secrets (シークレット管理) 30

    Aqua Security管理画面でシークレットの設定が可能
  21. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 6.CI/CD Integration (CI/CDツール統合)

    31 多くのCI/CDツールのプラグインが提供されており、統合することが可能
  22. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 7.Compliance (コンプライアンス対応) 32

    リスクを一覧化し、対応方法などを含む詳細レポートを生成
  23. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 34 まとめ Security

    開発 テスト 出荷 ・コンテナ時代のセキュリティ ・コンテナセキュリティのキーポイント DevSecOps
  24. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 37 No. 機能

    説明 A User Access Control (ユーザアクセス制御) ユーザー権限をグループ単位で管理し、役割の分離/制限ができます。(開 発チームはイメージスキャンやデプロイのみ可能にするなど) B Aqua Enforcer ホスト上のコンテナとして実行され、Aquaサーバと連携して他のコンテナ動作 の監視やイメージの保証やイベント情報の送信などを行います。 C Aqua MicroEnforcer Azure Container InstancesやAWS Fargateなど、ホストが無い CaaS環境では、Enforcerに代わってMicro Enforcerが利用できます。 D REST API 提供されるREST APIを利用して、Aquaサーバに対して、コマンドラインや 別のアプリケーションから処理を実行することができます。 E Registry Integration (レジストリ統合) 全ての公開レジストリと統合し、継続的にスキャンを行います。新たに発見さ れた脆弱性がリスクとならないよう、既に承認されているイメージもスキャンし ます。 F Aqua Cyber Intelligence NVDやベンダー・アドバイザリーなど複数のソースが集約されており、イメー ジスキャンなどのAquaの機能に対して、常に最新の情報を提供します。 G LDAP/AD Active DirectoryやLDAPと統合が可能で、簡潔な権限設定や、シング ルサインオン用のSAMLをサポートします。 H Secrets Vaults (シークレット保管) シークレット管理で管理されるシークレットは、Azure Vault、AWS KMS などのシークレット管理サービスとの統合が可能です。 I Collaboration (コラボレーション) SlackやJiraなどのツールと統合が可能で、開発/セキュリティチーム間のコ ラボレーション(脆弱性データの受け渡しやアラート発行など)が容易にできま す。 J SIEM 数多くのコネクターを提供されているため、SplunkやArcSightなどの SIEMまたは解析ツールに監査イベントを送信することができます。 【参考】Aqua Security その他の機能