オープンソースの Falco と gcpaudit プラグインでアラートをラングリング
Google Cloud Japan Team
※この投稿は米国時間 2024 年 2 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。
クラウドにおけるマイクロサービスのモニタリングは、デベロッパーの急速なアプリケーション リリースのスピードに追いつこうと苦労しているチームにとって、ますます面倒な作業になっています。セキュリティ チームの負担を軽減する 1 つの方法は、オープンソースのランタイム セキュリティ プラットフォームである Falco を使用して、Linux コンテナやアプリケーションの不審な動作を迅速に特定することです。Falco の包括的な目標は、迅速にデプロイされるクラウド ファーストのワークロードを場所を問わず容易に可視化し、エンジニアリング組織のストレスを軽減することです。
Falco は、他の重要なセキュリティ タスクにも活用できます。たとえば、Google Kubernetes Engine(GKE)とともに使用すると、クラスタやコンテナのワークロードのセキュリティをモニタリングできます。Falco は、万能なスイス アーミーナイフのように、どのような種類のクラウド ファーストのワークロードにおいても不審な動作を検出できます。このプラグイン アーキテクチャを使用すると、既知のフォーマットでデータをストリーミングするほぼすべてのものをモニタリングでき、これにはさまざまな Google Cloud サービスも含まれます。
以下では、Falco と gcpaudit プラグインが、さまざまな Google Cloud サービスにわたってランタイム セキュリティ モニタリングをどのように可能にするかを紹介します。
先に進む前に、プラグイン モデルを理解しておくことが重要です。Falco のプラグインは、文書化された API に準拠する共有ライブラリであり、Falco のコア機能に組み込まれています。このモデルを使用すると、新しいイベントソースの追加、イベントから抽出される新しいフィールドの定義、データ ストリームから抽出されたコンテンツの解析、特定のデータ ストリームへの非同期でのイベント挿入などを行うことができます。正式にメンテナンスされている Falco プラグインは、プラグイン レジストリにあります。
gcpaudit プラグインによるログデータ分析
gcpaudit プラグインは、以下のような主要な Google Cloud サービスの監査ログを取り込みます。
- Compute Engine
- KMS
- Cloud Armor WAF
- IAM
- Cloud Storage
- BigQuery
- Cloud SQL
- Pub/Sub
- Cloud Logging
- Cloud Functions
このプラグインは、最適化された Google Cloud ロギング フィルタまたは「シンク」を使用して、最も重要なイベントを、モニタリング対象サービスから組織のプロジェクト内で実行されている Pub/Sub トピックに送信します。gcpaudit プラグインは、Pub/Sub トピックからイベントを取得し、フィルタとエンリッチメントを(カスタム メタデータを使用して)適用し、オペレーターが Falco でアクセスできるようにします。
このフィルタリング プロセスは、MITRE ATT&CK フレームワークを念頭において作成された一連のカスタム Falco ルールに基づいています。たとえば、仮想マシン(VM)の削除やデータベース バックアップの削除などのアクションがこれらのルールのいずれかをトリガーすると、Falco がアラートを送信します。このプラグインにより、複数の Google Cloud サービスにわたるセキュリティ イベントを一元的に把握でき、不正アクセスやデータの引き出し、その他の悪意のあるアクティビティを検出できます。
ハンドブックの作成、イベントの関連付け、インシデントの優先順位付けなど、その他のセキュリティ運用プロセスをサポートするために、これらのアラートを Chronicle Security Operations などのセキュリティ情報およびイベント管理(SIEM)システムに送信できます。Falco は、デフォルトで stdout、syslog、HTTP / HTTPS クライアント、gRPC エンドポイントのいずれかにアラートを送信しますが、コンパニオン プロジェクトの FalcoSidekick を活用することで、環境内の他の宛先にアラートを送信できます。
Falco の使用に際しては、考慮すべき重要な点がいくつかあります。まず、Autopilot モードで実行している GKE クラスタでは Falco を使用できません。これは、ドライバをインストールするために特権アクセスが必要なためです。また、重複を避けるために、gcpaudit プラグインのインスタンスは、モニタリング対象の環境ごとに 1 つだけデプロイします。たとえば、GKE クラスタのノードごとにプラグインをインストールしないようにします。Cloud Logging は、一連のモニタリング対象のサービスのアラートを集約し、プラグインに転送します。プラグインは、コンピューティング インスタンス VM に直接インストールすることも、GKE の Pod として実行することもできます。
メッセージング アプリケーション、オブザーバビリティ ツール、オブジェクト ストア、データベースなど、60 以上の機能に利用でき、多くのオプションがあります。Falco はオープンソース プロジェクトであるため、ご自身で開発に貢献することもできます。
マイクロサービスは複雑な場合があり、意味のあるアラートを適切なチームに迅速かつ正確に届けるのは困難かもしれません。セキュリティを確保するために必要な可視性を提供することは、特に Kubernetes を使用する際には難しい場合があります。セキュリティ チームは、gcpaudit プラグインを活用することで、このような Google Cloud ワークロードのイベントをより迅速に特定してインシデントに対応できるようになり、組織のセキュリティ対策を向上させることができます。
アプリケーションを「常に安全」に保つ Falco の gcpaudit プラグインについて説明した詳細なチュートリアルをご覧いただき、ぜひこのプラグインをお試しください。
ー Sysdig、スタッフ デベロッパー アドボケイト Mike Coleman 氏
ー Google、スタッフ クラウド セキュリティ アドボケイト Michele Chubirka