DUICUO

Kubernetes 向けオープンソース DevSecOps ツール 9 選

クラウドネイティブアプリケーションの構築と展開において、開発者とセキュリティチームの目標はしばしば相反します。一つはアプリケーションデリバリーの高速化ですが、これはイノベーションの原動力となる障害と見なされることがあります。実際には、セキュリティとその不足はどちらもイノベーションを遅らせる可能性があります。

調査によると、セキュリティ問題を軽視すると、アプリケーションの導入が遅れる可能性があることが示されています。DevSecOpsは、情報セキュリティチームと開発チームの二分法を否定し、セキュリティを開発チームと運用チームの間に位置付けます。DevSecOpsは、セキュリティをチーム間の共有責任と捉え、セキュリティツールとプロセスを既存の開発・運用(DevOps)ワークフローに組み込み、可能な限り自動化することを基本としています。

以下は、Kubernetes でより安全なコンテナ化されたアプリケーションの構築、デプロイ、実行を開始するのに役立つオープンソースの DevSecOps ツールの一部です。

1. アンカー

Anchoreは、Dockerイメージ内の既知の脆弱性を検出するオープンソースのイメージスキャナーおよび脆弱性管理ツールです。Anchore Toolboxは、SyftとGrypeを含むスタンドアロンのオープンソースツールスイートです。Syftはイメージとファイルシステムを検査してソ​​フトウェアマテリアルインベントリを生成し、Grypeはイメージ内の脆弱性をスキャンします。Anchore Engineと組み合わせ、CI/CDツールに統合することで、ユーザーは既存のワークフロー内でセキュリティポリシーの評価と適用を自動化できます。Kubernetesアドミッションコントローラーを使用することで、Anchoreはビルドフェーズとランタイムフェーズでコンテナイメージをスキャンできます。

Anchoreのユースケース

  • ミラー脆弱性スキャン
  • 執行
  • コンテナイメージのソフトウェア部品表

2. チェーホフ

Checkovは、AWS、Azure、Google Cloudのセキュリティおよびコンプライアンスポリシーの適用を支援するオープンソースの静的コード分析ツールです。Checkovは、Terraform、Cloudformation、Kubernetes、その他のInfrastructure as Codeシステムのビルドプロセスにおけるクラウドの設定ミスを防止するのに役立ちます。ユーザー主導の設定ミスは深刻なセキュリティ問題となるため、Checkovはワークロードリスクを軽減するための重要なツールとなり得ます。

Checkovの使用例

  • コードスキャンとしてのインフラストラクチャ
  • クラウド構成管理
  • コンプライアンス

3. クレア

Clairは、Dockerコンテナ用のオープンソースのコンテナイメージ脆弱性スキャナーおよび静的解析ツールです。Clairは、スタンドアロンのコンテナレジストリであるオープンソースプロジェクトQuayで使用されています。商用オプションのコストを避けたい場合、Clairは多くの商用コンテナスキャンソリューションのオープンソースの構成要素であるため、優れた出発点となります。

Clairのユースケース

  • ミラー脆弱性スキャン

4. ファルコ

Falcoは、現在インキュベーション中のCNCFオープンソースプロジェクトです。カーネルイベントを消費し、Kubernetesのデータと組み合わせてLinuxシステムコール中のポリシー違反をユーザーに通知することで、ランタイムの可視性とイントロスペクションを提供します。Falcoは、Certified Kubernetes Security Expert (CKS)試験で受験者のランタイムイベント検査能力を評価するために使用されている人気プロジェクトです。

Falcoのユースケース

  • ランタイムコンテナ分析
  • 脅威検出

5. キューブベンチ

Kube-benchは、KubernetesデプロイメントがCIS Kubernetesベンチマークに準拠していることを確認するためのチェックを実行するオープンソースのセキュリティツールです。Kube-benchは、Kubernetesクラスターのコントロールプレーンコンポーネントを管理して稼働時間、高可用性、SLAを保証するため、オンプレミス環境のコンプライアンスに最適です。Kube-benchはCKS試験にも出題されます。

kube-benchのユースケース

  • 構成管理
  • コンプライアンス

6. キューブハンター

kube-bench は Kubernetes のデプロイ方法をスキャンし、kube-hunter は Kubernetes 内にデプロイされたクラスターを検査して、公開された Kubernetes ダッシュボードなど、悪用可能な設定ミスを検出します。多数のアクティブテストとパッシブテストにより、設定ミスがどこにあるのかが明らかになります。kube-hunter は、クラスターの外部、クラスターマシン上、またはクラスター内のポッドから実行できます。それぞれのシナリオで、クラスターのセキュリティ状態を異なる視点から確認できます。

kube-hunterのユースケース

  • 構成管理
  • リスクと影響

7. キューブリンター

KubeLinterは、Kubernetes YAMLファイルとHELMダイアグラムの静的解析ツールです。本番環境への準備とセキュリティに関するベストプラクティスに準拠していることを確認するのに役立ちます。KubeLinterにはいくつかのデフォルトチェックが付属しており、カスタムチェックを実行するように設定することもできます。Goバイナリとして開発されたKubeLinterは、kubectlと同じパッケージを共有し、他のポリシーツールよりもシンプルで、開発者による使用とCI統合に重点を置いています。KubeLinterは設定ファイルを活用することで、チームがCIアプリケーションでポリシーを拡張できるようにします。

KubeLinterのユースケース

  • 構成管理
  • YAML/Helm チャート リンティング

8. オープンポリシーエージェント

Open Policy Agent (OPA) は、CNCF のオープンソース プロジェクトである Graduous 版です。OPA の汎用ポリシーエンジンを使用することで、ユーザーはポリシーの作成と適用を標準化できます。Kubernetes に加えて、OPA は Envoy、Terraform、Kafka などのクラウドネイティブ テクノロジーを利用する際にもポリシーを適用できます。OPA ポリシーは SQL に変換して、データベース内でルールを適用することも可能です。

  • ポリシーの施行

9. テラスキャン

Terrascanは、OPAを基盤として構築された新興のオープンソースソリューションです。Terrascanは、Terraform、Kubernetes(JSON/YAML)、AWS、Azure、GCP、GitHubなど、幅広いアプリケーションに適用可能な500以上のセキュリティベストプラクティスを誇ります。Terrascanは、ユーザーにRegoによる拡張を推奨するのではなく、デフォルト設定を推奨することで、OPAエンジンの価値を実証しています。

Terrascanのユースケース

  • 構成管理
  • YAML/Helm チャート リンティング

要約

DevSecOps の原則は、適切に実装されると、ソフトウェア開発ライフサイクル全体にわたって継続的に統合され、セキュリティの責任がさらに左側にシフトして、後期段階のセキュリティ制御の運用オーバーヘッドが最小限に抑えられ、開発者と DevOps エンドユーザーがセキュリティ ユーザーとして権限を与えられ、ワークフローでセキュリティ制御を独自に実装できるようになります。

クラウドおよびハイブリッド環境におけるアプリケーション管理の標準として機能しているKubernetesなどのクラウドネイティブテクノロジーの出現に伴い、セキュリティチームは適切なガードレールと制御を確立するために、これらのテクノロジーを深く理解する必要があります。DevOpsチームは、Kubernetes環境でインフラストラクチャを構成し、ソフトウェアアプリケーションを構築するために使用するワークフローとツールチェーンに、堅牢なセキュリティ保護機能を統合する必要があります。適切な人材とプロセスと組み合わせることで、このオープンソースセキュリティツールリストは、組織がこれらの目標を達成し、セキュリティを新しく優れた方法で自動化するのに役立ちます。