Docker セキュリティのためのトップ 10 のオープン ソース ツール

Docker セキュリティのためのトップ 10 のオープン ソース ツール

[51CTO.com クイック翻訳] コンテナのセキュリティに関しては、Tesla が経験したような Kubernetes クラスターのリーク災害を防ぐのに役立つオープンソース ツールが多数あります。しかし、コンテナのセキュリティは依然として難しいため、ツールボックスにどのユーティリティを追加するかを知る必要があります。

もちろん、市販のコンテナ セキュリティ製品は市場に溢れていますが、オープン ソース プロジェクトも大いに役立ちます。多くは、CIS、National Vulnerability Database などによって確立された Common Vulnerabilities and Exposures (CVE) データベースとベンチマークの監査と追跡に重点を置いています。次に、ツールはコンテナ イメージをスキャンし、その内容を表示して、その内容を既知の脆弱性のマニフェストと比較します。

コンテナ監査を自動化し、その他のコンテナ セキュリティ プロセスを使用すると、チームがビルド パイプラインの早い段階で問題を特定できるようになるため、企業にとって有益です。

市場には多くのオープンソースのコンテナ セキュリティ ツールがありますが、以下は最大のユーザー コミュニティを持つ、最も優れた成熟したツールです。

[[238488]]

1.セキュリティのための Docker Bench

セキュリティベンチマークに対してDockerコンテナを監査するためのスクリプト

Docker Bench for Security は、Docker Community Edition を使用してコンテナを管理する開発者を対象としています。これは、一般的なセキュリティのベスト プラクティスに照らしてコンテナーを監査するための Docker のオープン ソース スクリプトです。

Docker Bench のテストは業界標準の CIS ベンチマークに基づいており、手動で脆弱性をテストするという面倒なプロセスを自動化するのに役立ちます。

Docker のセキュリティ責任者 Diogo Mónica 氏は、これを「コンテナをテストするためのコンテナ」と呼んでいます。コンテナは次のように起動できます。

  1. docker run -it --net host --pid host --userns host --cap-add Audit_control \ -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \ -v /var/lib:/var/lib \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /usr/lib/systemd:/usr/lib/systemd \ -v /etc:/etc --label docker_bench_security \ docker/docker-bench-security  

その結果、セキュリティ構成ベンチマークごとに、情報、警告、合格のログが生成されます。また、Docker ホストからユーティリティを実行したり、Docker Compose 経由でクローンを作成したり、ベース ホストから直接実行したりすることもできます。

1 つの欠点は、出力が機械で読み取り可能ではないことです。 Docker Bench Test、drydock、Actuary など、多くのコミュニティ パッケージが Docker Bench を強化します。

2.クレア

大規模な CVE データベースを備えた API 駆動型の静的コンテナ セキュリティ分析ツール

Clair は CoreOS によって開発され、コンテナの脆弱性の静的分析を実行します。これは、Docker Hub に代わるパブリック コンテナ レジストリである Quay.io でも使用されています。

Clair は、Debian Security Bug Tracker、Ubuntu CVE Tracker、Red Hat Security Data など、多くの脆弱性データ ソースにアクセスできます。 Clair は非常に大規模な CVE データベースを使用しているため、監査は非常に包括的です。

Clair はまず、コンテナ イメージ内の一連の関数をインデックスします。次に、開発者は Clair API を使用してデータベースを照会し、特定のイメージに関連する脆弱性を見つけることができます。

Clair を使い始めるには、「Clair の実行」ガイドを参照してください。 Kubernetes クラスターにデプロイするのは簡単です。

  1. git clone https://github.com/coreos/clair cd clair/contrib/helm cp clair/ values ​​.yaml ~/my_custom_values.yaml vi ~/my_custom_values.yaml helm dependency update clair helm install clair -f ~/my_custom_values.yaml

クレアはとても柔軟です。追加の動作のために独自のドライバーを追加できます。さらに、追加の API 呼び出しを実行して特定のコンテナ イメージを監査することは、大量のレポート ログを検索する必要がなく、合理化されたマシン主導のアプローチです。

3.繊毛

カーネルレベルのAPI対応ネットワークおよびセキュリティツール

Cilium の使命は、ネットワーク接続を保護することです。 Cilium は、Docker や Kubernetes などの Linux コンテナ プラットフォームと互換性があり、セキュリティの可視性と制御ロジックを追加します。

これは、Linux カーネル テクノロジである BPF (旧称 Berkeley Data Filter) に基づいています。低レベルの実装の興味深い点は、アプリケーション コードやコンテナー構成を変更せずに、Cilium セキュリティ ポリシーを適用および更新できることです。

CoreOS は、現代のマイクロサービス開発のライフサイクルの変化とコンテナの急速な展開を考慮して Cilium を開発しました。 Kubernetes との統合は簡単で直感的です。 Cilium を展開する方法は次のとおりです。

  1. $ kubectl create -f ./cilium.yaml clusterrole "cilium"が作成されました serviceaccount "cilium "が作成されました clusterrolebinding "cilium"が作成されました configmap "cilium-config"が作成されました secret "cilium-etcd-secrets"が作成されました daemonset "cilium"が作成されました $ kubectl get ds --namespace kube-system NAME DESIRED CURRENT READY NODE-SELECTOR AGE cilium 1 1 1 2m  

Cilium のサポートとコミュニティは素晴らしいです。豊富なガイドとドキュメント、専用の Slack チャンネル、さらにはプロジェクト管理者との毎週のチェックインも用意されています。

4.アンカー

CVE データとユーザー定義ポリシーを使用してコンテナのセキュリティをチェックするツール

Anchore Engine はコンテナイメージを分析するためのツールです。 CVE ベースのセキュリティ脆弱性レポートに加えて、Anchore Engine はカスタム ポリシーを使用して Docker イメージを評価することもできます。

戦略によって合格か不合格かが決まります。ポリシーは、ホワイトリストまたはブラックリスト、ログイン情報、ファイルの内容、構成の種類、またはその他のユーザーが生成した手がかりに基づいています。

Anchore は Docker コンテナ イメージとしてパッケージ化されており、独立して実行することも、Kubernetes などのオーケストレーション プラットフォーム上で実行することもできます。また、継続的インテグレーション/継続的デリバリー (CI/CD) のための Jenkins および GitLab との統合機能も備えています。

Anchore コマンド ライン インターフェイス (CLI) を使用すると、Anchore エンジンを簡単に操作できます。たとえば、次の CLI コマンドは、イメージの内容に関する詳細情報を返します。

  1. アンカークリ画像コンテンツ INPUT_IMAGE CONTENT_TYPE

この例のコマンドは、イメージに対して脆弱性スキャンを実行します。

  1. anchore-cli イメージの脆弱性 docker.io/library/debian:最新の OS

Anchore は、脆弱性の詳細、脅威レベル、CVE 識別子、その他の関連情報を出力します。ユーザー定義のルールは Anchore Cloud Service のグラフィカル ユーザー インターフェイス (GUI) を使用して作成されるため、SaaS のように動作します。

5. OpenSCAP ワークベンチ

さまざまなプラットフォームのセキュリティポリシーを作成および維持するための環境

OpenSCAP は、IT 管理者とセキュリティ監査人向けのオープン セキュリティ ベンチマーク ガイド、構成ベンチマーク、オープン ソース ツールのエコシステムです。

Fedora、Red Hat Enterprise Linux、CentOS、または Scientific Linux 上で実行している場合は、OpenSCAP Workbench を GUI としてインストールして、仮想マシン、コンテナー、およびイメージのスキャンを実行できます。 OpenSCAP Workbench は次のコマンドを使用してインストールできます。

  1. #yum scap-workbench をインストールします

SCAP ポリシー ガイドラインと CVE に対してコンテナーを検証するには、OpenSCAP に含まれている oscap-docker ユーティリティを使用します。

OpenSCAP は、NIST 認定の Security Content Automation Protocol (SCAP) を中心に構築されており、機械で読み取り可能なセキュリティ ポリシーを多数提供します。 OpenSCAP セキュリティ ガイドでは、プロジェクトの目標は「冗長性を回避することで、複数の組織がセキュリティ コンテンツを効率的に開発できるようにする」ことであると述べられています。

