サードパーティ統合
スクリプトインストール
LinuxにFalcoをインストールするには、必要な手順を実行するシェルスクリプトをダウンロードできます:
curl -o install_falco -s https://falco.org/script/install
次に、sha256sum
ツール(または類似のツール)を使用して、スクリプトの SHA256 チェックサムを確認します。
sha256sum install_falco
59201c1339cc53e86edcd7d2e7273e52f784b3cf7d4a3142059112b3b9062f6d
である必要があります。
次に、スクリプトをrootまたはsudoで実行します:
sudo bash install_falco
Minikube
ローカル環境のKubernetesでFalcoを使用する最も簡単な方法は、 Minikubeにあります。 Kubernetes YAMLマニフェストとHelmチャートの両方がMinikubeで定期的にテストされています。
デフォルトの --driver
引数で minikube
を実行すると、MinikubeはさまざまなKubernetesサービスを実行するVMを作成し、ポッドなどを実行するコンテナフレームワークを作成します。通常、VMには実行中のカーネルのカーネルヘッダーが含まれていないためMinikube上にFalcoカーネルモジュールを直接ビルドすることはできません。
これに対処するために、Falco 0.13.1以降、最新から10のMinikubeバージョン用のカーネルモジュールを事前にビルドし、https://s3.amazonaws.com/download.draios.comで利用できるようにしています。 これにより、ダウンロード可能なフォールバックステップがロード可能なカーネルモジュールで成功します。
今後も、Falcoの新しいリリースごとに、Minikubeの最新10バージョンを引き続きサポートします。 現在、ダウンロード用に以前にビルドされたカーネルモジュールを保持しているため、限られた履歴サポートも引き続き提供します。
MinikubeでFalcoを設定する方法については、 このブログ投稿 も参照してください。
Kind
KindクラスターでFalcoを実行する最も簡単な方法は次のとおりです:
設定ファイルを作成します。 例えば:
kind-config.yaml
以下をファイルに追加します:
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
extraMounts:
- hostPath: /dev
containerPath: /dev
- 設定ファイルを指定してクラスターを作成します:
kind create cluster --config=./kind-config.yaml
- kindにおけるKubernetesクラスターにFalcoをインストールします。
Helm
Helmは、KubernetesにFalcoをインストールする方法です。 Falcoコミュニティは、Helm chartとそれを使用する方法に関するドキュメントをサポートしていますここにあります。
CoreOS
CoreOSでFalcoを実行するための推奨される方法は、Dockerセクションのインストールコマンドを使用して、自身のDockerコンテナ内で行うことです。 この方法では、ホストOS上のすべてのコンテナを完全に可視化できます。
この方法は自動的に更新され、自動セットアップやbash completionなどの優れた機能が含まれています。また、CoreOS以外の他のディストリビューションでも使用できる一般的な方法です。
ただし、CoreOSツールボックスでFalcoを実行することを好むユーザーもいます。推奨される方法ではありませんが、これは通常のインストール方法を使用してツールボックス内にFalcoをインストールし、次に手動で falco-driver-loader
スクリプトを実行することで実現できます:
toolbox --bind=/dev --bind=/var/run/docker.sock
curl -s https://falco.org/script/install | bash
falco-driver-loader
GKE
Google Kubernetes Engine(GKE)は、ワーカーノードプールのデフォルトのオペレーティングシステムとしてContainer-Optimized OS(COS)を使用します。 COSは、基盤となるOSの特定の部分へのアクセスを制限する、セキュリティが強化されたオペレーティングシステムです。このセキュリティ制約のため、Falcoはシステムコールのイベントを処理するためにカーネルモジュールを挿入できません。ただし、COSはeBPF(拡張されたBerkeley Packet Filter)を利用して、システムコールのストリームをFalcoエンジンに提供する機能を提供します。
Falcoは最小限の設定変更でeBPFを使用できます。 これを行うには、FALCO_BPF_PROBE
環境変数を空の値に設定します:FALCO_BPF_PROBE=""
。
eBPFは現在、GKEとCOSでのみサポートされていますが、ここでは幅広いプラットフォームセットのインストールの詳細を提供します
プローブファイルの代替パスを指定する場合は、FALCO_BPF_PROBE
を既存のeBPFプローブのパスに設定することもできます。
公式のコンテナイメージを使用する場合、この環境変数を設定すると、falco-driver-loader
スクリプトがトリガーされ、適切なバージョンのCOSのカーネルヘッダーがダウンロードされ、適切なeBPFプローブがコンパイルされます。他のすべての環境では、falco-driver-loader
スクリプトを自分で呼び出して、次の方法で取得できます:
sudo FALCO_VERSION="0.36.2" FALCO_BPF_PROBE="" falco-driver-loader
上記のスクリプトを正常に実行するには、clang
とllvm
をインストールする必要があります。
パッケージからFalcoをインストールする場合は、falco
systemdユニットを編集する必要があります。
これは、次のコマンドを実行して実行できます:
systemctl edit falco
エディターが開きます。この時点で、このコンテンツをファイルに追加して、ユニットの環境変数を設定できます:
[Service]
Environment='FALCO_BPF_PROBE=""'
Falco with Helmをインストールする場合は、ebpf.enabled
オプションを true
に設定する必要があります:
helm install falco falcosecurity/falco --set ebpf.enabled=true
Was this page helpful?
Let us know! You feedback will help us to improve the content and to stay in touch with our users.
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.