オープンソース

Falco〜コンテナの侵入・改ざん検知ツール〜

Falcoとは

Falcoとは、OSSのコンテナランタイムセキュリティソフトウェアです。Sysdig.inc社によって開発され、ライセンスは、Apache License Version 2、開発言語は、Goで公開されています。特にKubernetesを代表するコンテナ環境をターゲットにされています。CNCF(Cloud Native Computing Foundation)のインキュベーションプロジェクトとしても登録されています。FalcoはLinux KernelのeBPF(extended Berkeley Packet Filter)という機能を利用して、システムコールをキャプチャします。キャプチャしたシステムコールを利用して、アラートが送信されます。つまり、条件によってシステム上で通常行われないような操作を検知し、アラートが送られるようになっています。

Falcoの特徴

Falcoには、以下の特徴があります。

コンテナ内のイベントを検知して、アラートを送信する

アラート送信図

Falcoは、動作中のコンテナ内のイベントを検知して、アラートを送信することができます。例えば、コンテナでシェルのプロセスが動作したことを検知した場合や、コンテナ内の/bin等のディレクトリが改ざんされたことを検知した場合にアラートを送信します。

アラートを利用形態に合わせて変更できる

Falcoは、様々なシステムとの連携を意識して開発されているため、様々なアラートの方式があります。コマンドを実行してメールを送信したり、Syslogを使ってアラートをログに出力したりすることができます。また、Slack等のチャットシステムにメッセージを送ることもできます。

コンテナ・ポッドに対してランタイムセキュリティチェックを行うことができる

ランタイムセキュリティチェックは、実行時にコンテナや、ポッドの動作を監視することで実装できます。標準的な動作から外れた場合の動作を検出することや、決して起こらない動作を検出することも可能です。

デフォルトで利用可能なルールが揃っている

Falcoには、デフォルトで多くの侵入・改ざん検知のルールが含まれています。ただ、デフォルトのルールが、実運用に合わない場合があります。そのような場合、ユーザ定義のルールを後から追加することができるようになっています。単純に追加するだけでなく、デフォルトのルールを上書きしたり、条件を追加するなど、きめ細かい変更ができるようになっています。

Falcoの利用方法

Falcoは、コンテナ内でのマルウェアの実行などに気付くことを、重点として開発されています。Kubernetesやコンテナの特性上、異常な動きを検知した場合、能動的な対策を打つことができます。
例えば次のような方法です。

  1. Falcoが特定のポッドで、攻撃的なファイルの作成を検知
  2. 外部プログラムにポッドのID等の情報を渡す
  3. 外部プログラムが自動的にポッドを再作成

この方法であれば、例えば攻撃者がコンテナにマルウェアを注入し実行しようとした場合でも、マルウェアを配置した段階で、ポッドを再作成することができます。そのため攻撃の成功の可能性を低くすることも可能です。

Falcoの運用ポイント

Falcoは、柔軟にルールを作成できるため、様々なニーズに合わせてシステムの監査を行うことができます。しかし、ルール作成・更新の敷居が高いという弱点もあります。弱点としては以下が挙げられます。

  • デフォルトのルールを理解する必要がある
  • 新しいルールを作るためには、フィールドの理解と試行錯誤が必要
  • アラートの除外ルールを作るための運用が負担になると予想される
  • アラートをプログラムでパースしやすいJSONにするためには、既存のルールをほぼすべて上書きしないといけない

FalcoとSELinuxとの違い

SELinuxとは、Linuxをより安全に運用するために、セキュリティ機能を強化するモジュールです。SELinuxは、OS管理下のアプリケーション、プロセス、ファイルへアクセスすることを監視・制御することができます。SELinuxとFalcoの異なる点として、SELinuxは操作の禁止を行いますが、Falcoはモニタリングのみを行います。また、SELinuxは完全にカーネルで制御されるのに対して、Falcoはユーザランドのプログラムが制御します。

デージーネットの取り組み

デージーネットではFalcoの他に、動的なコンテナ/コンテナイメージの脆弱性スキャンを行うVuls/Trivyなどのツールも取り扱っています。お客様のご要望に合わせ、ソフトウェア組み合わせてコンテナ環境のセキュリティを高める提案を行っています。Falcoのインストール方法や詳細な情報は、Falco調査報告書に掲載しています。

「情報の一覧」

Falco調査報告書

無料資料ダウンロード

Falcoは、Sysdig.inc社によって開発されたセキュリティソフトウェアです。特にKubernetesを代表するコンテナ環境をターゲットに開発されています。本書は、Kubernetes等コンテナ環境のランタイムセキュリティソフトウェアであるFalcoの調査報告書です。

仮想化で使えるオープンソースソフトウェアとは?比較20選

仮想化ソフト比較

仮想化環境を構築すると、物理リソースの削減による社内スペースの確保、リソースの効率的な管理、運用コストの削減などが実現できます。この記事では、仮想化に関連したソフトウェアを、4つのカテゴリでご紹介します。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。


デモをご希望の方

デモの申し込みイメージ

OSS情報「Kubernetes」

Kubernetes〜コンテナ管理の課題を解決するOSS〜
ここでは、Dockerコンテナの管理を自動化するためのソフトウェア「Kubernetes」を紹介します。
Kubernetesクラスタの構築
ここでは、CentOS7に最小限のKubernetesクラスタを構築する方法について説明いたします。
KubernetesのPod機能
ここではPod機能について説明いたします。
Kubernetesのレプリカセットとデプロイメント
ここではデプロイメントという機能を利用してレプリカセットを作成する方法について説明いたします。
Kubernetesのアーキテクチャ
ここではアーキテクチャについて説明いたします。
Kubernetesのコンテナアップデート
ここでは、Kubernetesでソフトウェアをアップデートする場合の手法について説明いたします。
Kubernetesのローリングアップデート
ここでは、Kubernetesのローリングアップデート機能の概要について説明いたします。
Kubernetesのダッシュボード
ここでは管理用のダッシュボードについて説明いたします。
Kubernetesの永続ストレージ
ここでは永続ストレージについて説明いたします。
Rancher〜Kubernetesの管理ソフトウェア〜
ここでは、Kubernetesの管理ソフトウェアのRancherについて紹介します。
GitLab〜Dockerのプロジェクト管理とレジストリ〜
GitLabは、ウェブ型のGitリポジトリマネージャーです。ここではGitLabのコンテナレジストリについて説明いたします。
DRBD-SDSとKubernetes
ここではDRBD-SDSを利用することでサービスの冗長化を実現させる手法について説明いたします。
Falco〜コンテナの侵入・改ざん検知ツール〜
ここではKubernetesを代表するコンテナ環境をターゲットにしているコンテナランタイムセキュリティソフトウェアのFalcoについて説明いたします。
Trivy〜コンテナイメージの脆弱性診断ツール〜
Trivyは、コンテナイメージの脆弱性診断ツールです。ここではTrivyの機能や特徴などについて説明いたします。
コンテナ型仮想化に関連したOSS
ここでは、コンテナ型仮想化に関連したOSSを紹介いたします。

Falco〜コンテナの侵入・改ざん検知ツール〜の先頭へ