OpenSCAP は、この記事で紹介した他のツールよりも幅広い用途に使用できるため、プラットフォーム全体のセキュリティ ポリシーを作成しようとしているチームにとって最適な選択肢となります。

6.ダグダ

Docker コンテナ内の脆弱性、トロイの木馬、ウイルス、マルウェアをスキャンするツール

Dagda は、コンテナ セキュリティの静的分析を行うもう 1 つのツールです。 CVE ソースには、OWASP Dependency Check、Red Hat Oval、Offensive Security Vulnerability Database が含まれます。

Dagda を使用して Docker コンテナをスキャンするには、まず Mongo データベースに脆弱性データを入力する必要があります。単一の Docker イメージを分析するには、次のコマンドを実行します。

  1. python3 dagda.pyチェック  --docker_image jboss/ワイルドフライ 

リモートで実行したり、継続的に呼び出してアクティブな Docker コンテナを監視できます。出力には、脆弱性の数、重大度レベル、および修復に役立つその他の詳細が表示されます。

Dagda の利点の 1 つは、幅広い脆弱性データをカバーしていることです。これは、大規模で最新の包括的な脆弱性データベースに直接アクセスできることを意味します。また柔軟性があり、CLI および REST API 経由で制御できます。

7.公証人

サーバーを使用してコンテナを保護するために責任を暗号的に委任するフレームワーク

Notary は事実上の Docker イメージ署名フレームワークであり、現在はオープンソースになっています。 Docker がこれを開発し、2017 年に Cloud Native Computing Foundation に寄贈しました。

公証人の使命は職務の分離を確保することです。 Notary を使用すると、開発者は役割を委任し、コンテナ間の責任を定義できます。このパッケージは、コンテンツの公開と認証のための暗号化された安全な方法を提供するサーバーおよびクライアントを提供します。

Notary をローカルにデプロイするには、まずリポジトリをクローンします。次に、Docker Compose を使用してローカル構成をデプロイします。

  1. $ docker-compose ビルド $ docker-compose アップ -d $ mkdir -p ~/.notary && cp cmd/notary/config.json cmd/notary/root-ca.crt ~/.notary

Rely Update Framework と Go 言語を依存関係として使用することで、Notary はコンテナ アプリケーション イメージの暗号整合性を検証できます。

8.グラファエス

内部セキュリティポリシーの管理に役立つメタデータAPI

Grafaes は、独自のコンテナ セキュリティ スキャン プロジェクトの作成に役立ちます。コンテナ セキュリティ ツールは 2017 年後半にリリースされ、IBM と Google によって開発されました。

開発者は、「コンポーネント メタデータ API」として知られる Grafaes を使用して、仮想マシンとコンテナのメタデータを定義できます。 IBM の脆弱性アドバイザーもこのプロジェクトに統合されています。

実際の例として、Shopify が Grafaes を使用して 500,000 個のコンテナ イメージのメタデータを管理する方法を見てみましょう。チームは、Grafeas メタデータを使用して Kubernetes クラスターにセキュリティ ポリシーを適用するために Kritis を使用しています。

コンテナのメタデータを迅速に取得できると、修復作業が迅速化され、脆弱性の悪用から解決までの時間が短縮されます。 Grafaes はオープンソースですが、大規模なソフトウェアプロバイダーによってメンテナンスされているため、長期的なサポートに役立ちます。

9. Sysdig ファルコ

コンテナの洞察を得るための行動アクティビティ監視を提供します

Falco は、Sysdig が開発した Kubernetes 対応のセキュリティ監査ツールであり、コンテナ、ホスト、ネットワーク アクティビティの動作監視に重点を置いています。 Falco を使用すると、開発者はインフラストラクチャを継続的にチェックし、異常を検出し、あらゆる種類の Linux システム コールに対してアラートを設定するメカニズムを設定できます。

Falco のドキュメントでは、Falco を Docker コンテナとして実行することを推奨しています。Docker コンテナは、次のコマンドを使用してインストールできます。デプロイされると、標準出力の Falco アラートは次のようになります。

  1. stdout_output: enabled: true 10:20:05.408091526: 警告信頼できないプログラムによって機密ファイルが読み取り用に開かれました

