クラウドネイティブ時代に必要なコンテナセキュリティの考え方と対応策

 クラウドネイティブ時代に必要なコンテナセキュリティの考え方と対応策

2019年現在、AWSには、ECS、Fargate、EKSなどが東京リージョンでリリースされており、いつでも本番環境でコンテナを運用できる環境が整っています。
一方で、セキュリティ面に目を向けると、コンテナアプリケーションの対策手法はまだまだ確立されているとは言えません。アプリケーションの構築方法が従来とは異なるように、セキュリティ面でも、コンテナ独自の考え方が必要になります。とは言え、セキュリティを向上させたことで、コンテナの利点であるDevOpsスピードを損なってしまっては本末転倒です。
このセッションでは、クラウドネイティブなコンテナ環境ならではのセキュリティ対策の考え方を説明した後、DevOpsスピードを損なうことなくセキュリティ対策を実現するためのソリューション「Aqua Container Security Platform」を実際のデモを交えてご紹介いたします。

C47bda32c8455a59471cd7e19c32c074?s=128

濱田孝治

April 25, 2019
Tweet

Transcript

  1. クラウドネイティブ 時代に必要な コンテナセキュリティの 考え⽅と対応策

  2. スライドは後で⼊⼿することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター⾳が出ないようにご配慮ください Attention

  3. 3 #cmdevio2019sec

  4. 4 ⾃⼰紹介 濱⽥孝治(ハマコー) •2017年9⽉⼊社 •AWS事業本部コンサルティング部 •ECS、Fargate、EKS •hamako9999

  5. 5 ここ半年ほどの業務 • ECS(⾃社メディアサイトのマイクロサービス化) • ECS(⾃動⾞向けコネクテッドサービスのECS構 築) • ECS(Docker運⽤店舗向けサービスのマルチテ ナント→ECS化)

    • EKS(位置情報分析サービスのEKS化) • ECS(⾃社運⽤k8sからECSへの移⾏)
  6. 6 要は コンテナまみれ

  7. 7 みなさんコンテナワークロードを 本番運⽤されていますか︖

  8. 8 コンテナを導⼊されようとしている⽅は︖

  9. 9 今⽇持ち帰っていただきたい事 コンテナ運⽤における セキュリティの考え⽅ と Aqua Container Security

  10. 10 AGENDA • コンテナとは • コンテナ利⽤時のセキュリティ考慮点 • Aqua Container Security

    Platformとは︖ • Aqua Container Security デモ
  11. Photo by Fancycrave on Unsplash コンテナとは 11

  12. 12 コンテナ型仮想化技術とは Server Server Host OS 仮想化ソフトウェア Guest OS Guest

    OS App A App B App A App B ホストOS型仮想化 Host OS kernel Container A Container B コンテナ型仮想化 ハードウェアを演算により再現しGuest OSを作るためオーバーヘッドが⼤きい 仮想化ソフトウェアなしにOSのリソース を隔離し、仮想OSとする。これを、コン テナと呼ぶ。
  13. 13 コンテナ(Docker)の作り⽅ • Dockerfileを利⽤して、コンテナーの構成内容をまと めて記述する • シンプルなテキスト形式 • コマンドと引数を順番に並べて、docker image

    build により、Dockerイメージが⽣成される docker image build Dockerfile Docker image
  14. 14 コンテナ(Docker)のすごいところ インフラの構築からプロビジョニングから アプリケーションのインストールまで ⼀つのテキストファイルで記述できる

  15. 15 Dockerfileのすごいところ EC2 コンテナ インフラの構築 • CloudFormation • Terraform Dockerfile

    プロビジョニング • EC2のUser Data • Ansible アプリケーション デプロイ • CodeDeploy
  16. 16 コンテナを使うメリット アプリケーション開発において 必ずおさえておくべきは 3つ

  17. 17 コンテナを使うメリット 複数の環境でつかいやすい 頻繁に変更しやすい 増えたり減ったりさせやすい

  18. 18 コンテナを使うメリット 複数の環境でつかいやすい 頻繁に変更しやすい 増えたり減ったりさせやすい DBは別にして、開発〜検証〜本番で同じイメージを使う どんどん機能追加をしていきたい 負荷に応じて弾⼒的に数を変えたい

  19. Photo by Fancycrave on Unsplash コンテナ利⽤時の セキュリティ考慮点 19

  20. 20 ここで改めて考える コンテナの場合 セキュリティの考慮点が 従来のままでよいのか︖

  21. 21 セキュリティ上の考慮点 ①コンテナがカバーする対象範囲の⼤きさ ②ホストインスタンスが無い コンテナ実⾏環境の普及

  22. 22 セキュリティ上の考慮点 ①コンテナがカバーする対象範囲の⼤きさ

  23. EC2 コンテナ インフラの構築 • CloudFormation • Terraform Dockerfile プロビジョニング •

    EC2のUser Data • Ansible アプリケーション デプロイ • CodeDeploy 23 Dockerfileのすごいところ(再掲)
  24. 24 ⼀体どのタイミングで何を保護するのか︖ docker image build Dockerfile Docker image docker container

    run Docker Container End User 変更のたびに全てを⾼速に繰り返す
  25. 25 セキュリティ上の考慮点 ②ホストインスタンスが無い コンテナ実⾏環境の普及

  26. 26 AWSにおける代表的なコンテナ実⾏環境

  27. 27 AWS Fargateとは • サーバーを管理することなくコンテナを実⾏可能 • 仮想マシンのクラスターのプロビジョニングが不要 →コンソールからEC2が全く⾒えない

  28. 28 セキュリティ上の考慮点 コンテナの特性を活かすと 今までとは違うセキュリティの考え⽅が 必要になってくる

  29. 具体策として⼀つ ご提案 29