🎃

JAWS-UG コンテナ支部 × JAWS-UG 千葉支部 #1 今知りたいコンテナセキュリティ 参加レポート

2023/10/17に公開

2023年10月16日開催 JAWS-UG コンテナ支部 × JAWS-UG 千葉支部 #1 今知りたいコンテナセキュリティ に現地参加しました。
所感をしたためます。

コンテナ × セキュリティ × AWS

スリーシェイク 水元 様

所感

コンテナセキュリティは難しいのか?従来と違うのか?
これが印象に残りました。コンテナセキュリティと聞くと少し構えてしまう、または、より難しいものとして捉えてしまうことがあると思います。
ただ、コンテナ固有の対策を想像よりも多くはなく、従来のセキュリティ対策をしっかりと確実に実装していくことが肝要だと感じました。

Dockerfile はアプリ開発者が作ることがほとんどで、開発者からするとコンテナセキュリティはあまり馴染みが無いので難しいと思われてしまうという話があり、
やはりインフラ側の人間としては開発体験を損なわない形でセキュリティを実装しなければならないと感じました。
NIST SP 800-190 Application Container Security Guide はコンテナセキュリティに関して網羅的に書かれている文書のようなので、一度読んで理解したいと思います。

アプリケーションエンジニアのための、コンテナセキュリティの全体像

AWS Ryota Yamada 様

所感

NIST SP 800-190 Application Container Security Guide を基に AWS サービスや OSS ツールを使った実装について解説いただきました。
後半部分はアプリケーションエンジニアがやっておくべき対策方法が書かれています。アプリケーションエンジニアに関わらずプロダクト関係者全員が意識しておく内容です。
VM の頃はアンチウイルスを常駐させていたことが多かったと個人的に思いますが、コンテナセキュリティはその考え方ではなく実行環境で動作させる前、
コードの段階で一定の対策が必要になります。AWS サービスを活用してどう対策するのか詳しく解説している資料です。

ECS on Fargate のセキュリティ対策は何をやるべき? 開発者目線で考える

クラスメソッド 佐藤 様

所感

登壇が終わったあとに「内容が重複してつらくなかった?」と聞いてみたところやっぱり辛かったようです笑。
それでも、理想と現実のギャップ 〜 NIST SP 800-190 の解説 〜 何から始めたらいいか、の流れは流石だと思いました。
Fargate が PID namespace 共有と sysctl をサポートしたのは大きなアップデートです。セキュリティ観点でやむなく ECS on EC2 を選択していたエンジニアも ECS on Fargate を使うチャンスが出てきそうです。

LT1 コンテナセキュリティ対応でSnykを導入中に発生した・発生中のいろんなこと

千葉支部運営 山口 様

所感

実践的な気付きが多い LT でした。
開発パイプラインのどこでセキュリティ対策するか → 全部。

  • 開発者の手元でスキャン
  • PR作成時にスキャン
  • ビルド成果物スキャン
  • レジストリでスキャン
  • マニフェストファイルをスキャン
  • ランタイムスキャン

コンテナセキュリティ対応が無い現場にセキュリティを導入する際の苦労とコツの解説は深いものがありました。
拒絶反応が起きないように少しずつ対応することの大切さ、そして、対応するのは人間であるので調整や準備を普段からしておくよう気をつけます。

LT2 Lizさんに届け!AWS Jr.ChampionとTop Engineerが書籍コンテナセキュリティを読んで感じたこと

DWS 廣原 様
DWS 佐藤 様

LT3:FargateのPID namespace sharingを試してみた

釜田康平 様

LT4:AWS CDKでコンテナイメージスキャンを行う〜ECRとその他の方法〜

k.goto 様

togetter

当日の盛り上がりは togetter で確認ください。

JAWS-UG コンテナ支部 × JAWS-UG 千葉支部 #1 今知りたいコンテナセキュリティ

NIST SP 800-190 Application Container Security Guideを読んで

良い機会なので NIST SP 800-190 Application Container Security Guide を読んでサマってみます。

大項目の推奨事項は以下です。

  • コンテナによって可能となったアプリケーションを開発、実行、サポートする新しい手段を後押しするために、組織の運用文化と技術的プロセスを調整する
  • アタックサーフェスを減らすために、汎用ホスト OS ではなく、コンテナ専用ホスト OS を使用する
  • 単一のホスト OS カーネル上で、同じ目的、機微性および脅威に対する態勢を持つグループコンテナのみを使用し、更なる多層防御を可能とする
  • コンテナ専用の脆弱性管理ツールとイメージのプロセスを採用し、侵害を防ぐ
  • トラステッドコンピューティングの基盤を提供するために、ハードウェアによる対策を検討する
  • コンテナに対応したランタイム防御ツールを使用する

2節は、アプリケーションコンテナの概要です。
コンテナセキュリティを知る上でコンテナの知識は必須です。概念から技術的な面、用途まで書かれています。
2節の内容を理解しておかないと先に進むのが難しくなりそうです。

3節は、主なリスクについてです。
どこのどのようなリスクが潜んでいるのか、イメージ・レジストリ・オーケストレーター・コンテナ・ホスト OS の5つの切り口で書かれています。
登壇者の方々のスライドでも紹介されています。
従来のセキュリティ対策を基本としつつ、コンテナの場合はどこに気を付けるべきか理解できる内容でした。

4節は、リスクに対する対策です。
細かく書いてあります。ここに書かれていることを愚直に実施するとかなりセキュアな環境ができそうです。
AWS 上ではどうしたら良いかは登壇者の方々のスライドにあります。ご覧ください。

5節は脅威シナリオです。
3節、4節をふまえて脅威を例示しています。

6節は、コンテナ技術のライフサイクルにおけるセキュリティに関する考慮事項です。
私が好きなパートです。計画や準備の重要性を説いていて、強固なセキュリティを実装するためには技術要素だけはないことが理解できます。

参考

NIST SP 800-190 Application Container Security Guide
NIST Special Publication 800-190 アプリケーションコンテナセキュリティガイド

Discussion