<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Falco – Setup</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/</link><description>Recent content in Setup on Falco</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="https://v0-43--falcosecurity.netlify.app/docs/setup/feed.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Deploy on Kubernetes with the Operator</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/operator/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/operator/</guid><description>
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The &lt;strong&gt;Falco Operator&lt;/strong&gt; is the recommended way to deploy and manage Falco on Kubernetes. It provides a declarative, Kubernetes-native experience for managing Falco instances, detection rules, plugins, and configuration through Custom Resources.&lt;/p&gt;
&lt;p&gt;Going forward, the Falco Operator will become the standard deployment method for Falco on Kubernetes. The existing &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/kubernetes/"&gt;Helm chart&lt;/a&gt; remains fully supported during the transition period.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://github.com/falcosecurity/falco-operator"&gt;Falco Operator&lt;/a&gt; manages the full Falco ecosystem through Kubernetes Custom Resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Falco Operator&lt;/strong&gt; - Manages Falco instances (DaemonSet or Deployment mode) and ecosystem components&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Artifact Operator&lt;/strong&gt; - Manages rules, plugins, and configuration fragments (runs as a sidecar in each Falco pod)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The operator uses &lt;strong&gt;five Custom Resource Definitions (CRDs)&lt;/strong&gt; across two API groups:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CRD&lt;/th&gt;
&lt;th&gt;API Group&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Falco&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;instance.falcosecurity.dev/v1alpha1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Define and manage a Falco instance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Component&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;instance.falcosecurity.dev/v1alpha1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Deploy ecosystem components (Falcosidekick, Falcosidekick UI, k8s-metacollector)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Rulesfile&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;artifact.falcosecurity.dev/v1alpha1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Manage detection rules (OCI, inline YAML, or ConfigMap)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Plugin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;artifact.falcosecurity.dev/v1alpha1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Manage Falco plugins from OCI registries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Config&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;artifact.falcosecurity.dev/v1alpha1&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Manage configuration fragments (inline YAML or ConfigMap)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Kubernetes 1.29+ (native sidecar support required)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubectl&lt;/code&gt; installed and configured&lt;/li&gt;
&lt;li&gt;Cluster admin privileges (for CRD and ClusterRole installation)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="install-the-operator"&gt;Install the Operator&lt;/h2&gt;
&lt;p&gt;Install the Falco Operator with a single command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;VERSION&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;latest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;if&lt;/span&gt; &lt;span style="color:#666"&gt;[&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#b8860b"&gt;$VERSION&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;latest&amp;#34;&lt;/span&gt; &lt;span style="color:#666"&gt;]&lt;/span&gt;; &lt;span style="color:#a2f;font-weight:bold"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; kubectl apply --server-side -f https://github.com/falcosecurity/falco-operator/releases/latest/download/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; kubectl apply --server-side -f https://github.com/falcosecurity/falco-operator/releases/download/&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;VERSION&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This creates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;5 CRDs&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;falco-operator&lt;/code&gt; namespace&lt;/li&gt;
&lt;li&gt;A ServiceAccount, ClusterRole, and ClusterRoleBinding&lt;/li&gt;
&lt;li&gt;The operator Deployment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Verify the operator is running:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get pods -n falco-operator
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#a2f"&gt;wait&lt;/span&gt; pods --for&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b8860b"&gt;condition&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;Ready --all -n falco-operator
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="full-stack-quickstart"&gt;Full Stack Quickstart&lt;/h2&gt;
&lt;p&gt;Want to deploy the entire Falco ecosystem in one command? The quickstart manifest deploys everything in the &lt;code&gt;falco&lt;/code&gt; namespace: Falco, detection rules, container and k8smeta plugins, Falcosidekick, Falcosidekick UI with Redis, k8s-metacollector, and the configuration to wire them all together:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;VERSION&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;latest
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;if&lt;/span&gt; &lt;span style="color:#666"&gt;[&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#b8860b"&gt;$VERSION&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;&lt;/span&gt; &lt;span style="color:#666"&gt;=&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;latest&amp;#34;&lt;/span&gt; &lt;span style="color:#666"&gt;]&lt;/span&gt;; &lt;span style="color:#a2f;font-weight:bold"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; kubectl apply --server-side -f https://github.com/falcosecurity/falco-operator/releases/latest/download/quickstart.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;else&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; kubectl apply --server-side -f https://github.com/falcosecurity/falco-operator/releases/download/&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;VERSION&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;/quickstart.yaml
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Verify everything is running:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get falco,plugins,rulesfiles,configs,components -n falco
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get pods -n falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All resources should show &lt;code&gt;Reconciled: True&lt;/code&gt; and &lt;code&gt;Available: True&lt;/code&gt;. All pods should be &lt;code&gt;Running&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To uninstall (order matters - artifacts first so the sidecar can process finalizer cleanup):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 1. Artifacts first&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete configs,rulesfiles,plugins --all -n falco
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 2. Instances and components&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete components,falcos --all -n falco
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 3. Infrastructure&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete statefulset falcosidekick-ui-redis -n falco
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete svc falcosidekick-ui-redis -n falco
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 4. Namespace&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete namespace falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;To configure Falcosidekick outputs (Slack, Elasticsearch, S3, etc.), see the &lt;a href="https://github.com/falcosecurity/falcosidekick#outputs"&gt;Falcosidekick documentation&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;If you prefer to deploy components individually and customize each one, follow the step-by-step quickstart below.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="step-by-step-quickstart"&gt;Step-by-Step Quickstart&lt;/h2&gt;
&lt;h3 id="deploy-falco"&gt;Deploy Falco&lt;/h3&gt;
&lt;p&gt;Create a Falco instance with default settings (DaemonSet mode, &lt;code&gt;modern_ebpf&lt;/code&gt; driver):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: instance.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Falco
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: falco
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec: {}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check that Falco pods are running on your nodes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get falco
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get pods -l app.kubernetes.io/name&lt;span style="color:#666"&gt;=&lt;/span&gt;falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Falco starts in idle mode until you provide detection rules. The next steps add the container plugin and rules to activate monitoring.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="add-the-container-plugin"&gt;Add the Container Plugin&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The official Falco rules use fields like &lt;code&gt;container.id&lt;/code&gt; and &lt;code&gt;container.image.repository&lt;/code&gt; that require the &lt;a href="https://github.com/falcosecurity/plugins/tree/main/plugins/container"&gt;container plugin&lt;/a&gt;. Without it, rules referencing container metadata fields will not work. Always load the container plugin &lt;strong&gt;before&lt;/strong&gt; adding rules.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: artifact.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Plugin
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: container
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; ociArtifact:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; image:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; repository: falcosecurity/plugins/plugin/container
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; tag: latest
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; registry:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: ghcr.io
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="add-detection-rules"&gt;Add Detection Rules&lt;/h3&gt;
&lt;p&gt;Load the official Falco rules from the OCI registry:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: artifact.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Rulesfile
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: falco-rules
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; ociArtifact:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; image:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; repository: falcosecurity/rules/falco-rules
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; tag: latest
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; registry:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: ghcr.io
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; priority: 50
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check the rulesfile status:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get rulesfiles
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Falco will automatically pick up the rules and start monitoring.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The &lt;code&gt;registry.name&lt;/code&gt; field defaults to &lt;code&gt;ghcr.io&lt;/code&gt; when omitted. The &lt;code&gt;image.tag&lt;/code&gt; field defaults to &lt;code&gt;latest&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Rules can also come from inline YAML or Kubernetes ConfigMaps. See the &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/rulesfile.md"&gt;Rulesfile CRD reference&lt;/a&gt; for all options.&lt;/p&gt;
&lt;h3 id="add-other-plugins"&gt;Add Other Plugins&lt;/h3&gt;
&lt;p&gt;Load additional plugins from OCI registries. For example, the k8saudit plugin for Kubernetes audit log monitoring:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: artifact.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Plugin
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: k8saudit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; ociArtifact:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; image:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; repository: falcosecurity/plugins/plugin/k8saudit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; tag: latest
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; registry:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: ghcr.io
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;See the &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/plugin.md"&gt;Plugin CRD reference&lt;/a&gt; for configuration options.&lt;/p&gt;
&lt;h3 id="add-ecosystem-components"&gt;Add Ecosystem Components&lt;/h3&gt;
&lt;p&gt;The operator can deploy ecosystem components alongside Falco using the &lt;code&gt;Component&lt;/code&gt; CRD.&lt;/p&gt;
&lt;h4 id="falcosidekick"&gt;Falcosidekick&lt;/h4&gt;
&lt;p&gt;Deploy &lt;a href="https://github.com/falcosecurity/falcosidekick"&gt;Falcosidekick&lt;/a&gt; to route Falco events to 70+ integrations:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: instance.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Component
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: sidekick
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; component:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; type: falcosidekick
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; replicas: 2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then configure Falco to send events to Falcosidekick:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: artifact.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Config
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: sidekick-output
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; config:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; json_output: true
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; http_output:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; enabled: true
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; url: &amp;#34;http://sidekick:2801&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; priority: 60
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="falcosidekick-ui"&gt;Falcosidekick UI&lt;/h4&gt;
&lt;p&gt;Deploy the web dashboard for event visualization. Requires a Redis instance:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: instance.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Component
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: sidekick-ui
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; component:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; type: falcosidekick-ui
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; replicas: 2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Falcosidekick UI requires an external Redis instance. If Redis is not available, pods will stay in &lt;code&gt;Init:0/1&lt;/code&gt; state until Redis becomes reachable. See the &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/component.md#falcosidekick-ui-with-redis"&gt;Component CRD reference&lt;/a&gt; for a complete example with a bundled Redis StatefulSet.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="k8s-metacollector"&gt;k8s-metacollector&lt;/h4&gt;
&lt;p&gt;Deploy the centralized Kubernetes metadata collector:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: instance.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Component
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: metacollector
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; component:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; type: metacollector
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; replicas: 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="customize-configuration"&gt;Customize Configuration&lt;/h3&gt;
&lt;p&gt;Override Falco configuration with Config resources:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cat &lt;span style="color:#b44"&gt;&amp;lt;&amp;lt;EOF | kubectl apply -f -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;apiVersion: artifact.falcosecurity.dev/v1alpha1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;kind: Config
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;metadata:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; name: custom-config
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;spec:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; config:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; engine:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; kind: modern_ebpf
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; modern_ebpf:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; buf_size_preset: 4
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; output_timeout: 2000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt; priority: 50
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configuration fragments are applied in priority order (0–99) and merged with the base configuration. You can target specific nodes using label selectors. See the &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/config.md"&gt;Config CRD reference&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="deployment-modes"&gt;Deployment Modes&lt;/h3&gt;
&lt;p&gt;The operator supports two deployment modes:&lt;/p&gt;
&lt;h4 id="daemonset-default"&gt;DaemonSet (default)&lt;/h4&gt;
&lt;p&gt;Runs Falco on every node for cluster-wide syscall monitoring using the &lt;code&gt;modern_ebpf&lt;/code&gt; driver. This is the standard deployment for runtime security.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;spec&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;type&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;DaemonSet&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="deployment"&gt;Deployment&lt;/h4&gt;
&lt;p&gt;Runs Falco as a regular Deployment instead of a DaemonSet.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;spec&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;type&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Deployment&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;replicas&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#666"&gt;2&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="uninstall"&gt;Uninstall&lt;/h2&gt;
&lt;p&gt;Remove resources in the correct order, artifacts first (so the sidecar can clean up finalizers), then instances, then the operator:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 1. Remove artifact resources first&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete rulesfiles --all --all-namespaces
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete plugins --all --all-namespaces
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete configs --all --all-namespaces
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 2. Remove instance resources&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete components --all --all-namespaces
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete falco --all --all-namespaces
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# 3. Remove the operator and CRDs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl delete -f https://github.com/falcosecurity/falco-operator/releases/latest/download/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Deleting Falco instances before artifacts will terminate the Artifact Operator sidecar, leaving artifact finalizers unresolved. Always delete artifact resources (&lt;code&gt;Rulesfile&lt;/code&gt;, &lt;code&gt;Plugin&lt;/code&gt;, &lt;code&gt;Config&lt;/code&gt;) before Falco instances.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="learn-more"&gt;Learn More&lt;/h2&gt;
&lt;p&gt;For complete documentation, including the CRD reference, architecture overview, migration guide, and contributing instructions, visit the &lt;a href="https://github.com/falcosecurity/falco-operator"&gt;Falco Operator repository&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Full documentation&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/README.md"&gt;github.com/falcosecurity/falco-operator/docs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CRD reference&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/falco.md"&gt;Falco&lt;/a&gt;, &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/rulesfile.md"&gt;Rulesfile&lt;/a&gt;, &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/plugin.md"&gt;Plugin&lt;/a&gt;, &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/config.md"&gt;Config&lt;/a&gt;, &lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/crds/component.md"&gt;Component&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Architecture&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/falcosecurity/falco-operator/blob/main/docs/architecture.md"&gt;Architecture overview&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sample manifests&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/falcosecurity/falco-operator/tree/main/config/samples"&gt;config/samples/&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Docs: Deploy on Kubernetes with Helm</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/kubernetes/</guid><description>
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The &lt;strong&gt;&lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/operator/"&gt;Falco Operator&lt;/a&gt;&lt;/strong&gt; is now the recommended way to deploy Falco on Kubernetes. It provides a declarative, Kubernetes-native experience with Custom Resources for managing Falco instances, rules, plugins, and configuration. The Helm chart method described on this page remains fully supported.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Falco consumes streams of events and evaluates them against a set of security &lt;a class='glossary-tooltip' title='Rules are conditions under which an alert should be generated.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/rules/basic-elements/#rules' target='_blank' aria-label='rules'&gt;rules&lt;/a&gt; to detect abnormal behavior. By default, Falco is pre-configured to consume events from the Linux Kernel. This default installation scenario will add Falco to all nodes in your cluster using a &lt;a href="https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/"&gt;DaemonSet&lt;/a&gt;. This scenario requires Falco to be privileged, and depending on the kernel version installed on the node, a &lt;a class='glossary-tooltip' title='The global term for the software that sends events from the kernel.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/' target='_blank' aria-label='driver'&gt;driver&lt;/a&gt; will be installed on the node.&lt;/p&gt;
&lt;p&gt;For other installation scenarios, such as consuming cloud events or other data sources using plugins, please refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/plugins/"&gt;Plugins&lt;/a&gt; section.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;A well-established method to deploy Falco on a Kubernetes cluster is to use the provided Helm chart. The official Falco charts repository is hosted at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://falcosecurity.github.io/charts"&gt;https://falcosecurity.github.io/charts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If needed, you can consult the &lt;a href="https://helm.sh/docs/intro/install/"&gt;Installing Helm&lt;/a&gt; guide for information about how to download and install Helm. Before deploying Falco on Kubernetes, ensure you can access the targeted cluster running with Linux nodes, either x86_64 or ARM64. Also, you will need to have &lt;a href="https://kubernetes.io/docs/tasks/tools/"&gt;kubectl&lt;/a&gt; and &lt;a href="https://helm.sh/docs/intro/install/"&gt;helm&lt;/a&gt; installed and configured.&lt;/p&gt;
&lt;p&gt;Alternatively, Falco can be installed in Kubernetes without Helm by providing manifest files and deploying them to your cluster. For details, see the &lt;a href="https://github.com/falcosecurity/deploy-kubernetes/tree/main/kubernetes/falco/templates"&gt;example here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="install"&gt;Install&lt;/h2&gt;
&lt;p&gt;First, add the Helm repository:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm repo add falcosecurity https://falcosecurity.github.io/charts
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm repo update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then install Falco:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm install --replace falco --namespace falco --create-namespace --set &lt;span style="color:#b8860b"&gt;tty&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#a2f"&gt;true&lt;/span&gt; falcosecurity/falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And check that the Falco pods are running:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get pods -n falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Falco pod(s) might need a few seconds to start. Wait until they are ready:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl &lt;span style="color:#a2f"&gt;wait&lt;/span&gt; pods --for&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#b8860b"&gt;condition&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;Ready --all -n falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;p&gt;When deploying Falco via Helm, you will use Helm values to pass the Falco configuration. For further details, see the &lt;a href="https://github.com/falcosecurity/charts/tree/master/charts/falco#configuration"&gt;Falco Helm Chart documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="upgrade"&gt;Upgrade&lt;/h2&gt;
&lt;p&gt;If you wish to upgrade Falco to a new version, you need to find the corresponding version in the &lt;a href="https://github.com/falcosecurity/charts/blob/master/charts/falco"&gt;Falco Helm Chart repository&lt;/a&gt; (e.g., &lt;code&gt;4.8.1&lt;/code&gt; is for Falco &lt;code&gt;0.38.2&lt;/code&gt;) then run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm upgrade falco -n falco --version 4.8.1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;To avoid any possible disruption, before upgrading to a new version, consult the &lt;a href="https://github.com/falcosecurity/charts/blob/master/charts/falco/BREAKING-CHANGES.md"&gt;Falco Helm chart Breaking Changes page&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="uninstall"&gt;Uninstall&lt;/h2&gt;
&lt;p&gt;If you wish to remove Falco from your cluster, you can simply run:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;helm uninstall falco -n falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>Docs: Deploy as a container</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/container/</guid><description>
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Falco consumes streams of events and evaluates them against a set of security &lt;a class='glossary-tooltip' title='Rules are conditions under which an alert should be generated.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/rules/basic-elements/#rules' target='_blank' aria-label='rules'&gt;rules&lt;/a&gt; to detect abnormal behavior. By default, Falco is pre-configured to consume events from the Linux Kernel. This scenario requires Falco to be privileged, and depending on the kernel version installed on the node, a &lt;a class='glossary-tooltip' title='The global term for the software that sends events from the kernel.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/' target='_blank' aria-label='driver'&gt;driver&lt;/a&gt; will be installed on the node. Since orchestration systems like Kubernetes are out of scope for this section, it's up to the user to manage the container lifecycle and deployment across the nodes.&lt;/p&gt;
&lt;p&gt;For other installation scenarios, such as consuming cloud events or other data sources using plugins, please refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/plugins/"&gt;Plugins&lt;/a&gt; section.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="install"&gt;Install&lt;/h2&gt;
&lt;p&gt;This section describes how to run the Falco userspace process in a container using one of the released &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/download#images"&gt;container images&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By default, Falco is pre-configured to consume events from the Linux Kernel. For this default installation scenario, Falco can be run in two ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/container/#docker-privileged"&gt;Fully Privileged&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/container/#docker-least-privileged"&gt;Least Privileged (Recommended)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Different instructions apply to each method depending on the driver used. Note that the &lt;strong&gt;&lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt; does not require driver installation&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="docker-privileged"&gt;Fully Privileged&lt;/h3&gt;
&lt;p&gt;To run Falco in a container using Docker with full privileges, use the following commands:&lt;/p&gt;
&lt;h4 id="docker-privileged-modern-ebpf"&gt;Modern eBPF&lt;/h4&gt;
&lt;p&gt;The &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt; is bundled into the Falco binary. This allows you to run Falco without dependencies by using the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --privileged &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /sys/kernel/tracing:/sys/kernel/tracing:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /var/run/docker.sock:/host/var/run/docker.sock &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;On some systems, &lt;code&gt;tracefs&lt;/code&gt; is available at &lt;code&gt;/sys/kernel/debug/tracing&lt;/code&gt; instead of &lt;code&gt;/sys/kernel/tracing&lt;/code&gt;. If this is the
case, please replace &lt;code&gt;-v /sys/kernel/tracing:/sys/kernel/tracing:ro&lt;/code&gt; with
&lt;code&gt;-v /sys/kernel/debug/tracing:/sys/kernel/tracing:ro&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Mounting the host's &lt;code&gt;tracefs&lt;/code&gt; (i.e.: mounting the host &lt;code&gt;/sys/kernel/tracing&lt;/code&gt; path) is an optional but recommended
pre-requisite. By removing the &lt;code&gt;-v /sys/kernel/tracing:/sys/kernel/tracing:ro&lt;/code&gt; line from the above command, you will
reduce the amount of accesses granted to the container, but will not benefit anymore from TOCTOU mitigation support.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="docker-privileged-kernel-module"&gt;Kernel Module&lt;/h4&gt;
&lt;p&gt;For the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; driver, Falco requires the driver to be installed on the host system first.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the driver on the host system using the &lt;code&gt;falcosecurity/falco-driver-loader&lt;/code&gt; image, as described in the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/container/#driver-installation-kernel-module"&gt;Driver Installation&lt;/a&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run Falco:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --privileged &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /var/run/docker.sock:/host/var/run/docker.sock &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /dev:/host/dev &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco:0.43.0 falco -o engine.kind&lt;span style="color:#666"&gt;=&lt;/span&gt;kmod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="docker-privileged-ebpf"&gt;eBPF Probe&lt;/h4&gt;
&lt;p&gt;For the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt; driver, Falco requires the probe to be prepared and stored on the host system first (under &lt;code&gt;/root/.falco&lt;/code&gt;).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the driver on the host system using the &lt;code&gt;falcosecurity/falco-driver-loader&lt;/code&gt; image, as described in the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/container/#driver-installation-ebpf-probe"&gt;Driver Installation&lt;/a&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run Falco:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --privileged &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /var/run/docker.sock:/host/var/run/docker.sock &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /root/.falco:/root/.falco &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco:0.43.0 falco -o engine.kind&lt;span style="color:#666"&gt;=&lt;/span&gt;ebpf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If running a kernel version &amp;lt; 4.14, add &amp;#39;-v /sys/kernel/debug:/sys/kernel/debug:ro \&amp;#39; to the above docker command.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="docker-least-privileged"&gt;Least Privileged (Recommended)&lt;/h3&gt;
&lt;p&gt;To run Falco in a container using Docker with the &lt;a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege"&gt;principle of least privilege&lt;/a&gt;, you can use the following commands depending on the driver you want to use.&lt;/p&gt;
&lt;h4 id="docker-least-privileged-modern-ebpf"&gt;Modern eBPF&lt;/h4&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-drop all &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add sys_admin &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add sys_resource &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add sys_ptrace &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /sys/kernel/tracing:/sys/kernel/tracing:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /var/run/docker.sock:/host/var/run/docker.sock &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The minimum set of capabilities to run Falco with the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt; driver are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CAP_SYS_PTRACE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CAP_SYS_RESOURCE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CAP_BPF&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CAP_PERFMON&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, in the command above, we use &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt; because &lt;a href="https://github.com/moby/moby/pull/41563"&gt;Docker does not yet support&lt;/a&gt; &lt;code&gt;CAP_BPF&lt;/code&gt; and &lt;code&gt;CAP_PERFMON&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;On some systems, &lt;code&gt;tracefs&lt;/code&gt; is available at &lt;code&gt;/sys/kernel/debug/tracing&lt;/code&gt; instead of &lt;code&gt;/sys/kernel/tracing&lt;/code&gt;. If this is the
case, please replace &lt;code&gt;-v /sys/kernel/tracing:/sys/kernel/tracing:ro&lt;/code&gt; with
&lt;code&gt;-v /sys/kernel/debug/tracing:/sys/kernel/tracing:ro&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Mounting the host's &lt;code&gt;tracefs&lt;/code&gt; (i.e.: mounting the host &lt;code&gt;/sys/kernel/tracing&lt;/code&gt; path) is an optional but recommended
pre-requisite. By removing the &lt;code&gt;-v /sys/kernel/tracing:/sys/kernel/tracing:ro&lt;/code&gt; line from the above command, you will
reduce the amount of accesses granted to the container, but will not benefit anymore from TOCTOU mitigation support.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="docker-least-privileged-kernel-module"&gt;Kernel Module&lt;/h4&gt;
&lt;p&gt;For the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; driver, Falco requires the driver to be installed on the host system first. This step requires full privileges, while the Falco container can then run with the least privileges.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the driver on the host system using the &lt;code&gt;falcosecurity/falco-driver-loader&lt;/code&gt; image, as described in the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/container/#driver-installation-kernel-module"&gt;Driver Installation&lt;/a&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run Falco using the &lt;code&gt;falcosecurity/falco&lt;/code&gt; image with the least privileges:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -e &lt;span style="color:#b8860b"&gt;HOST_ROOT&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/ &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add SYS_PTRACE --pid&lt;span style="color:#666"&gt;=&lt;/span&gt;host &lt;span style="color:#a2f;font-weight:bold"&gt;$(&lt;/span&gt;ls /dev/falco* | xargs -I &lt;span style="color:#666"&gt;{}&lt;/span&gt; &lt;span style="color:#a2f"&gt;echo&lt;/span&gt; --device &lt;span style="color:#666"&gt;{}&lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;)&lt;/span&gt; &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /var/run/docker.sock:/var/run/docker.sock &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco:0.43.0 falco -o engine.kind&lt;span style="color:#666"&gt;=&lt;/span&gt;kmod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Note that &lt;code&gt;ls /dev/falco* | xargs -I {} echo --device {}&lt;/code&gt; outputs a &lt;code&gt;--device /dev/falcoX&lt;/code&gt; option per CPU (i.e., just the devices created by the Falco's kernel module). Also, &lt;code&gt;-e HOST_ROOT=/&lt;/code&gt; is necessary since with &lt;code&gt;--device&lt;/code&gt; there is no way to remap devices to &lt;code&gt;/host/dev/&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;If you are running Falco on a system with the AppArmor LSM enabled (e.g., Ubuntu), you must also pass &lt;code&gt;--security-opt apparmor:unconfined&lt;/code&gt; to the &lt;code&gt;docker run&lt;/code&gt; command above.&lt;/p&gt;
&lt;p&gt;You can verify if you have AppArmor enabled using the command below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker info | grep -i apparmor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 id="docker-least-privileged-ebpf-probe"&gt;eBPF Probe&lt;/h4&gt;
&lt;p&gt;For the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt; driver, Falco requires the probe to be prepared and stored on the host system first (under &lt;code&gt;/root/.falco&lt;/code&gt;). This step requires full privileges, after which the Falco container can run with the least privileges.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install the driver on the host system using the &lt;code&gt;falcosecurity/falco-driver-loader&lt;/code&gt; image, as described in the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/container/#driver-installation-ebpf-probe"&gt;Driver Installation&lt;/a&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run Falco using the &lt;code&gt;falcosecurity/falco&lt;/code&gt; image with the least privileges:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-drop all &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add sys_admin &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add sys_resource &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --cap-add sys_ptrace &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /var/run/docker.sock:/host/var/run/docker.sock &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /root/.falco:/root/.falco &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco:0.43.0 falco -o engine.kind&lt;span style="color:#666"&gt;=&lt;/span&gt;ebpf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If running a kernel version &amp;lt; 4.14, add &amp;#39;-v /sys/kernel/debug:/sys/kernel/debug:ro \&amp;#39; to the above Docker command.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;If you are running Falco on a system with the AppArmor LSM enabled (e.g., Ubuntu), you must also pass &lt;code&gt;--security-opt apparmor:unconfined&lt;/code&gt; to
the &lt;code&gt;docker run&lt;/code&gt; command above.&lt;/p&gt;
&lt;p&gt;To verify if AppArmor is enabled, use the command below:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker info | grep -i apparmor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;To run Falco with the least privileges using the eBPF probe, the following capabilities are required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On kernels &amp;lt;5.8, Falco requires &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt;, &lt;code&gt;CAP_SYS_RESOURCE&lt;/code&gt;, and &lt;code&gt;CAP_SYS_PTRACE&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;On kernels &amp;gt;=5.8, &lt;code&gt;CAP_BPF&lt;/code&gt; and &lt;code&gt;CAP_PERFMON&lt;/code&gt; were separated from &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt;, so the required capabilities are &lt;code&gt;CAP_BPF&lt;/code&gt;, &lt;code&gt;CAP_PERFMON&lt;/code&gt;, &lt;code&gt;CAP_SYS_RESOURCE&lt;/code&gt;, &lt;code&gt;CAP_SYS_PTRACE&lt;/code&gt;. Unfortunately, Docker does not yet support adding the two newly introduced capabilities with the &lt;code&gt;--cap-add&lt;/code&gt; option. For this reason, we continue using &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt;, which still allows performing the same operations granted by &lt;code&gt;CAP_BPF&lt;/code&gt; and &lt;code&gt;CAP_PERFMON&lt;/code&gt;. In the near future, Docker will support adding these two capabilities, and we will be able to replace &lt;code&gt;CAP_SYS_ADMIN&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="driver-installation"&gt;Driver Installation&lt;/h2&gt;
&lt;p&gt;This section provides instructions for installing the driver on the host system using the &lt;code&gt;falcosecurity/falco-driver-loader&lt;/code&gt; image. This approach is helpful if you prefer to install the driver on the host first and then run Falco in a container later.&lt;/p&gt;
&lt;p&gt;Driver installation on the host is only required for the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; and &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt; drivers.&lt;/p&gt;
&lt;p&gt;You can &lt;strong&gt;skip this section&lt;/strong&gt; if you plan to use the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt;.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;When using the eBPF probe or kernel module drivers, the driver loader attempts to either download a prebuilt driver or build it on the fly as a fallback. Starting with Falco 0.38, the driver loader has improved functionality to automatically retrieve the required kernel headers for distributions supported by &lt;a href="https://github.com/falcosecurity/driverkit"&gt;driverkit&lt;/a&gt;. This enhancement ensures that the necessary kernel headers are available to dynamically build the appropriate driver—whether it is the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; or the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, if the driver loader cannot automatically fetch the required kernel headers, you may need to install them manually on the host as a prerequisite. For detailed instructions on manual installation, refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/getting-started/installation"&gt;Installation section&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The &lt;code&gt;falcosecurity/falco-driver-loader:0.43.0&lt;/code&gt; is based on a recent Debian image. For ancient kernel versions, this might not work. The alternative &lt;code&gt;falcosecurity/falco-driver-loader:0.43.0-buster&lt;/code&gt; (based on an older Debian image) may work in such a case.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="driver-installation-kernel-module"&gt;Kernel Module&lt;/h3&gt;
&lt;p&gt;To install the kernel module driver on the host system, you can use the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco-driver-loader:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --privileged &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /root/.falco:/root/.falco &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /boot:/host/boot:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /lib/modules:/host/lib/modules &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /usr:/host/usr:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco-driver-loader:0.43.0 kmod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="driver-installation-ebpf-probe"&gt;eBPF Probe&lt;/h3&gt;
&lt;p&gt;To install the eBPF probe driver on the host system, you can use the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull falcosecurity/falco-driver-loader:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm -it &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --privileged &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /root/.falco:/root/.falco &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /boot:/host/boot:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /lib/modules:/host/lib/modules:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /usr:/host/usr:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /proc:/host/proc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v /etc:/host/etc:ro &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; falcosecurity/falco-driver-loader:0.43.0 ebpf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="verify-image-signing"&gt;Verify Image Signing&lt;/h2&gt;
&lt;p&gt;All official container images for Falco, starting from version 0.35.0, are signed with &lt;a href="https://github.com/sigstore/cosign"&gt;cosign&lt;/a&gt;. To verify the signature, you can run the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cosign verify docker.io/falcosecurity/falco:0.43.0 &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --certificate-oidc-issuer&lt;span style="color:#666"&gt;=&lt;/span&gt;https://token.actions.githubusercontent.com &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --certificate-identity-regexp&lt;span style="color:#666"&gt;=&lt;/span&gt;https://github.com/falcosecurity/falco/ &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --certificate-github-workflow-ref&lt;span style="color:#666"&gt;=&lt;/span&gt;refs/tags/0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Replace &lt;code&gt;docker.io/falcosecurity/falco&lt;/code&gt; with any official Falco image (&lt;code&gt;falco&lt;/code&gt;, &lt;code&gt;falco-driver-loader&lt;/code&gt;) from any official container registry to verify other images.&lt;/p&gt;
&lt;p&gt;If you have your own container registry and wish to retain the signature while copying Falco images, you can simply use the cosign copy command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cosign copy docker.io/falcosecurity/falco:0.43.0 your-registry/falco:0.43.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;And you'll be able to easily verify that the image in your registry was not tampered with!&lt;/p&gt;
&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;p&gt;You can configure Falco by either:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Passing the &lt;code&gt;-o&lt;/code&gt; command line flag to the Docker run command&lt;/li&gt;
&lt;li&gt;Or by mounting a custom configuration file into the container (e.g., &lt;code&gt;-v /path/to/falco.yaml:/etc/falco/falco.yaml&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Further configurable options via environment variables include (to be passed with &lt;code&gt;-e&lt;/code&gt; with Docker):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FALCOCTL_DRIVER_REPOS&lt;/code&gt; - See the &lt;a href="https://falco.org/docs/getting-started/installation/#install-driver"&gt;Installing the Driver&lt;/a&gt; section.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SKIP_DRIVER_LOADER&lt;/code&gt; - Set this environment variable to avoid running &lt;code&gt;falcoctl driver&lt;/code&gt; tool when the &lt;code&gt;falcosecurity/falco&lt;/code&gt; image starts. Useful when the driver has already been installed on the host by other means.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Docs: Install on a host (DEB, RPM)</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/packages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/packages/</guid><description>
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Falco consumes streams of events and evaluates them against a set of security &lt;a class='glossary-tooltip' title='Rules are conditions under which an alert should be generated.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/rules/basic-elements/#rules' target='_blank' aria-label='rules'&gt;rules&lt;/a&gt; to detect abnormal behavior. By default, Falco is pre-configured to consume events from the Linux Kernel. This scenario requires Falco to be privileged, and depending on the kernel version installed on the host, a &lt;a class='glossary-tooltip' title='The global term for the software that sends events from the kernel.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/' target='_blank' aria-label='driver'&gt;driver&lt;/a&gt; needs to be installed.&lt;/p&gt;
&lt;p&gt;For other installation scenarios, such as consuming cloud events or other data sources using plugins, please refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/plugins/"&gt;Plugins&lt;/a&gt; section.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are two main methods to install Falco on your host using the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/download"&gt;released Falco packages&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;RPM or DEB package (includes Systemd setup):&lt;/strong&gt; This method is detailed on this page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tarball archive:&lt;/strong&gt; For instructions, refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/tarball/"&gt;Install on a host (tarball)&lt;/a&gt; page.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="system-requirements"&gt;System requirements&lt;/h2&gt;
&lt;p&gt;Falco runs on &lt;strong&gt;Linux&lt;/strong&gt; and is available for the &lt;strong&gt;x86_64&lt;/strong&gt; and &lt;strong&gt;aarch64&lt;/strong&gt; architectures. Falco with its bundled plugins requires &lt;strong&gt;GLIBC 2.28&lt;/strong&gt; or newer. You can check your system's GLIBC version by running &lt;code&gt;ldd --version&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="install"&gt;Install&lt;/h2&gt;
&lt;p&gt;This installation method is for Linux distributions with a package manager that supports DEB (Debian, Ubuntu) or RPM (CentOS, RHEL, Fedora, Amazon Linux) packages.&lt;/p&gt;
&lt;p&gt;In interactive installations, the Falco installation package uses the &lt;code&gt;dialog&lt;/code&gt; binary for configuration prompts. The dialog allows the user to complete the Systemd setup which includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The driver selection (kmod, ebpf, modern_ebpf) or automatic selection&lt;/li&gt;
&lt;li&gt;The Falcoctl service setup&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In non-interactive installations (e.g., &lt;code&gt;dialog&lt;/code&gt; is not available, or if the user disables it by setting &lt;code&gt;FALCO_FRONTEND=noninteractive&lt;/code&gt; when installing Falco using the package manager), the automatic driver selection is enabled by default and for other options, the user needs to manually configure the &lt;a href="https://systemd.io/"&gt;Systemd&lt;/a&gt; services.&lt;/p&gt;
&lt;h3 id="env-variables"&gt;Env variables&lt;/h3&gt;
&lt;p&gt;The following environment variables can be used to customize the installation process:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FALCO_FRONTEND&lt;/code&gt;: Set to &lt;code&gt;noninteractive&lt;/code&gt; to disable the dialog prompts. The default is &lt;code&gt;dialog&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FALCO_DRIVER_CHOICE&lt;/code&gt;: Set to &lt;code&gt;kmod&lt;/code&gt;, &lt;code&gt;ebpf&lt;/code&gt;, or &lt;code&gt;modern_ebpf&lt;/code&gt; to choose a driver; set to &lt;code&gt;none&lt;/code&gt; to disable service installation. If one of the previous option is selected, the dialog will be skipped too. The default (empty) is automatic selection.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FALCOCTL_ENABLED&lt;/code&gt;: Set to &lt;code&gt;no&lt;/code&gt; to disable the automatic rules update provided by &lt;code&gt;falcoctl&lt;/code&gt;. The default (empty) or any value other than &lt;code&gt;no&lt;/code&gt; will keep the option enabled.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These environment variables can be used in conjunction with the package manager (as described in the following sections) to customize the installation process as needed.&lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;No dialog, no driver, no automatic rules update:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;FALCO_DRIVER_CHOICE&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;none apt-get install -y falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install with &lt;code&gt;kmod&lt;/code&gt; driver and automatic rules update:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;FALCO_DRIVER_CHOICE&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;kmod apt-get install -y falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No dialog, automatic selection and automatic rules update:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;FALCO_FRONTEND&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;noninteractive apt-get install -y falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No dialog, automatic selection and no automatic rules update:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;FALCO_FRONTEND&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;noninteractive &lt;span style="color:#b8860b"&gt;FALCOCTL_ENABLED&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;no apt-get install -y falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="install-with-apt"&gt;&lt;code&gt;apt&lt;/code&gt; (Debian/Ubuntu)&lt;/h3&gt;
&lt;p&gt;The following steps are for Debian and Debian-based distributions, such as Ubuntu, which use the &lt;code&gt;apt&lt;/code&gt; package manager.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Trust the &lt;code&gt;falcosecurity&lt;/code&gt; GPG key&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -fsSL https://falco.org/repo/falcosecurity-packages.asc | &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo gpg --dearmor -o /usr/share/keyrings/falco-archive-keyring.gpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the apt repository&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f"&gt;echo&lt;/span&gt; &lt;span style="color:#b44"&gt;&amp;#34;deb [signed-by=/usr/share/keyrings/falco-archive-keyring.gpg] https://download.falco.org/packages/deb stable main&amp;#34;&lt;/span&gt; | &lt;span style="color:#b62;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo tee -a /etc/apt/sources.list.d/falcosecurity.list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;In older releases of Debian (Debian 9 and older ones), you might need to additionally install the package &lt;code&gt;apt-transport-https&lt;/code&gt; to allow access to the Falco repository using the &lt;code&gt;https&lt;/code&gt; protocol.&lt;/p&gt;
&lt;p&gt;The following command will install that package on your system:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt-get install apt-transport-https
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ol start="3"&gt;
&lt;li&gt;
&lt;p&gt;Update the package list&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt-get update -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install some required dependencies that are needed to build the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; and the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: You don't need to install these dependencies if you want to use the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y dkms make linux-headers-&lt;span style="color:#a2f;font-weight:bold"&gt;$(&lt;/span&gt;uname -r&lt;span style="color:#a2f;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you use falcoctl driver loader to build the eBPF probe locally you need also clang toolchain&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y clang llvm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# You can install also the dialog package if you want it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y dialog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the Falco package&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt-get install -y falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="install-with-yum"&gt;&lt;code&gt;yum&lt;/code&gt; (CentOS/RHEL/Fedora/Amazon Linux)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Trust the &lt;code&gt;falcosecurity&lt;/code&gt; GPG key&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo rpm --import https://falco.org/repo/falcosecurity-packages.asc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the &lt;code&gt;yum&lt;/code&gt; repository&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo curl -o /etc/yum.repos.d/falcosecurity.repo https://falco.org/repo/falcosecurity-rpm.repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update the package list&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum update -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install some required dependencies that are needed to build the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; and the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: You don't need to install these dependencies if you want to use the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If necessary install it using: `yum install epel-release` (or `amazon-linux-extras install epel` in case of amzn2), then `yum install make dkms`.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y dkms make
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If the package was not found by the below command, you might need to run `yum distro-sync` in order to fix it. Rebooting the system may be required.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y kernel-devel-&lt;span style="color:#a2f;font-weight:bold"&gt;$(&lt;/span&gt;uname -r&lt;span style="color:#a2f;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you use falcoctl driver loader to build the eBPF probe locally you need also clang toolchain&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y clang llvm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# You can install also the dialog package if you want it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y dialog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install the Falco package&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum install -y falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;You might need to validate the driver signature if your system has UEFI SecureBoot enabled. Follow these steps to do so:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Import the DKMS Machine Owner Key&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; ```shell
sudo mokutil --import /var/lib/dkms/mok.pub
```
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Restart the system and wait for the MOK key enrollment prompt&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose the option: &lt;code&gt;Enroll MOK&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Load the Falco driver&lt;/p&gt;
&lt;pre&gt;&lt;code&gt; ```shell
sudo insmod /var/lib/dkms/falco/&amp;lt;driver-version&amp;gt;/$(uname -r)/x86_64/module/falco.ko.xz
```
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;&lt;strong&gt;RHEL 8 / UBI 8 users:&lt;/strong&gt; Starting from Falco 0.42, you may need to set the &lt;code&gt;LD_PRELOAD&lt;/code&gt; environment variable due to a glibc compatibility issue:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b8860b"&gt;LD_PRELOAD&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;/lib64/libresolv.so.2 falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When using systemd, you can add this to your service override or edit the unit file to include &lt;code&gt;Environment=&amp;quot;LD_PRELOAD=/lib64/libresolv.so.2&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="install-with-zypper"&gt;&lt;code&gt;zypper&lt;/code&gt; (openSUSE)&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Trust the &lt;code&gt;falcosecurity&lt;/code&gt; GPG key&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo rpm --import https://falco.org/repo/falcosecurity-packages.asc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the zypper repository&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo curl -o /etc/zypp/repos.d/falcosecurity.repo https://falco.org/repo/falcosecurity-rpm.repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update the package list&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper -n update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install some required dependencies that are needed to build the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; and the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: You don't need to install these dependencies if you want to use the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper -n install dkms make
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If the package was not found by the below command, you might need to run `zypper -n dist-upgrade` in order to fix it. Rebooting the system may be required.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper -n install kernel-default-devel-&lt;span style="color:#a2f;font-weight:bold"&gt;$(&lt;/span&gt;uname -r | sed s/&lt;span style="color:#b62;font-weight:bold"&gt;\-&lt;/span&gt;default//g&lt;span style="color:#a2f;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you use falcoctl driver loader to build the eBPF probe locally you need also clang toolchain&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper -n install clang llvm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# You can install also the dialog package if you want it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper -n install dialog
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install Falco:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper -n install falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Uninstall Falco:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper rm falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="systemd-setup"&gt;Systemd setup&lt;/h2&gt;
&lt;h3 id="systemd-setup-with-dialog"&gt;Setup with dialog&lt;/h3&gt;
&lt;p&gt;By default, if you have the &lt;code&gt;dialog&lt;/code&gt; binary installed on your system, you will be prompted with this:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/docs/getting-started/images/dialog-1.png" alt="" loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;From here you can choose one of our 3 drivers &lt;code&gt;Kmod&lt;/code&gt;, &lt;code&gt;eBPF&lt;/code&gt;, &lt;code&gt;Modern eBPF&lt;/code&gt;, a &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/packages/#manual-configuration"&gt;&lt;code&gt;Manual configuration&lt;/code&gt;&lt;/a&gt; or the &lt;code&gt;Automatic selection&lt;/code&gt; (recommended) to trigger the automatic logic to select the best driver for you. When you choose a driver from the dialog, the &lt;code&gt;systemd&lt;/code&gt; service is always enabled by default so it will start at every system reboot. If you want to disable this behavior type &lt;code&gt;systemctl disable falco-kmod.service&lt;/code&gt; (if you are using the kernel module like in this example).&lt;/p&gt;
&lt;p&gt;After the first dialog, you should see a second one:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://v0-43--falcosecurity.netlify.app/docs/getting-started/images/dialog-2.png" alt="" loading="lazy" /&gt;
&lt;/p&gt;
&lt;p&gt;If you choose &lt;code&gt;Yes&lt;/code&gt;, &lt;code&gt;falcoctl&lt;/code&gt; will periodically check for ruleset updates and, if a new update is available, will pull
and install it.&lt;/p&gt;
&lt;h3 id="manual-configuration"&gt;Manual configuration&lt;/h3&gt;
&lt;p&gt;If you chose &lt;code&gt;Manual configuration&lt;/code&gt; from the dialog, you need to complete the setup configuration.&lt;/p&gt;
&lt;p&gt;First, let's verify the available services:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-plain" data-lang="plain"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo systemctl list-unit-files &amp;#34;falco*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;UNIT FILE STATE PRESET
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-bpf.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-custom.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod-inject.service static enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-modern-bpf.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl-artifact-follow.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Using the &lt;code&gt;systemctl&lt;/code&gt; command, you can now enable the desired unit to start at boot time.&lt;/p&gt;
&lt;p&gt;Let's say you want to enable the modern eBPF probe:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-plain" data-lang="plain"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo systemctl enable falco-modern-bpf.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Created symlink /etc/systemd/system/falco.service → /usr/lib/systemd/system/falco-modern-bpf.service.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Created symlink /etc/systemd/system/multi-user.target.wants/falco-modern-bpf.service → /usr/lib/systemd/system/falco-modern-bpf.service.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo systemctl list-unit-files &amp;#34;falco*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;UNIT FILE STATE PRESET
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-bpf.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-custom.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod-inject.service static -
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-modern-bpf.service enabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco.service alias -
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl-artifact-follow.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or you'd like to switch to using the kernel module:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-plain" data-lang="plain"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo systemctl disable falco-modern-bpf.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Removed &amp;#34;/etc/systemd/system/multi-user.target.wants/falco-modern-bpf.service&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Removed &amp;#34;/etc/systemd/system/falco.service&amp;#34;.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo systemctl enable falco-kmod.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Created symlink /etc/systemd/system/falco.service → /usr/lib/systemd/system/falco-kmod.service.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Created symlink /etc/systemd/system/multi-user.target.wants/falco-kmod.service → /usr/lib/systemd/system/falco-kmod.service.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ sudo systemctl list-unit-files &amp;#34;falco*&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;UNIT FILE STATE PRESET
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-bpf.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-custom.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod-inject.service static -
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod.service enabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-modern-bpf.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco.service alias -
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl-artifact-follow.service disabled enabled
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;7 unit files listed.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;As you can see, enabling the &lt;code&gt;falco-kmod.service&lt;/code&gt;, &lt;code&gt;falco-modern-bpf.service&lt;/code&gt; or &lt;code&gt;falco-custom.service&lt;/code&gt; also creates a
new alias/service called &lt;code&gt;falco.service&lt;/code&gt; that can be used in place of the aliased ones.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;As a side note, if you prefer not to use the &lt;code&gt;falcoctl&lt;/code&gt; tool to automatically update your rules, you can mask it as follows. Otherwise, as explained &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/install-operate/installation/#rule-update"&gt;here&lt;/a&gt;, Falco will enable it too.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo systemctl mask falcoctl-artifact-follow.service
Created symlink /etc/systemd/system/falcoctl-artifact-follow.service → /dev/null.
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="systemd-configuring-services"&gt;Configuring services&lt;/h3&gt;
&lt;p&gt;If you installed the Falco packages using the &lt;code&gt;dialog&lt;/code&gt; option, all your services should already be up and running. However, if you chose the &lt;code&gt;Manual configuration&lt;/code&gt; option, you need to configure the services manually.&lt;/p&gt;
&lt;p&gt;If you need to switch from one service to another, ensure that the current service is properly stopped before starting the new one. This can be done by using the appropriate service management commands for your system (e.g., &lt;code&gt;systemctl stop &amp;lt;service_name&amp;gt;&lt;/code&gt; and &lt;code&gt;systemctl start &amp;lt;new_service_name&amp;gt;&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;For example, if you want to use the service for the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Type &lt;code&gt;systemctl list-units | grep falco&lt;/code&gt; to check that no unit is running. Stop the current services, if any.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now you have to decide whether you want the Falcoctl service running together with the Falco one. If yes you don't have to do anything, else you will need to mask the Falcoctl service with &lt;code&gt;systemctl mask falcoctl-artifact-follow.service&lt;/code&gt;. The Falcoctl service is strictly related to the Falco one so if you don't mask it, it will be started together with the Falco service.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Type &lt;code&gt;falcoctl driver config --type ebpf&lt;/code&gt; to configure Falco to use &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt;, then &lt;code&gt;falcoctl driver install&lt;/code&gt; to download/compile the eBPF probe.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now running &lt;code&gt;systemctl start falco-bpf.service&lt;/code&gt; and typing &lt;code&gt;systemctl list-units | grep falco&lt;/code&gt; you should see something like that (supposing you didn't mask the Falcoctl service):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-bpf.service loaded active running Falco: Container Native Runtime Security with ebpf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl-artifact-follow.service loaded active running Falcoctl Artifact Follow: automatic artifacts update service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you want to stop both services in one shot&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl stop falco-bpf.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="falcoctl-service"&gt;Falcoctl service (automatic rules update)&lt;/h3&gt;
&lt;p&gt;If this service is enabled (as default), typing &lt;code&gt;systemctl list-units | grep falco&lt;/code&gt; you should see something similar to this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod-inject.service loaded active exited Falco: Container Native Runtime Security with kmod, inject.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod.service loaded active running Falco: Container Native Runtime Security with kmod
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl-artifact-follow.service loaded active running Falcoctl Artifact Follow: automatic artifacts update service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;falco-kmod-inject.service&lt;/code&gt; injects the kernel module and exits. This unit remains after exit to detach the kernel module when the &lt;code&gt;falco-kmod.service&lt;/code&gt; will be stopped.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;falco-kmod.service&lt;/code&gt; instance of Falco running the kernel module.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;falcoctl-artifact-follow.service&lt;/code&gt; instance of Falcoctl that searches for new rulesets. This unit will be stopped when &lt;code&gt;falco-kmod.service&lt;/code&gt; terminates.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Falcoctl service is strictly related to the Falco one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;when the Falco service starts it searches for a unit called &lt;code&gt;falcoctl-artifact-follow.service&lt;/code&gt; and if present it starts it. Please note that following this pattern, if you enable the Falco service and you reboot your system, Falcoctl will start again with Falco even if you don't enable it through &lt;code&gt;systemd enable&lt;/code&gt;! You can disable this behavior by stopping the Falcoctl service and masking it &lt;code&gt;systemctl mask falcoctl-artifact-follow.service&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;when the Falco service stops also the Falcoctl service is stopped.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In case the &lt;strong&gt;Falcoctl service is not enabled&lt;/strong&gt;, the Falco package will only start the &lt;code&gt;falco-kmod.service&lt;/code&gt;. Typing &lt;code&gt;systemctl list-units | grep falco&lt;/code&gt; you should see something similar to this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod-inject.service loaded active exited Falco: Container Native Runtime Security with kmod, inject.
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco-kmod.service loaded active running Falco: Container Native Runtime Security with kmod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this mode, the Falcoctl service is masked by default so if you want to enable it in a second step you need to type &lt;code&gt;systemctl unmask falcoctl-artifact-follow.service&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="systemd-custom-service"&gt;Custom service&lt;/h3&gt;
&lt;p&gt;You may have noticed a Falco unit called &lt;code&gt;falco-custom.service&lt;/code&gt;. You should use it when you want to run Falco with a custom configuration like a plugin. Please note that in this case you have to modify this template according to how you want to run Falco, the unit should not be used as is!&lt;/p&gt;
&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;p&gt;The Falco configuration file is located at &lt;code&gt;/etc/falco/falco.yaml&lt;/code&gt;. You can edit it to customize Falco's behavior.&lt;/p&gt;
&lt;p&gt;Since Falco 0.38.0, a new config key, &lt;code&gt;config_files&lt;/code&gt;, allows the user to load additional configuration files to override main config entries. This allows user to keep local customization between Falco upgrades. Its default value points to a new folder, &lt;code&gt;/etc/falco/config.d/&lt;/code&gt; that gets installed by Falco and will be processed to look for local configuration files.&lt;/p&gt;
&lt;h3 id="hot-reload"&gt;Hot Reload&lt;/h3&gt;
&lt;p&gt;By default, with the &lt;code&gt;watch_config_files&lt;/code&gt; configuration option enabled, Falco automatically monitors changes to configuration and rule files. When these files are modified, Falco will automatically reload the updated configuration without requiring a restart.&lt;/p&gt;
&lt;p&gt;If this option is disabled, you can manually restart the Falco systemd service to apply the changes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;systemctl restart falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="upgrade"&gt;Upgrade&lt;/h2&gt;
&lt;h3 id="upgrade-with-apt"&gt;&lt;code&gt;apt&lt;/code&gt; (Debian/Ubuntu)&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;If you configured the &lt;code&gt;apt&lt;/code&gt; repository by having followed the instructions for Falco 0.27.0 or older, you may need to update the repository URL, otherwise, &lt;strong&gt;feel free to ignore this message&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sed -i &lt;span style="color:#b44"&gt;&amp;#39;s,https://dl.bintray.com/falcosecurity/deb,https://download.falco.org/packages/deb,&amp;#39;&lt;/span&gt; /etc/apt/sources.list.d/falcosecurity.list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt-get clean
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt-get -y update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Check in the &lt;code&gt;apt-get update&lt;/code&gt; log that &lt;code&gt;https://download.falco.org/packages/deb&lt;/code&gt; is present.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you installed Falco by following the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/packages/#install"&gt;provided instructions&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt-get --only-upgrade install falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="upgrade-with-yum"&gt;&lt;code&gt;yum&lt;/code&gt; (CentOS/RHEL/Fedora/Amazon Linux)&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;If you configured the &lt;code&gt;yum&lt;/code&gt; repository by having followed the instructions for Falco 0.27.0 or older, you may need to update the repository URL, otherwise, &lt;strong&gt;feel free to ignore this message&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo sed -i &lt;span style="color:#b44"&gt;&amp;#39;s,https://dl.bintray.com/falcosecurity/rpm,https://download.falco.org/packages/rpm,&amp;#39;&lt;/span&gt; /etc/yum.repos.d/falcosecurity.repo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum clean all
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then check that the &lt;code&gt;falcosecurity-rpm&lt;/code&gt; repository is pointing to &lt;code&gt;https://download.falco.org/packages/rpm/&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo sudo yum repolist -v falcosecurity-rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you installed Falco by following the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/install-operate/installation/#centos-rhel"&gt;provided instructions&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Check for updates:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum check-update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If a newer Falco version is available:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum update falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="upgrade-with-zypper"&gt;&lt;code&gt;zypper&lt;/code&gt; (openSUSE)&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;If you configured the &lt;code&gt;zypper&lt;/code&gt; repository by having followed the instructions for Falco 0.27.0 or older, you may need to update the repository URL, otherwise, &lt;strong&gt;feel free to ignore this message&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo sed -i &lt;span style="color:#b44"&gt;&amp;#39;s,https://dl.bintray.com/falcosecurity/rpm,https://download.falco.org/packages/rpm,&amp;#39;&lt;/span&gt; /etc/zypp/repos.d/falcosecurity.repo
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper refresh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then check that the &lt;code&gt;falcosecurity-rpm&lt;/code&gt; repository is pointing to &lt;code&gt;https://download.falco.org/packages/rpm/&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper lr falcosecurity-rpm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If you installed Falco by following the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/install-operate/installation/#suse"&gt;provided instructions&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper update falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="kernel-upgrades"&gt;Kernel Upgrades&lt;/h3&gt;
&lt;p&gt;When performing kernel upgrades on your host, a reboot is required. When using a &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt; or a &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; driver, the Falco driver loader (i.e., &lt;code&gt;falcoctl driver&lt;/code&gt;) should be able to automatically find a pre-built driver (or build it on the fly) corresponding to the updated kernel release (&lt;code&gt;uname -r&lt;/code&gt;), making it easy to handle kernel upgrades. The Falco Project features a kernel crawler and automated CI, ensuring you can always obtain the necessary pre-built driver artifact, even for the latest kernel releases we support.&lt;/p&gt;
&lt;h2 id="uninstall"&gt;Uninstall&lt;/h2&gt;
&lt;h3 id="uninstall-with-apt"&gt;&lt;code&gt;apt&lt;/code&gt; (Debian/Ubuntu)&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt-get --purge autoremove falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="uninstall-with-yum"&gt;&lt;code&gt;yum&lt;/code&gt; (CentOS/RHEL/Fedora/Amazon Linux)&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo yum remove falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="uninstall-with-zypper"&gt;&lt;code&gt;zypper&lt;/code&gt; (openSUSE)&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo zypper remove falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="package-signing"&gt;Package signing&lt;/h2&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;On December, 2025 we started rotating the GPG key used to sign Falco packages. Check out &lt;a href="https://v0-43--falcosecurity.netlify.app/blog/gpg-key-rotation-2026/"&gt;the related blog post&lt;/a&gt; and make sure you're using the most up-to-date key available at &lt;a href="https://falco.org/repo/falcosecurity-packages.asc"&gt;falco.org/repo/falcosecurity-packages.asc&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Most Falco packages available at &lt;a href="https://download.falco.org/?prefix=packages/"&gt;download.falco.org&lt;/a&gt; are provided with a detached signature that can be used to verify that the package information downloaded from the remote repository can be trusted.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;latest trusted public GPG key&lt;/strong&gt; used for packages signing can be downloaded from &lt;a href="https://falco.org/repo/falcosecurity-packages.asc"&gt;falco.org/repo/falcosecurity-packages.asc&lt;/a&gt;. The following table lists all the keys employed by the organization currently and in the past, including the revoked ones. We recommend updating the revoked keys to download their revocation certificate, and eventually removing them from your package verification system due to the signature made with them not being trustable anymore.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Fingerprint&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Expiration&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Usage&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Status&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Download&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;478B2FBBC75F4237B731DA4365106822B35B1B1F&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2028-12-10&lt;/td&gt;
&lt;td&gt;Signing Falco Packages&lt;/td&gt;
&lt;td&gt;Trusted&lt;/td&gt;
&lt;td&gt;&lt;a href="https://v0-43--falcosecurity.netlify.app/repo/falcosecurity-B35B1B1F.asc"&gt;falcosecurity-B35B1B1F.asc&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;2005399002D5E8FF59F28CE64021833E14CB7A8D&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2026-01-17&lt;/td&gt;
&lt;td&gt;Signing Falco Packages&lt;/td&gt;
&lt;td&gt;Revoked&lt;/td&gt;
&lt;td&gt;&lt;a href="https://v0-43--falcosecurity.netlify.app/repo/falcosecurity-14CB7A8D.asc"&gt;falcosecurity-14CB7A8D.asc&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;15ED05F191E40D74BA47109F9F76B25B3672BA8F&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2023-02-24&lt;/td&gt;
&lt;td&gt;Signing Falco Packages&lt;/td&gt;
&lt;td&gt;Revoked&lt;/td&gt;
&lt;td&gt;&lt;a href="https://v0-43--falcosecurity.netlify.app/repo/falcosecurity-3672BA8F.asc"&gt;falcosecurity-3672BA8F.asc&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="troubleshooting"&gt;Troubleshooting&lt;/h2&gt;
&lt;p&gt;This section aims to offer further guidance when something doesn't go as expected in the installation of Falco.&lt;/p&gt;
&lt;h3 id="unable-to-find-prebuilt-driver"&gt;Unable to find a prebuilt driver&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ERROR failed: unable to find a prebuilt driver&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This error message appears when the falcoctl driver loader tool, which looks for the Falco driver and loads it in memory, is not able to find a pre-built driver, neither as an eBPF probe nor as a kernel module, at the [Falco driver repository] (&lt;a href="https://download.falco.org"&gt;https://download.falco.org&lt;/a&gt;).&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;You can easily browse and search the supported targets at &lt;a href="https://download.falco.org/driver/site/index.html"&gt;download.falco.org/driver/site&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This means that there's no prebuilt driver available for the kernel running on the machine where Falco is going to be installed.&lt;/p&gt;
&lt;p&gt;However, you can add your kernel release version to the &lt;a href="https://github.com/falcosecurity/test-infra/tree/master/driverkit/config"&gt;build grid&lt;/a&gt; the pipeline refers to building the drivers. Follow &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/tutorials/add-prebuilt-driver-config/"&gt;this tutorial&lt;/a&gt; to contribute the required configuration.&lt;/p&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;There are a limited set of Linux distributions whose kernels are supported by the current prebuilt driver distribution pipeline.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/falcosecurity/driverkit"&gt;driverkit&lt;/a&gt; is the tool used to build those drivers. Hence, it needs to support the specific Linux distribution. Find whether your Linux distribution is supported &lt;a href="https://github.com/falcosecurity/driverkit/tree/master/pkg/driverbuilder/builder"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="enable-bpf-jit-compiler"&gt;Enable the BPF JIT Compiler&lt;/h3&gt;
&lt;p&gt;If you are using the eBPF probe, in order to ensure that performance is not degraded, make sure that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Your kernel has &lt;code&gt;CONFIG_BPF_JIT&lt;/code&gt; enabled&lt;/li&gt;
&lt;li&gt;&lt;code&gt;net.core.bpf_jit_enable&lt;/code&gt; is set to 1 (enable the BPF JIT Compiler)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This can be verified via &lt;code&gt;sysctl -n net.core.bpf_jit_enable&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Docs: Install on a host (tarball)</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/tarball/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/tarball/</guid><description>
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;Falco consumes streams of events and evaluates them against a set of security &lt;a class='glossary-tooltip' title='Rules are conditions under which an alert should be generated.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/rules/basic-elements/#rules' target='_blank' aria-label='rules'&gt;rules&lt;/a&gt; to detect abnormal behavior. By default, Falco is pre-configured to consume events from the Linux Kernel. This scenario requires Falco to be privileged, and depending on the kernel version installed on the host, a &lt;a class='glossary-tooltip' title='The global term for the software that sends events from the kernel.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/' target='_blank' aria-label='driver'&gt;driver&lt;/a&gt; needs to be installed.&lt;/p&gt;
&lt;p&gt;For other installation scenarios, such as consuming cloud events or other data sources using plugins, please refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/plugins/"&gt;Plugins&lt;/a&gt; section.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are two main methods to install Falco on your host using the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/download"&gt;released Falco packages&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;RPM or DEB package (includes Systemd setup):&lt;/strong&gt; For instructions, refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/packages/"&gt;Install on a host (DEB, RPM)&lt;/a&gt; page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tarball archive:&lt;/strong&gt; This method is detailed on this page.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="system-requirements"&gt;System requirements&lt;/h2&gt;
&lt;p&gt;Falco runs on &lt;strong&gt;Linux&lt;/strong&gt; and is available for the &lt;strong&gt;x86_64&lt;/strong&gt; and &lt;strong&gt;aarch64&lt;/strong&gt; architectures. Falco with its bundled plugins requires &lt;strong&gt;GLIBC 2.28&lt;/strong&gt; or newer. You can check your system's GLIBC version by running &lt;code&gt;ldd --version&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="install"&gt;Install&lt;/h2&gt;
&lt;p&gt;In these steps, we are targeting a Debian-like system on &lt;code&gt;x86_64&lt;/code&gt; architecture. You can easily extrapolate similar steps for other distros or architectures.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the latest binary:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -L -O https://download.falco.org/packages/bin/x86_64/falco-0.43.0-x86_64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install Falco:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -xvf falco-0.43.0-x86_64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp -R falco-0.43.0-x86_64/* /
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install some required dependencies that are needed to build the kernel module and the eBPF probe. If you want to use other sources like the modern eBPF probe or plugins, you can skip this step.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt update -y
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt install -y dkms make linux-headers-&lt;span style="color:#a2f;font-weight:bold"&gt;$(&lt;/span&gt;uname -r&lt;span style="color:#a2f;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you use falcoctl driver loader to build the eBPF probe locally you need also clang toolchain&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;apt install -y clang llvm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use the &lt;code&gt;falcoctl driver&lt;/code&gt; tool to configure Falco and install the kernel module or the eBPF probe. If you want to use other sources like the modern eBPF probe or plugins, you can skip this step.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="card card-sm pageinfo pageinfo-info my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;To install the driver, write and execute permissions on the &lt;code&gt;/tmp&lt;/code&gt; directory are required, since &lt;code&gt;falcoctl&lt;/code&gt; will try to create and execute a script from there.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you want to use the kernel module, configure Falco for it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl driver config --type kmod
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you want to use the eBPF probe, configure Falco for it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl driver config --type ebpf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Install the chosen driver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl driver install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;By default, the &lt;code&gt;falcoctl driver install&lt;/code&gt; command tries to download a prebuilt driver from &lt;a href="https://download.falco.org/?prefix=driver/"&gt;the official Falco download s3 bucket&lt;/a&gt;. If a driver is found, it is inserted into &lt;code&gt;${HOME}/.falco/&lt;/code&gt;. Otherwise, the script tries to compile the driver locally; for this reason, you need the dependencies in step [3].&lt;/p&gt;
&lt;p&gt;You can use the environment variable &lt;code&gt;FALCOCTL_DRIVER_REPOS&lt;/code&gt; to override the default repository URL for prebuilt drivers. The URL must not have a trailing slash, i.e., &lt;code&gt;https://myhost.mydomain.com&lt;/code&gt; or, if the server has a subdirectory structure, &lt;code&gt;https://myhost.mydomain.com/drivers&lt;/code&gt;. The drivers must be hosted with the following structure:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;driver_version&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;/&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;arch&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;/falco_&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;target&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;_&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;kernelrelease&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;_&lt;span style="color:#b68;font-weight:bold"&gt;${&lt;/span&gt;&lt;span style="color:#b8860b"&gt;kernelversion&lt;/span&gt;&lt;span style="color:#b68;font-weight:bold"&gt;}&lt;/span&gt;.&lt;span style="color:#666"&gt;[&lt;/span&gt;ko|o&lt;span style="color:#666"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;where &lt;code&gt;ko&lt;/code&gt; and &lt;code&gt;o&lt;/code&gt; stand for Kernel module and &lt;code&gt;eBPF&lt;/code&gt; probe, respectively. This is an example:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;/7.0.0+driver/x86_64/falco_amazonlinux2022_5.10.75-82.359.amzn2022.x86_64_1.ko
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;If you wish to print some debug info, you can use:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# If you want to use the kernel module, configure Falco for it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falcoctl driver printenv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="manual-systemd-setup"&gt;Manual Systemd setup&lt;/h2&gt;
&lt;p&gt;The Falco &lt;code&gt;.tar.gz&lt;/code&gt; archive doesn't include the Systemd setup. If you want to enable Falco to start automatically at boot time, you can still download &lt;code&gt;systemd&lt;/code&gt; files from the &lt;a href="https://github.com/falcosecurity/falco/tree/master/scripts/systemd"&gt;Falco repo&lt;/a&gt; and place them in the &lt;code&gt;/lib/systemd/system&lt;/code&gt; directory. Finally, you can follow the same instructions for &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/packages/#enable-falco-on-systemd-manually"&gt;enabling Systemd manually&lt;/a&gt; under the &lt;em&gt;Install on a host (DEB, RPM)&lt;/em&gt; section.&lt;/p&gt;
&lt;h2 id="configuration"&gt;Configuration&lt;/h2&gt;
&lt;p&gt;The Falco configuration file is located at &lt;code&gt;/etc/falco/falco.yaml&lt;/code&gt;. You can edit it to customize Falco's behavior.&lt;/p&gt;
&lt;p&gt;Since Falco 0.38.0, a new config key, &lt;code&gt;config_files&lt;/code&gt;, allows the user to load additional configuration files to override main config entries; it allows users to keep local customization between Falco upgrades. Its default value points to a new folder, &lt;code&gt;/etc/falco/config.d/&lt;/code&gt;, that gets installed by Falco and will be processed to look for local configuration files.&lt;/p&gt;
&lt;p&gt;You can also override the default configuration by passing options to the &lt;code&gt;falco&lt;/code&gt; binary. For example, to force the eBPF probe or the kernel module:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Force eBPF probe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco -o engine.kind&lt;span style="color:#666"&gt;=&lt;/span&gt;ebpf
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Force kernel module&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;falco -o engine.kind&lt;span style="color:#666"&gt;=&lt;/span&gt;kmod
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="hot-reload"&gt;Hot Reload&lt;/h3&gt;
&lt;p&gt;By default, with the &lt;code&gt;watch_config_files&lt;/code&gt; configuration option enabled, Falco automatically monitors changes to configuration and rule files. When these files are modified, Falco will automatically reload the updated configuration without requiring a restart.&lt;/p&gt;
&lt;p&gt;If this option is disabled, you can manually reload the configuration by sending a &lt;code&gt;SIGHUP&lt;/code&gt; signal to the Falco process. To do this, use the following command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a2f"&gt;kill&lt;/span&gt; -1 &lt;span style="color:#a2f;font-weight:bold"&gt;$(&lt;/span&gt;pidof falco&lt;span style="color:#a2f;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="upgrade"&gt;Upgrade&lt;/h2&gt;
&lt;p&gt;If you are using the &lt;a class='glossary-tooltip' title='Used to describe the .ko object that would be loaded into the kernel as a potentially risky kernel module.' data-toggle='tooltip' data-placement='top' href='https://linux-kernel-labs.github.io/refs/heads/master/labs/kernel_modules.html' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; driver, please remove it with root privileges before upgrading Falco to avoid issues during the upgrade.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rmmod falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When utilizing the &lt;a class='glossary-tooltip' title='The eBPF probe (deprecated) collects syscall events from the Kernel, as the Kernel module does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#legacy-ebpf-probe' target='_blank' aria-label='eBPF probe'&gt;eBPF probe&lt;/a&gt; driver, although not strictly required, you can remove the corresponding previous object files:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rm /root/.falco/*.o
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt;, there is no requirement when updating Falco, as the driver is bundled within the Falco binary.&lt;/p&gt;
&lt;p&gt;Once the driver is removed, ensure the &lt;code&gt;falco&lt;/code&gt; daemon is not running, then you can follow the same steps as the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/tarball/#install"&gt;Install&lt;/a&gt; section.&lt;/p&gt;
&lt;h2 id="uninstall"&gt;Uninstall&lt;/h2&gt;
&lt;p&gt;For the Falco binary, we don't provide specific update paths; you just have to remove files installed by the old &lt;code&gt;tar.gz&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Docs: Specific Environments</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/enviroments/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/enviroments/</guid><description>
&lt;h2 id="gke"&gt;GKE&lt;/h2&gt;
&lt;p&gt;Google Kubernetes Engine (GKE) uses Container-Optimized OS (COS) as the default operating system for its worker node pools. COS is a security-enhanced operating system that limits access to certain parts of the underlying OS. Because of this security constraint, Falco cannot insert its &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt; to process events for system calls. However, COS provides the ability to leverage eBPF (extended Berkeley Packet Filter) to supply the stream of system calls to the Falco engine.&lt;/p&gt;
&lt;p&gt;To use Falco on GKE, you need to &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/kubernetes/"&gt;deploy&lt;/a&gt; using the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt;. The Modern eBPF is the default driver for Falco 0.38.0 and later, so no further action is required in this case.&lt;/p&gt;
&lt;h2 id="gvisor"&gt;gVisor&lt;/h2&gt;
&lt;div class="card card-sm pageinfo pageinfo-warning my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;The gVisor engine has been deprecated in Falco &lt;code&gt;0.43.0&lt;/code&gt; and will be removed in a future release. Until removal and since
Falco &lt;code&gt;0.43.0&lt;/code&gt;, using it will result in a warning informing the user about the deprecation. Users are encouraged to
switch to another engine, such as the modern eBPF probe, as the usage will result in an error after the removal.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Falco offers native support for &lt;strong&gt;&lt;a href="https://gvisor.dev/"&gt;gVisor&lt;/a&gt;&lt;/strong&gt;. A specific configuration is necessary to integrate Falco with gVisor seamlessly. For detailed instructions, refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/gvisor/"&gt;gVisor Event Source&lt;/a&gt; documentation.&lt;/p&gt;</description></item><item><title>Docs: Download</title><link>https://v0-43--falcosecurity.netlify.app/docs/setup/download/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/docs/setup/download/</guid><description>
&lt;p&gt;Falco and its ecosystem components are available as downloadable files and OCI (Open Container Initiative) artifacts. This page provides the official URLs for accessing these artifacts.&lt;/p&gt;
&lt;p&gt;For a comprehensive overview of the available artifacts and their versioning, refer to the &lt;a href="https://github.com/falcosecurity/falco/blob/master/RELEASE.md"&gt;Falco release documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id="packages"&gt;Packages&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;For installation instructions, refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/packages/"&gt;Install on a host (DEB, RPM)&lt;/a&gt; or the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/tarball/"&gt;Install on a host (tarball)&lt;/a&gt; pages.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The tables below provide quick links for Falco packages hosted at &lt;a href="https://download.falco.org/?prefix=packages/"&gt;download.falco.org&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Packages&lt;/th&gt;
&lt;th&gt;Download for Linux &lt;strong&gt;x86_64&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;rpm&lt;/td&gt;
&lt;td&gt;&lt;a href="https://download.falco.org/packages/rpm/falco-0.43.0-x86_64.rpm"&gt;&lt;img src="https://img.shields.io/badge/Falco-0.43.0--x86_64.rpm-%2300aec7?style=flat-square" alt="rpm" loading="lazy" /&gt;
&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;deb&lt;/td&gt;
&lt;td&gt;&lt;a href="https://download.falco.org/packages/deb/stable/falco-0.43.0-x86_64.deb"&gt;&lt;img src="https://img.shields.io/badge/Falco-0.43.0--x86_64.deb-%2300aec7?style=flat-square" alt="deb" loading="lazy" /&gt;
&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;binary&lt;/td&gt;
&lt;td&gt;&lt;a href="https://download.falco.org/packages/bin/x86_64/falco-0.43.0-x86_64.tar.gz"&gt;&lt;img src="https://img.shields.io/badge/Falco-0.43.0--x86_64.tar.gz-%2300aec7?style=flat-square" alt="tgz" loading="lazy" /&gt;
&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Packages&lt;/th&gt;
&lt;th&gt;Download for Linux &lt;strong&gt;aarch64&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;rpm&lt;/td&gt;
&lt;td&gt;&lt;a href="https://download.falco.org/packages/rpm/falco-0.43.0-aarch64.rpm"&gt;&lt;img src="https://img.shields.io/badge/Falco-0.43.0--aarch64.rpm-%2300aec7?style=flat-square" alt="rpm" loading="lazy" /&gt;
&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;deb&lt;/td&gt;
&lt;td&gt;&lt;a href="https://download.falco.org/packages/deb/stable/falco-0.43.0-aarch64.deb"&gt;&lt;img src="https://img.shields.io/badge/Falco-0.43.0--aarch64.deb-%2300aec7?style=flat-square" alt="deb" loading="lazy" /&gt;
&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;binary&lt;/td&gt;
&lt;td&gt;&lt;a href="https://download.falco.org/packages/bin/aarch64/falco-0.43.0-aarch64.tar.gz"&gt;&lt;img src="https://img.shields.io/badge/Falco-0.43.0--aarch64.tar.gz-%2300aec7?style=flat-square" alt="tgz" loading="lazy" /&gt;
&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="images"&gt;Container images&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;For deployment instructions, refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/containers/"&gt;Deploy as a container&lt;/a&gt; or the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/kubernetes/"&gt;Deploy on Kubernetes&lt;/a&gt; pages.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The tables below provide quick pull commands for Falco container images hosted at &lt;a href="https://hub.docker.com/r/falcosecurity"&gt;Docker Hub&lt;/a&gt;.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;pull command&lt;/th&gt;
&lt;th&gt;description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco/tags"&gt;latest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco:latest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Distroless image with the latest released of Falco. No tools are included in the image.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco/tags"&gt;&lt;em&gt;version&lt;/em&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco:&amp;lt;version&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Distroless image with a specific version of Falco such as &lt;code&gt;0.43.0&lt;/code&gt;. No tools are included in the image.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco/tags"&gt;latest-debian&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco:latest-debian&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Debian-based image with the latest released of Falco. Available since Falco 0.40.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco/tags"&gt;&lt;em&gt;version&lt;/em&gt;-debian&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco:&amp;lt;version&amp;gt;-debian&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Debian-based image with a specific version of Falco such as &lt;code&gt;0.43.0&lt;/code&gt;. Available since Falco 0.40.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco-driver-loader/tags"&gt;latest&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco-driver-loader:latest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Debian-based image with the most recent Falco driver loader and the building toolchain.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco-driver-loader/tags"&gt;&lt;em&gt;version&lt;/em&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco-driver-loader:&amp;lt;version&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Debian-based image with specific version of &lt;code&gt;falco-driver-loader&lt;/code&gt; such as &lt;code&gt;0.43.0&lt;/code&gt; and the building toolchain.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco-driver-loader/tags"&gt;latest-buster&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco-driver-loader:latest&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Same as &lt;code&gt;falco-driver-loader:latest&lt;/code&gt; but based on Debian &lt;code&gt;buster&lt;/code&gt;. Available since Falco 0.40.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href="https://hub.docker.com/r/falcosecurity/falco-driver-loader/tags"&gt;&lt;em&gt;version&lt;/em&gt;-buster&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker pull falcosecurity/falco-driver-loader:&amp;lt;version&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Same as &lt;code&gt;falco-driver-loader:&amp;lt;version&amp;gt;&lt;/code&gt; but based on Debian &lt;code&gt;buster&lt;/code&gt;. Available since Falco 0.40.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="rules"&gt;Rules&lt;/h3&gt;
&lt;p&gt;The Falco packages and container images come with a built-in ruleset file (including only rules with &lt;a href="https://github.com/falcosecurity/rules/blob/main/CONTRIBUTING.md#maturity-levels"&gt;maturity stable level&lt;/a&gt;). Those rules and others with different maturity levels are available as downloadable files at &lt;a href="https://download.falco.org/?prefix=rules/"&gt;download.falco.org&lt;/a&gt; and are also available as OCI artifacts (refer to &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/download/#falcoctl"&gt;falcoctl&lt;/a&gt; documentation for downloading and installing OCI artifacts).&lt;/p&gt;
&lt;h3 id="plugins"&gt;Plugins&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/falcosecurity/plugins"&gt;Plugins&lt;/a&gt; hosted by The Falco Project are available as downloadable packages at &lt;a href="https://download.falco.org/?prefix=plugins/"&gt;download.falco.org&lt;/a&gt; and are also available as OCI artifacts (refer to &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/download/#falcoctl"&gt;falcoctl&lt;/a&gt; documentation for downloading and installing OCI artifacts).&lt;/p&gt;
&lt;h3 id="drivers"&gt;Drivers&lt;/h3&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;When using Falco for &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/"&gt;Kernel Events&lt;/a&gt; (i.e., with the &lt;code&gt;syscall&lt;/code&gt; data source enabled), the Falco binary relies on having a &lt;a class='glossary-tooltip' title='The global term for the software that sends events from the kernel.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/' target='_blank' aria-label='driver'&gt;driver&lt;/a&gt; available on the host system.&lt;/p&gt;
&lt;p&gt;Starting from Falco 0.38.0, the default driver is the &lt;a class='glossary-tooltip' title='More robust eBPF probe which brings the CO-RE paradigm, better performances and maintainability.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe' target='_blank' aria-label='Modern eBPF'&gt;Modern eBPF&lt;/a&gt; driver, which is included in the Falco binary and built using the &lt;a href="https://en.wikipedia.org/wiki/EBPF#eBPF_CO-RE_%28Compile_Once_-_Run_Everywhere%29"&gt;CO-RE &amp;quot;Compile Once - Run Everywhere&amp;quot;&lt;/a&gt; technology. If your system satisfies the modern eBPF driver requirements, no further action is needed. Otherwise, you need to use the &lt;a class='glossary-tooltip' title='The Kernel module collects syscalls events from the Kernel, as the modern eBPF probe does.' data-toggle='tooltip' data-placement='top' href='https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#kernel-module' target='_blank' aria-label='Kernel Module'&gt;Kernel Module&lt;/a&gt;, which provides wider compatibility.&lt;/p&gt;
&lt;p&gt;In brief, you don't need to install a driver if you are either:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;using the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/kernel/#modern-ebpf-probe"&gt;modern eBPF driver&lt;/a&gt; (default option)&lt;/li&gt;
&lt;li&gt;or if you are using only &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/concepts/event-sources/plugins/"&gt;plugin data sources&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Pre-built Falco drivers for a vast variety of Linux Kernel releases are distributed at &lt;a href="https://download.falco.org/?prefix=driver/"&gt;download.falco.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To download a pre-built driver, navigate to the driver versions' directory that is compatible with the Falco binary you're currently using (check with &lt;code&gt;falco --version&lt;/code&gt;), then download the kernel artifact corresponding to your kernel release (&lt;code&gt;uname -r&lt;/code&gt;) for either &lt;code&gt;.ko&lt;/code&gt; (kernel module) or &lt;code&gt;.o&lt;/code&gt; (legacy eBPF driver, deprecated). To make this easier, Falco comes with the &lt;a href="https://github.com/falcosecurity/falcoctl"&gt;falcoctl&lt;/a&gt; tool that automates the driver download (or tries to build it on the fly). The &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/install-operate/installation/"&gt;Install&lt;/a&gt; guide will explain this more, and the text blob below also has more information.&lt;/p&gt;
&lt;h3 id="tools"&gt;Tools&lt;/h3&gt;
&lt;h4 id="falcoctl"&gt;Falcoctl&lt;/h4&gt;
&lt;p&gt;&lt;a href="https://github.com/falcosecurity/falcoctl"&gt;falcoctl&lt;/a&gt; is a command-line tool that helps you manage Falco and its ecosystem components. It is included in the Falco distribution and can be used to download and install Falco drivers, rules, plugins, and other artifacts.&lt;/p&gt;
&lt;p&gt;You can also manually download &lt;code&gt;falcoctl&lt;/code&gt; from &lt;a href="https://github.com/falcosecurity/falcoctl/releases"&gt;GitHub releases&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id="helm-charts"&gt;Helm Charts&lt;/h4&gt;
&lt;div class="card card-sm pageinfo pageinfo-primary my-4"&gt;
&lt;div class="card-body"&gt;
&lt;div class="card-text"&gt;
&lt;p&gt;For deployment instructions using Helm, please refer to the &lt;a href="https://v0-43--falcosecurity.netlify.app/docs/setup/kubernetes/"&gt;Deploy on Kubernetes&lt;/a&gt; page.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The Falco Project provides various Helm charts and documentation for Falco and its ecosystem tools.&lt;/p&gt;
&lt;p&gt;For detailed information about these charts, refer to the &lt;a href="https://github.com/falcosecurity/charts?tab=readme-ov-file#falco-helm-charts"&gt;Falco Helm Charts repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For information about how to download and install Helm, see the official Helm installation guide.&lt;/p&gt;
&lt;p&gt;&lt;a class="btn btn-primary" href="https://helm.sh/docs/intro/install/" role="button" aria-label="View Installing Helm Guide"&gt;View Installing Helm Guide&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>