Sysdig Secure による Kubernetes のセキュリティ

Secure DevOps によるセキュリティの統合とコンプライアンスの検証


Kubernetes セキュリティのチェックリストを入手

Kubernetes での安心な運用

Sysdig Secure は、コンテナ、Kubernetes、クラウドサービスで構築された最新のアプリケーションを保護するために必要な可視性を提供します。これにより、ビルドパイプラインの保護、ランタイム脅威の検出と対応、Kubernetes ネイティブなネットワークセグメンテーションの実施、コンプライアンスの継続的な検証を実行できます。Sysdig Secure は、Falco や Sysdig OSS などのオープンソーススタック上に構築された SaaS ソリューションです。

Kubernetes Security Image Scanning

イメージスキャン

イメージを環境に残したまま CI/CD ツールでローカルでのスキャンを自動化し、デプロイメント前に脆弱性をブロックします。

Kubernetes Security Compliance

継続的なコンプライアンス

コンテナや Kubernetes のライフサイクル全体にわたって PCI、NIST、SOC2 などの基準に対するコンプライアンスを検証します。

Kubernetes Security Runtime Security

ランタイムのセキュリティ

システムコール、k8s 監査ログ、AWS CloudTrail をベースとしたすぐに使える Falco ルールにより、コンテナ、Kubernetes、AWS インフラストラクチャ全体の脅威を検出します。

Network Security

ネットワークセキュリティ

アプリケーションとサービス間のすべてのネットワーク通信を可視化します。Kubernetes ネイティブなネットワークポリシーを自動化することでマイクロセグメンテーションを適用します。

Kubernetes Security Incident Response and Forensics

インシデント対応とフォレンジック

低レベルのシステムコールデータを使用して、コンテナが消えた後でも調査を実行できます。

アドミッションコントローラでリスクのあるイメージのデプロイを防ぐ

Sysdig Admission Controller を使用して、スキャンされていないイメージや脆弱なイメージがクラスタにデプロイされるのを防ぐことができます。イメージを承認するための柔軟な条件(ネームスペース、CVE の重大度レベル、修正プログラムの有無、イメージサイズなど)に基づいて基準を設定できます。

また、Sysdig Secure は、CI/CD パイプラインとレジストリにイメージスキャンを統合することで脆弱性を早期に防ぎます。

ワークロードの最小権限のアクセス制御

PodSecurityPolicy(PSP)は、Kubernetes ネイティブな脅威防止および制御のメカニズムです。Sysdig は、アプリケーションの最小権限の PSP を自動的に作成し、パフォーマンスに影響を与えることなく本番環境での適用前にそれらを検証します。最小権限の PSP により、次のことが可能になります。

  • 特権ポッドの起動を防ぎ、特権エスカレーションを制御する
  • ポッドからアクセスできるホストのネームスペース、ネットワーク、ファイルシステムへのアクセスを制限する
  • ポッドが実行できるユーザー/グループを制限する
  • ポッドがアクセスできるボリュームを制限する
  • ランタイムプロファイルや読み取り専用ルートファイルシステムなどのその他のパラメーターを制限する

CIS ベンチマークによる構成検証

Kubernetes 向け CIS ベンチマークに基づいてクラスタ構成を検証します。ガイド付き修復により、違反をすばやく解決できます。オンデマンド評価を実施し、詳細なレポートを生成することで、第三者監査に合格しやすくなります。

ランタイム脅威検出

オープンソースの Falco をベースとしたコミュニティ主導のポリシー(MITRE、FIM、クリプトマイニングなど)を使用して異常なアクティビティを検出します。クラウドプロバイダや Kubernetes 環境の豊富なコンテキストを利用して正確なルールを作成します。ポリシーをゼロから作成する代わりに、すぐに使えるルールと ML ベースのイメージプロファイリングを使用することで時間を節約できます。

監査ログによる API のセキュリティ

API の監査ログに基づき、Kubernetes API レベルでのユーザーの行動についてアラートを送信します。たとえば、次のような行動を検出します。

  • ポッド、サービス、デプロイメント、デーモンセットなどの作成と破棄
  • 構成マップまたはシークレットの作成/更新/削除
  • エンドポイントへの変更の同意の試行

Kubernetes ネイティブなマイクロセグメンテーション

豊富なアプリケーションと Kubernetes メタデータを使用して、最小権限のネットワークポリシーを自動的に生成します。また、本番環境での適用前にトポロジを視覚的に確認できるほか、シンプルなインターフェイスを使用して、YAML を手動で変更することなくポリシーを容易に変更できます。

Kubernetes を詳細に可視化

