BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Alcideの新しいsKanコマンドラインツールがKubernetesデプロイメントファイルをスキャンする

Alcideの新しいsKanコマンドラインツールがKubernetesデプロイメントファイルをスキャンする

ブックマーク

原文(投稿日:2020/04/22)へのリンク

KubernetesセキュリティプラットフォームのAlcideは、開発者、DevOps、KubernetesアプリケーションビルダがAlcide Security PlatformにアクセスできるようにするコマンドラインツールであるsKanのリリースを発表した。sKanを使用すると、開発者はCIパイプラインを含むアプリケーション開発ライフサイクルの一部としてKubernetes構成ファイルとデプロイファイルをスキャンできる。開発者は、Kubernetesデプロイメントファイル、HelmチャートまたはKustomizedリソースをスキャンできる。

Alcideは、構成リスク、クラスタ全体の可視性、ランタイムセキュリティイベントなど、Kubernetes全体の側面に対応するKubernetesネイティブのAI駆動のセキュリティプラットフォームだ。ポリシーの適用と、異常や悪意のあるネットワークアクティビティを検出する動作異常エンジンを使用する。Alcide sKanは、Alcide AdvisorOpen Policy Agent (OPA)の背後に同じテクノロジーを使用し、Kubernetesベースのアプリケーションを構築する開発者にセキュリティを任せるという点でDevSecOpsカルチャーのソフトウェアと言い換えることができる。

Alcide sKanは、Kubernetesアプリケーションビルダが選択したデプロイメントフレームワークツールで動作する。Helmチャート、Kustomizedリソース、またはKubernetesリソースファイル (YAML/JSON)。ソースコードをスキャンしてセキュリティの脆弱性を見つけることは今日の一般的な方法と考えられているが、Kubernetes環境で発生する可能性のある構成エラーは見過ごされ、無意識のうちにプロダクション環境に脆弱性がもたらされる可能性がある。Alcide sKanは、コードをコミットする前に、開発者にセキュリティの問題、リスク、強化、Kubernetesの成果物のベストプラクティスに関するフィードバックを提供する。

sKanは、デプロイファイルが特権を実行するように設定されていないことの確認、Kubernetesワーカノードへのリスクの導入、RBACサニテーションチェック、機密情報リークの特定など、Kubernetesアプリケーションビルダに関係する可能性のあるさまざまな潜在的なセキュリティリスクをカバーする。Alcide sKanは、検出された各リスクに関する洞察を示します。InfoQは、AlcideのCTOであるGadi Naor氏にsKanについて尋ねた:

InfoQ: 開発者はどのようにしてsKanをデプロイメントパイプラインに統合しますか?

Naor氏: Alcide sKanは、開発者の用語でKubernetes YAML/JSONリソースのリントとしてキャプチャされます。パイプラインのコードリントでできることはすべて、開発者がsKanで実装できるものです。SKanの入力オプションは、開発者がsKanにKubernetesリソースのディレクトリ全体を読み取らせたり、Helmチャートをレンダリングして標準入力を介してsKanにパイプしたり、Kustomizedリソースを取得して標準入力を介してsKanにパイプしたりできるなどの多くの統合を提供します。出力側では、開発者はsKanにJUnitまたはHTMLとしてレポートを生成させ、パイプラインアーティファクトに保存させることができます。開発者は、コミットフックでsKanを利用して、Kubernetes構成に関する特定のアサーションを検証することもできます。

InfoQ: Kubernetes環境でのセキュリティの考慮事項はどのように異なりますか?

Naor氏: コードスキャナは、プログラミング言語で見つかった問題を識別、報告、および修正する可能性があります。Kubernetesアプリケーション構成は、事実上、ビルドされたコードがKubernetesでどのように実行されるかを宣言的に指定するYAML/JSONファイルです。sKanは基本的に、YAML/JSON構文の検証が終了するところから始まります。

InfoQ: sKanは、ソースコードをスキャンするツールとどのように連携または統合されますか?

Naor氏: sKanはソーススキャナを補完し、通常はプログラミング言語のソーススキャナと一緒に実行されます。sKanは、YAML/JSON構文の検証が終了するところから始まります。YAML/JSONファイルは、ビルドされたコードがKubernetesでどのように実行されるかを指定し、sKanはKubernetesアプリケーション構成を分析して、セキュリティのベストプラクティスを特定して報告します。

InfoQ: sKanは、セキュリティチーム、アーキテクト、およびリーダーシップにどのように保証と継続的なコンプライアンスを提供しますか?

Naor氏: sKanは、コードスキャナが統合するのと同じツールおよびプラットフォームと統合されます。つまり、sKanは、アーキテクトとリーダーシップなど、これらのレポートを使用するさまざまな利害関係者の保証、監査可能性、および継続的なコンプライアンスをカバーするツールへの既存の投資に対するプラグアンドプレイツールになります。たとえば、CIパイプラインのアーティファクトとログは実体になり、より幅広いコンテキストと対象者にレポートと監査機能を提供する、Splunkなどのツールにエクスポートされます。

InfoQ: 実用的な洞察とそれらが検出する可能性のあるリスクの例をいくつか提供していただけませんか。

Naor氏: 開発者が誤ってSlackトークンやAWSシークレットキーなどの機密情報をStatefulSetなどのKubernetesデプロイファイルに配置した場合、sKanによる提案の1つは、Kubernetesシークレットリソースを活用することです。ベストプラクティスは、アプリケーションランタイムでシークレットストアから機密情報をワイヤリングすることです。sKanが検出する可能性のあるリスクの別の例は、開発者がクラスタコンポーネントを実装し、過剰なKubernetes RBAC権限でビルドする場合です。これは、クラスタ全体にリスクをもたらす可能性があるものです。

InfoQ: sKanが見つけようとする潜在的なセキュリティリスクの完全なリストは利用可能でしょうか?

Naor氏: sKanは現在、複数のチェックをホストする次のモジュールをカバーしています。Kubernetesポッドのセキュリティ、RBAC権限、誤って配置された機密情報、サービスとIngressコントローラーとIsto meshconfigチェックに加えてPrometheusとEtcdオペレーターのチェック、コンテナイメージレジストリ、アドミッションコントローラ。sKanはAlcide AdvisorとOpen-Policy-Agentを利用しており、新しいモジュールとチェックは社内とコミュニティの両方から定期的にリリースされます。

InfoQ: 機密情報のリークをどのように特定しますか?

Naor氏: Alcide sKanは、正規表現のセットに対して、Kubernetesリソース、レンダリングされたHelmチャートテンプレート、またはレンダリングされたKustomizedリソースをスキャンします。これは、GitHubリポジトリをスキャンして機密情報のリークを検出する方法と非常に似ていますが、いくつかの重要な違いがあります。たとえば、GitHubリポジトリシークレットスキャナは保存中のファイルをスキャンします。Alcide sKanは、Kubernetes固有の変換後にリソースを処理し、sKanは開発者にKubernetes固有の根本原因を示します。

InfoQ: sKanはどのようにして開発者と運用者を近づけますか?

Naor氏: Alcide sKanは、Kubernetesベースのアプリケーションの構築を担当する開発者向けのローカルツールとして活用でき、Kubernetesを介して安全なコンポーネントを構築してリリースできるようにします。その後、運用者はこれらのコンポーネントを実行および操作する必要があります。sKanは、Kubernetesベースのアプリケーション成果物のセキュリティ品質を一連の高いバーのセキュリティ標準とベストプラクティスに合わせることで、開発者と運用者の間の形式を揃え、形成するのに役立ちます。

詳細については、こちらをご覧ください。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT