Skip to main content

コンテナをソースからランタイムまで保護する8つのヒント

著者

Sarah Conway

hero snyk sysdig

2022年8月24日

0 分で読めます

本日、パートナーのSysdigと共同で作成したコンテナセキュリティのチートシートとレポートを公開しました。

「ソースから実行時までコンテナを保護する8つのベストプラクティス」と題したチートシート。8つのセキュリティ対策の項目と、SnykおよびSysdigのロゴが掲載されています。

チートシートをダウンロード

この記事では、次の3つの基本原則に焦点を当て、コンテナセキュリティの課題を乗り越えるためのヒントをご紹介します。

  • 最初からセキュアに構築する

  • ランタイムの脅威から保護する

  • 重要なセキュリティアラートを優先する

従来のセキュリティ対策では、コンテナの分散性と一時性に対応できません。セキュアなコード、ランタイムスキャン、脅威の優先順位付けに重点を置く新たなアプローチが登場しています。この最新のコンテナセキュリティを実践するための8つのベストプラクティスをご紹介します。

1. コードのセキュリティ

開発者が最も自由に制御できるのはソースコードであるため、アプリケーションセキュリティは開発の現場から始めるべきです。開発の早い段階で問題を検出し、継続的にコードを監視するソースコードスキャンツールを使えば、効率的にセキュリティを確保できます。開発者が日々使用するツールを活用し、既存のワークフローにセキュリティスキャンを組み込むことで、問題の検出と修正を自動化できます。

2. オープンソースのセキュリティ

オープンソースコードには、パッケージの保守をほかの開発者に頼ることから、セキュリティリスクが伴います。リスクを軽減するには、利用しているパッケージの問題を特定し、修正できるようにする必要があります。ソフトウェア構成分析(SCA)ツールを使えば、脆弱性データベースと照合して問題を検出し、依存関係を追跡できます。

3. イメージのセキュリティ

コンテナはアプリケーションを標準化された方法でパッケージ化できますが、コンテナイメージ自体が脆弱性の原因になることもあります。イメージのセキュリティには、次の対策が必要です。

  • 必要な機能を備えつつ、余分な要素を含まない、信頼できる最小限のベースイメージを特定する

  • CI/CDパイプラインでイメージを自動スキャンする

  • 稼働中のコンテナを監視し、新たに発見された脆弱性や更新を把握する

4. ランタイムセキュリティ

コンテナは内部の状態が見えにくく、44%は5分未満で終了します。そのため、稼働中のコンテナを保護するのは容易ではありません。次の機能を備えたランタイムセキュリティツールを選びましょう。

  • 監査ログなどを利用し、軽量な方法でコンテナを監視する

  • セキュリティイベントに関する分析情報とコンテキストを提供する

  • ポリシーや対応アクションを自動化できる

5. ネットワークセキュリティ

企業ではネットワークセキュリティにゼロトラストのアプローチを採用する動きが広がっていますが、従来型のファイアウォール対策は、変化の激しいクラウドネイティブ環境には適していません。ネットワークセキュリティでは、物理的な通信レイヤーにとどまらず、Kubernetes Network Policyなどのネイティブな制御を活用する必要があります。次のことが可能なソリューションを選びましょう。

  • ネットワークトポロジーを可視化する

  • ベースラインとなるポリシーを設定する

  • 新しいポリシーの生成を自動化する

6. Kubernetesとクラウドのセキュリティ

Infrastructure as Code(IaC)は、設定ミスを招くことがあります。エンドユーザーが作業を容易にするために設定を変更することがありますが、その変更が安全とは限りません。また、デフォルト設定が組織のセキュリティプロトコルに沿っていない場合もあります。

IaCセキュリティでは、こうした設定上の問題をできるだけ早い段階で検出して修正します。ガバナンスとコンプライアンスのために、Open Policy Agent(OPA)などのポリシーエンジンを使用することもあります。

7. ランタイムシグナルを活用した脆弱性の優先順位付け

開発者は、セキュリティチームや運用チームから届く大量の脆弱性アラートに圧倒されることがあります。稼働中のコンテナで実際に実行されているソフトウェアパッケージを特定すれば、対応を検討すべき脆弱性を最大95%削減できます。

8. SnykとSysdigで、コードからランタイムまでセキュリティを確保

Snykは、コード、オープンソースの依存関係、コンテナ、IaCに含まれる脆弱性を検出し、自動で修正します。開発者が日々使用するプロセスやツールに合わせて構築されたSnykは、セキュリティチームが少人数で安定した体制を維持しながら、反復的なDevOpsモデルに適合し、規模を拡大できる協調的なセキュリティアプローチを実現します。

SnykとSysdigを連携すると、開発者は開発段階でコードとコンテナを保護し、稼働中のKubernetes環境を守ることができます。また、本番環境から開発者にフィードバックと可視性を提供し、コンテナの脆弱性に関するノイズを削減します。

さらに詳しく知りたい方は、開発パイプライン内からコンテナを保護する方法をまとめた「コードからランタイムまでのコンテナセキュリティ」の完全版チェックリストをご覧ください。

開発者ファーストのコンテナセキュリティ

Snykは、コンテナイメージとKubernetesワークロードの脆弱性を検出し、自動的に修正します。

続きを読む

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

feature insights context
Blog

予防は、本質的に解決済みの問題なのでしょうか?

エージェントが生成するコードの予防策はアーキテクチャ上解決されていますが、開発を遅らせることなくセキュリティを守る制御を選ぶことが、依然として課題です。

Live Stream

修正エージェントをわかりやすく解説:見つけるより直すことが重要な理由

SnykのRemediation Agentが、セキュリティインテリジェンス、破壊可能性分析、検証を活用して、脆弱性をマージ可能なプルリクエストに変える仕組みをご覧ください。