コンテナをソースからランタイムまで保護する8つのヒント
Sarah Conway
2022年8月24日
0 分で読めます本日、パートナーの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ワークロードの脆弱性を検出し、自動的に修正します。


