Jump to section

Clair とは

URL をコピー

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

脆弱性データは既知のソースセットから継続的にインポートされ、コンテナイメージのインデックス付けされたコンテンツと照合され、コンテナの脅威となる脆弱性の一覧を作成します。アップストリームで脆弱性データが変更されると、脆弱性の以前の状態と新しい状態を、影響のあるイメージとともに、設定されたエンドポイントに webhook を介して送信できます。すべての主要コンポーネントは、コンパイル時に、プロジェクトをフォークすることなくプログラムによってカスタマイズできます。Clair は次のようにしてコンテナのセキュリティをサポートします。

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

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

Clair には、プログラミング言語パッケージマネージャーのサポートが Python から導入され、新しいイメージ志向の API も取り入れられています。

脆弱性を自動的に検出するので、開発チームと運用チーム全体で認識とセキュリティのベストプラクティスが広まり、脆弱性にパッチを適用して対処する行動が促進されます。新しい脆弱性が公開されると、再度スキャンしなくても、どの既存のレイヤーが脆弱で通知が送信されたか、Clair によって即座に判定されます。

たとえば、「Heartbleed」とも呼ばれる CVE-2014-0160 はしばらく前から知られていますが、Red Hat Quay のセキュリティスキャンによると、ユーザーが Quay に保存したコンテナイメージの大部分にとっていまだに潜在的な脅威であることがわかっています。 

多くの場合、攻撃者が脆弱性を悪用するには特定の条件が満たされている必要があります。たとえば Heartbleed が脅威となりうるのは、脆弱な OpenSSL パッケージがインストールされ、使用されているときのみです。Clair はこのレベルの分析には適しておらず、チームは必要に応じて詳細な分析を行う必要があります。

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 OpenShift Service on AWS (ROSA) はソースコードからイメージをビルドしてデプロイし、ライフサイクルを管理できます。統合された内部コンテナイメージリポジトリを提供し、これを ROSA 環境にデプロイしてイメージをローカルに管理できます。Red Hat が提供して維持する Red Hat Quay Container Registry のパブリックインスタンスである Quay.io は、大半のコンテナイメージおよび ROSA クラスタへの Operator に対応します。Red Hat Quay は、ホスト型サービスとしても、ユーザー自身のデータセンターやクラウド環境にインストールできるソフトウェアとしても利用できます。Red Hat Quay の高度な機能には、ジオレプリケーション、イメージスキャン、イメージのロールバックがあります。これらの機能では、Clair を OpenShift の全体的な構成の一部として利用しています。 

Red Hat のコンサルタントがお手伝いします

Red Hat のオープンソース・コミュニティへの取り組みの一環として、Red Hat は今後も Cloud Native Computing Foundation のメンバーとして Project Quay の開発に参加します。

Red Hat は Clair および Project Quay の新機能の作成に大きく貢献しています。また、Clair が使用する脆弱性の主要データベースの 1 つは Red Hat が運用しています。さらに、実際の負荷テスト環境として機能する、quay.io を介した Clair の最大規模のインストールも実行しています。

関連資料

記事

コンテナと VM

Linux コンテナと仮想マシン (VM) は、さまざまな IT コンポーネントが組み合わさってシステムの他の部分から分離している、パッケージ化されたコンピューティング環境です。

記事

コンテナ・オーケストレーションとは

コンテナ・オーケストレーションは、コンテナのデプロイメント、管理、スケーリング、ネットワーキングを自動化します。

記事

Linux コンテナとは

Linux コンテナとは、システムから分離された一連のプロセスであり、そのプロセスのサポートに必要なすべてのファイルを提供する個別のイメージから実行されます。

コンテナの詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

リソース

トレーニング

無料のトレーニングコース

Running Containers with Red Hat Technical Overview

無料のトレーニングコース

Containers, Kubernetes and Red Hat OpenShift Technical Overview

無料のトレーニングコース

Developing Cloud-Native Applications with Microservices Architectures