動的なトポロジマップを使用して、Kubernetes 内のアプリケーションとサービスを詳細に可視化できます。また、Kubernetes とクラウドのコンテキストにより、syscall データ(接続、待機時間、CPU 使用率など)も可視化されます。

インシデント対応とフォレンジック

Kubernetes とクラウドのメタデータで強化された詳細なデータを使用して、インシデント対応を実行できます。たとえば、ユーザーからシステムアクティビティ(コマンドの実行、接続、ファイルアクティビティなど)に至るまで、kube-exec を追跡します。

Kubernetes の脆弱性

Kubernetes の新たな脆弱性が続々と確認されています。詳しくは、クラスタに影響を与える最新の CVE と、そのリスクを軽減する方法をご覧ください。

Falco による CVE-2020-14386 の検出と潜在的なコンテナエスケープの緩和
Falco を使用した CVE-2020-8557 の検出
CVE-2020-8566 の理解と緩和: Ceph クラスタ管理者の資格情報の漏洩…

CVE に関するブログをすべて見る

30 日間の無償トライアルを数分で開始

すべての機能に完全にアクセスでき、クレジットカードは不要です。

よくある質問

Q: Kubernetes とは何ですか?

A: Kubernetes とは、自動化されたコンテナのデプロイメント、拡張、ワークロード、サービスを管理するためのオープンソースプラットフォームです。Google 社によって開発され、現在は CNCF(Cloud Native Computing Foundation)に管理されています。Kubernetes の目的は、ホストのクラスタ全体でアプリケーションコンテナの運用、デプロイメント、拡張を自動化することです。現在では、多くのクラウドサービスベンダーが自社ブランドの Kubernetes を提供しています。

Q: Kubernetes を使用するのはなぜですか?

A: アプリケーションをバンドルして実行する際は、コンテナが非常に効果的です。本番環境では、アプリケーションを実行するコンテナをダウンタイムなしで管理する必要があります。Kubernetes は、分散システムを確実に管理するとともに、コンテナアプリケーションの拡張とフェールオーバーを管理するフレームワークです。Kubernetes は、機密情報の保存と管理、障害が発生したコンテナの再起動、ロールバックとロールアウトの自動化、ストレージシステムの自動マウントの管理などを行います。

Q: Kubernetes のセキュリティとは何ですか?

A: Kubernetes のセキュリティメカニズムは、コンテナベースの攻撃からユーザーを守ります。このような攻撃は多くの場合、コンテナベースのイメージやサードパーティのライブラリに含まれる脆弱性を悪用するハッカーによって行われます。クラスタの構成ミスに起因することもあり、その場合、実行時に悪質なアクティビティが検出されなかったり、クラウドネイティブなアプリケーションがコンプライアンスに違反したりする原因となります。そのため、Kubernetes ライフサイクル全体にセキュリティとコンプライアンスを統合する必要があります。PodSecurityPolicy などのネイティブコントロールは、特権エスカレーションを防ぎ、実行時に脅威をブロックするのに役立ちます。オープンソースの Falco を使用すれば、実行時に悪質なアクティビティを検出してアラートを送信できます。DevOps エコシステムの一部である Kubernetes のセキュリティツールは、クラウドセキュリティのリスク管理に役立ちます。

Q: Kubernetes クラスタとは何ですか?

A: Kubernetes はさまざまなノードをクラスタにまとめてクラウドネイティブなアプリケーションを実行します。Kubernetes クラスタには、少なくとも 1 つのマスターノードと 1 つのワーカーノードが含まれています。マスターノードはクラスタを望ましい状態に保ち(実行されているアプリケーションや使用されているコンテナイメージなど)、ワーカーノードを直接制御します。ワーカーノードはアプリケーションとワークロードを実際に実行します。プログラムをクラスタにデプロイすると、マスターノードは個々のノードへの作業の分散をインテリジェントに処理します。ノードが追加または削除されると、Kubernetes は望ましい状態になるようにクラスタを自動的に管理します。

Q: Kubernetes と Docker の違いは何ですか?

A: Kubernetes と Docker は根本的に異なるテクノロジですが、コンテナ化されたアプリケーションの構築、デリバリ、拡張のために連携して機能します。Docker はソフトウェアやマイクロサービスをコンテナにパッケージ化してポータビリティを高めます。Kubernetes は複数の Docker を大規模に拡張して管理できるオーケストレータです。

“Sysdig が Kubernetes に対応しているという点が当社にとって大きな魅力でした。Kubernetes のセキュリティは新しいものが多く、最初のうちは扱いに苦労します。Sysdig はそれらの多くに対応しており、スタックの管理も容易です。その結果、日々の負担が軽減され、自分たちのスタックのデバッグに集中できるようになりました。”

Ryan Staatz, システムアーキテクト,LogDNA

ケーススタディを読む