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 荒井 裕貴

    View Slide

  2. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    クリエーションライン株式会社
    会社紹介
    • Docker
    • Aqua Security
    • Kubernetes
    • DevOps
    • Chef
    • GitLab
    働き方改革
    • 文化形成
    • フレックス勤務
    • フリーアドレス
    • リモートワーク
    • 服装自由
    2

    View Slide

  3. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    ・コンテナ時代のセキュリティ
    ・コンテナセキュリティのキーポイント
    3
    本日お話すること

    View Slide

  4. 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

    View Slide

  5. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    開発スピードとセキュリティリスクの相関
    5
    従来:スピードと安全性は反比例
    今後:スピードと安全性を両立する方法論が必要
    開発スピード
    安全性
    低い 高い
    速い
    遅い
    今後

    View Slide

  6. 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
    脆弱性
    イメージ

    View Slide

  7. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    OSSイメージに含まれる既知の脆弱性
    7
    Docker HubなどOSSのイメージには既知の脆弱性が含まれている

    View Slide

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

    View Slide

  9. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    DevSecOps
    9
    DevOps開発のワークフローにセキュリティ対応を組み込むことを
    DevOps + Security = DevSecOps と呼ぶ
    Security
    開発
    テスト
    出荷

    View Slide

  10. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    開発初期からワークフローにセキュリティ対応を組み込む方法
    10
    導入し易さ 導入コスト 運用コスト
    自社で作成 △ × △
    OSSツール組み合わせ ○ △ △
    既存ツール ◎ △ ○

    View Slide

  11. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 11

    View Slide

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

    View Slide

  13. 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 コンポーネント構成

    View Slide

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

    View Slide

  15. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 15
    課題: DevOpsの速度を損なうことなく、安全なソフトウェア供給チェーンを実現
    脆弱性や、マルウェアが含まれているイメージ
    権限の悪用
    Hard-Coded
    Secrets
    Malware
    Known
    CVEs
    OSS Licenses
    Unapproved
    Base Images
    Build Ship Run
    開発→本番の整合性
    (イメージの保全)
    DevSecOpsの自動化: パイプラインのセキュリティ (課題)

    View Slide

  16. 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
    イメージの暗号化ハッ
    シュを生成
    イメージの追跡で
    一貫性を保証

    View Slide

  17. 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. 未知の攻撃(ゼロデイ攻撃)
    コンテナ全般への次世代のセキュリティ (課題)

    View Slide

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

    View Slide

  19. 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

    View Slide

  20. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    ここからはAquaSecurityの画面で機能をご紹介
    20

    View Slide

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

    View Slide

  22. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    0. ダッシュボード
    22
    ダッシュボードには各種サマリが表示

    View Slide

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

    View Slide

  24. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 24
    イメージのスキャンにより機密データが含まれることが警告
    1. イメージスキャン

    View Slide

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

    View Slide

  26. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 26
    リスクの種別やレベルなどにより、有効/無効にするなどのポリシー定義が可能
    2. イメージポリシー

    View Slide

  27. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    3. ランタイムポリシー
    27
    実行コマンドのブラックリストが定義されている場合は、コンテナ内で当該コマンドの実行を制限

    View Slide

  28. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 28
    機械学習によりイメージをプロファイリングし、当該イメージで実行許可されるコマン
    ドやログイン可能ユーザなど自動でポリシー定義が生成
    3. ランタイムポリシー

    View Slide

  29. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    4.コンテナファイアウォール
    29
    コンテナのネットワーク接続を視覚化。
    またコンテナ単位で接続の拒否/許可のルール設定が可能

    View Slide

  30. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    5.Secrets (シークレット管理)
    30
    Aqua Security管理画面でシークレットの設定が可能

    View Slide

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

    View Slide

  32. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    7.Compliance (コンプライアンス対応)
    32
    リスクを一覧化し、対応方法などを含む詳細レポートを生成

    View Slide

  33. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 33
    イメージやコンテナで発生した、各種のセキュリティイベントが収集
    7.Compliance (コンプライアンス対応)

    View Slide

  34. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved 34
    まとめ
    Security
    開発
    テスト
    出荷
    ・コンテナ時代のセキュリティ
    ・コンテナセキュリティのキーポイント
    DevSecOps

    View Slide

  35. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    ご清聴ありがとうございました

    View Slide

  36. Copyright ⓒ2018 CREATIONLINE, INC. All Rights Reserved
    参考資料
    36

    View Slide

  37. 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 その他の機能

    View Slide