deb もしくは rpmパッケージを使用してFalcoをインストールした場合は、サービスを開始することができます:
service falco start
あるいは、systemd
の場合:
systemctl start falco
これは systemd-sysv-generator
が init.d
スクリプトを systemd
ユニットにラップしているからです。
また、journalctl
を使ってFalcoのログを見ることもできます。
journalctl -fu falco
手作業でFalcoを実行したい場合は、入力することでFalcoの完全な使用法の説明を見つけることができます:
falco --help
ユーザースペースのインストルメントをお探しですか?このページをご覧ください。
Falcoは公式のdocker imagesのセットを提供しています。 イメージは以下の2つの方法で使用できます:
少なくともKernel 5.8以上でないと、eBPFプローブドライバでLeast privilegedモードを使用することはできません。
これは --privileged
が bpf
のシステムコールを行うために必要だからです。
Kernel >= 5.8 を実行している場合は、ステップ 2 の docker run コマンドに --cap-add BPF
を渡すことができます。
そして、カーネルモジュールのインストールセクションは完全に無視してください。
詳しくはこちらをご覧くださいこちら
このようにして、Falco ユーザスペースプロセスをコンテナ内で実行することができます。
カーネルモジュールがホストシステムに直接インストールされると、コンテナ内から使用することができます。
カーネルモジュールのインストール:
docker pull falcosecurity/falco-driver-loader:latest
docker run --rm -i -t \
--privileged \
-v /root/.falco:/root/.falco \
-v /proc:/host/proc:ro \
-v /boot:/host/boot:ro \
-v /lib/modules:/host/lib/modules:ro \
-v /usr:/host/usr:ro \
-v /etc:/host/etc:ro \
falcosecurity/falco-driver-loader:latest
falcosecurity/falco-driver-loader
イメージは単に falco-driver-loader
スクリプトをラップしているだけです。
その使用法についての詳細はこちらをご覧ください
Dockerを使ってコンテナ内のFalcoを最小特権の原則で実行する:
docker pull falcosecurity/falco-no-driver:latest
docker run --rm -i -t \
--cap-add SYS_PTRACE --pid=host $(ls /dev/falco* | xargs -I {} echo --device {}) \
-v /var/run/docker.sock:/var/run/docker.sock \
falcosecurity/falco-no-driver:latest
AppArmor LSMを有効にしたシステム(例:Ubuntu)でFalcoを実行している場合、--security-opt apparmor:unconfined
を次のように渡す必要があります。
上記の docker run
コマンドを実行します。
AppArmorが有効になっているかどうかは、以下のコマンドを使用して確認できます:
docker info | grep -i apparmor
ls /dev/falco* | xargs -I {} echo --device {}
は CPU ごとに --dev/dev/falcoX
オプションを出力することに注意してください (つまり、Falco のカーネルモジュールによって作成されたデバイスだけです)。
Dockerを使ってコンテナでFalcoをフル権限で実行するには:
カーネルモジュールドライバでFalcoを使用する場合
docker pull falcosecurity/falco:latest
docker run --rm -i -t \
--privileged \
-v /dev:/host/dev \
-v /proc:/host/proc:ro \
-v /boot:/host/boot:ro \
-v /lib/modules:/host/lib/modules:ro \
-v /usr:/host/usr:ro \
-v /etc:/host/etc:ro \
falcosecurity/falco:latest
あるいは、eBPFプローブドライバを使用することもできます:
docker pull falcosecurity/falco:latest
docker run --rm -i -t \
--privileged \
-e FALCO_BPF_PROBE="" \
-v /dev:/host/dev \
-v /proc:/host/proc:ro \
-v /boot:/host/boot:ro \
-v /lib/modules:/host/lib/modules:ro \
-v /usr:/host/usr:ro \
-v /etc:/host/etc:ro \
falcosecurity/falco:latest
その他の設定可能なオプション:
DRIVER_REPO
- ドライバのインストール を参照してください。SKIP_DRIVER_LOADER
- この環境変数を設定することで、falcosecurity/falco
イメージの起動時に falco-driver-loader
を実行しないようにします。ドライバが既に他の方法でホストにインストールされている場合に便利です。これは、PIDを殺さずにFalcoの設定を再ロードし、エンジンを再起動します。これは、デーモンを殺さずに新しい設定変更を伝播させるのに便利です。
kill -1 $(cat /var/run/falco.pid)
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.