Falco を使用すると、コンテナ内でシェルが実行されたタイミング、コンテナがマウントされた場所、機密ファイルの予期しない読み取り、アウトバウンド ネットワークの試行、その他の疑わしい呼び出しを監視できます。 Sysdig では、コンテナのトラブルシューティングに関する資料をこちら (https://github.com/draios/sysdig) で提供しています。

10.バンヤノプスコレクター

Dockerコンテナイメージの静的解析のためのフレームワーク

Collector は、Docker コンテナ イメージの内部を覗き見るためのオープン ソース ユーティリティである Banyanops によってサポートされています。 Collector を使用すると、開発者はコンテナ データを収集したり、セキュリティ ポリシーを適用したりすることができます。

まず、Banyanops はプライベート レジストリ上で実行することも、Docker Hub 上のコンテナーとして実行することもできます。 Banyanops は、より深いデータ分析を可能にする SaaS 製品も提供しているため、機能が制限されている場合は、販売者のアップセルに注意してください。

原題: Docker セキュリティのための 10 以上のオープンソース ツール、著者: Bill Doerrfeld

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  分散ストレージ Ceph におけるさまざまな PG 状態の詳細な説明

>>:  分散ストレージ構築のための2つの展開モード(分離型またはハイパーコンバージド型)

推薦する

reprisehosting-$30/L5420/2G メモリ/500g ハードディスク/10T トラフィック/IPMI/シアトル

reprisehosting はプロモーション用にいくつかの異なる低価格サーバーを立ち上げました。コ...

ライブストリーミングルームに「閉じ込められた」電子商取引企業

ライブストリーミング電子商取引は近年急速に発展しています。一方では、電子商取引ライブストリーミングの...

見逃していたマーケティング手法!

ウェブサイトの立ち上げ、新製品の発売、製品の在庫一掃、季節外れの商品、価格競争など、さまざまな理由か...

Google、Microsoft、Appleなどが共同でオープンソースのWeb技術ウェブサイトを推進

ウェブプラットフォームのウェブサイト新浪科技報、北京時間10月9日朝のニュースによると、すべてのオー...

価値は低いが効果的な外部リンクの簡単な分析

Baiduの外部リンク情報が公開されて以来、一部のウェブサイトがフォーラム署名外部リンクや外部リンク...

2019年のブラックフライデーに関する情報はあまりないので最後にまとめておきます

その年の感謝祭イベントからブラックフライデー、そして今日のサイバーマンデーまで、IDC業界全体では基...

Kubernetesが世界を支配するようになるのでしょうか? Dockerも例外ではない

コンテナ オーケストレーションに関して言えば、Google が開発したオープン ソース ツールである...

ワイルドカードドメイン名でウェブサイトが解決される問題を解決する代替方法

編集者は昨年 11 月 25 日に「ウェブサイトがワイルドカード ドメイン名で悪意を持って解決された...

分散アーキテクチャとクラウドネイティブを実装する方法

分散アーキテクチャとクラウドネイティブは、どちらも現在のテクノロジー分野で注目されているトピックです...

カフカについて話しましょう!

[[414283]]この記事はWeChatの公開アカウント「Micro Technology」から転...

適応型ウェブデザインの手法

昨日の正午、Google はアダプティブ ウェブ デザインの概念と手法に関するオンライン レクチャー...

SEOにおける「サブドメインとディレクトリ」の違い

サブドメインとディレクトリに関しては、多くの人がそれらの違いを知らず、いつサブドメインを使用し、いつ...

エロボディ余韻?オリジナル記事執筆の秘訣を知る

実は、以前は「艳体缠绵」が何を意味するのか知りませんでした。後で関連情報を調べたところ、これは非常に...

WordPress SEO - Robots.txt の最適化

リンクの方向によるウェブサイトコンテンツの重複は、ウェブサイトの SEO では常にタブーとされてきま...

分散システムのアーキテクチャの探究

分散システムを扱う場合、コンテナを使用してサービスを構築するだけでは不十分です。アーキテクチャの選択...