ログイン / 登録 アカウント

コンテナ

Clair とは

Clair は、appc および docker コンテナの脆弱性に対して静的な分析を行い、コンテナのセキュリティを監視するツールを提供するオープンソース・プロジェクトです。Clair は API 駆動型の分析エンジンで、既知のセキュリティ上の欠陥がないか、レイヤーごとにコンテナを検査します。Clair を使用すると、コンテナの脆弱性を継続的に監視するサービスを簡単に構築できます。

Jump to section

コンテナのセキュリティをサポートする Clair

脆弱性データは、既知のソースセットから継続的にインポートされ、コンテナイメージのインデックス付きコンテンツと関連付けられて、コンテナを脅かす脆弱性のリストを生成します。脆弱性データがアップストリームで変更されると、脆弱性の以前の状態と新しい状態、およびそれらが影響を与えるイメージが、Webhook 経由で構成済みのエンドポイントに送信されます。すべての主要コンポーネントは、プロジェクトをフォークすることなく、コンパイル時にプログラムでカスタマイズできます。Clair は次の方法でコンテナのセキュリティをサポートしています。

  • 定義した一連のソースから脆弱性データを更新し、このデータをデータベースに格納する
  • クライアントが API を使用して、特定のイメージ内の脆弱性について、このデータベースにクエリできるようにする
  • API を使用して、イメージ内に存在する機能のリストでコンテナイメージにインデックスを付ける

Clair の機能

Clair は各コンテナレイヤーをスキャンし、Common Vulnerabilities and Exposures データベース (CVE) および Red Hat®、Ubuntu、Debian の類似データベースに基づいて、脅威となる可能性のある脆弱性を通知します。レイヤーは多くのコンテナ間で共有できるため、パッケージのインベントリを構築し、既知の CVE と照合するためには、イントロスペクションが不可欠です。

Clair は、Python をはじめとするプログラミング言語パッケージマネージャーのサポートと、イメージ指向の新しい API も導入しています。

脆弱性の自動検出により、開発チームと運用チーム全体の認識とセキュリティのベストプラクティスが向上し、脆弱性にパッチを当てて対処するためのアクションが促進されます。新たな脆弱性が告知されると、Clair は再スキャンすることなく即座に、どの既存のレイヤーが脆弱であり、どの通知が送信されるかを認識します。

たとえば、CVE-2014-0160、別名「ハートブリード」はしばらく前から知られていますが、Red Hat Quay のセキュリティスキャンでは、依然として高い割合で、ユーザーが Quay に格納したコンテナイメージに対する潜在的な脅威であることが判明しています。 

脆弱性が悪用される場合は、特定の条件が利用されることが多いことに注意してください。たとえば、ハートブリードは、脆弱な OpenSSL パッケージがインストールされ、使用されている場合にのみ脅威として問題になります。Clair はそのレベルの分析には適していないため、必要に応じてさらに深い分析を行う必要があります。

Clair と Kubernetes

Clair はオープンソースの Project Quay の一環です。Kubernetes プラットフォームの Red Hat OpenShift® は、それ自体が Red Hat Quay のコンポーネントである Container Security Operator という Kubernetes Operator を通じて Clair を利用し、コンテナのセキュリティを実現します。Red Hat Quay はオープンソースのコンテナイメージレジストリのプラットフォームであり、クラウドネイティブ および DevSecOps の開発モデルと環境に焦点を当てた、グローバルデータセンター全体でのコンテナの構築、配布、デプロイを可能にします。

Quay Container Security Operator (Red Hat OpenShift と統合) を使用すると、自動化、認証、承認システムを使用してイメージリポジトリのセキュリティを強化できます。Red Hat Quay は Red Hat OpenShift と併用するか、スタンドアローン・コンポーネントとして利用できます。

Red Hat による支援

Red Hat はオープンソース・コミュニティへのコミットメントの一環として、Cloud Native Computing Foundation のメンバーとして Project Quay の開発に引き続き参加します。

Red Hat は Clair と Project Quay の新機能のエンジニアリングに多大な貢献をしています。また、Clair が使用する脆弱性の主要なデータベースの 1 つを管理していることに加え、実際の負荷テスト環境として機能する、quay.io を介した Clair の最大規模のインストールも実行しています。

コンテナを守る

Red Hat Quay logo

コンテナを構築、配布、デプロイするために利用できるコンテナイメージ・レジストリ。

Red Hat OpenShift product logo

場所や規模を問わず、コンテナを作成、デプロイ、管理できます。