Slide 1

Slide 1 text

コンテナのセキュリティって どうなってるの? OSC2019 KYOTO(8/3) LT みやざき さとる

Slide 2

Slide 2 text

言うなれば運命共同体 • コンテナ=アプリケーションコンテナとする • いわゆる、Docker、Kubernetes を想定している • cgroupとLinux Usernamespaceでリソースを分離 • コンテナはカーネルを持たない • 必要なアプリケーションとライブラリ、 パッケージを含む

Slide 3

Slide 3 text

nodeA node間 接続 TLS VxLAN 互いに頼り、互いに庇い合い、互いに助け合う • ノード内のコンテナ同士の通信は プライベートなブリッジ • ノード間通信は、Docker Swarmでは TLS化されている • Kubernetesでは、ノード通信を VxLAN経由で行われTLS化されている • コンテナ外からは限定された ポートのみ接続 nodeB front Container Container Container Container Container Container

Slide 4

Slide 4 text

node OS/カーネル 一人が五人のために、五人が一人のために • すべてを非特権ユーザーで動作させる • ホスト側でコンテナデーモン動作 • コンテナ側でアプリケーション動作 • よりセキュアにプロセスを動作させる コンテナデーモン 非特権ユーザ アプリケーション 非特権ユーザ アプリケーション 非特権ユーザ コンテナ

Slide 5

Slide 5 text

だからこそ戦場で生きられる • コンテナはイメージで配布 • イメージはレイヤ構造 • イメージ作成時に脆弱性スキャンが可能 • Wazuh • Vuls • Gitlab(Clair) • trivy • etc… Container Application Layer Middleware Layer Base OS Layer

Slide 6

Slide 6 text

分隊は家族、分隊は兄弟 • コンテナ内に余計なものがない • ネットワークは分離・暗号化されている • コンテナ及びアプリケーションを 非特権ユーザで動作 • コンテナイメージは脆弱性スキャンしている • だからコンテナはセキュア?

Slide 7

Slide 7 text

嘘を言うな!

Slide 8

Slide 8 text

猜疑に歪んだ暗い瞳がせせら笑う • 日々、脆弱性は発見される • ベースOS/ライブラリ/アプリケーション/ パッケージ(pip/gem/npm…)の更新 • ゼロデイ攻撃、マルウェアによる被害 • 長期稼働時での意図しない動作

Slide 9

Slide 9 text

無能、怯懦、虚偽、杜撰 • 定期的に実施 • アプリケーションの動作確認 • イメージの更新 • イメージの脆弱性確認 • 不正な動作を検知

Slide 10

Slide 10 text

どれ一つ取っても戦場では命取りとなる。 • 定期的に脆弱性スキャンを行わないと 実サービスに影響が発生 • コンテナのランタイム検知を行うOSSは少ない Wazuh、falcoなどなど • 不正なファイル更新 • 不正な動作 • 不正な通信 • 脆弱性の検知

Slide 11

Slide 11 text

それらを纏めて無謀で括る • 事前にセキュリティ計画を立てる • イメージの更新タイミング • コンテナの寿命 • コンテナデプロイの容易さ • 外側からのアプリケーション動作の確認 • 不正通信の検知 • etc…

Slide 12

Slide 12 text

誰が仕組んだ地獄やら、兄弟家族が嗤わせる • 定期的に以下の処理実行する仕組みが必要 • イメージ再作成 • イメージ検査 • アプリケーション動作確認 • デプロイ • コンテナの寿命を短くする • すべてを手動で行うとツライので、 ある程度は自動化

Slide 13

Slide 13 text

お前も、お前も、お前も • 一貫した開発・セキュリティ・運用が必要 • Development • どの言語、ライブラリで作成するか • アプリケーションの静的解析 • 脆弱性に対するアプリケーション確認 • Security • セキュリティ基準の策定 • DevとOpsに対するセキュリティ対策支援 • Operations • イメージアップデート、コンテナデプロイ • 監視

Slide 14

Slide 14 text

だからこそ、俺のために死ね! • セキュリティ施策が立てられないなら お金の力で解決する! • セキュリティに強い人を雇う • コンテナセキュリティ製品の導入 • AQUA Cloudnaitive Security Platform • NeuVector • sysdig platform/monitor/secure • Tufin Iris/Orca • twistlock • etc…

Slide 15

Slide 15 text

我々は何のために集められたのか 次回「未定」