<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Falco – MKS</title><link>https://v0-43--falcosecurity.netlify.app/tags/mks/</link><description>Recent content in MKS on Falco</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Thu, 13 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://v0-43--falcosecurity.netlify.app/tags/mks/feed.xml" rel="self" type="application/rss+xml"/><item><title>Blog: Detecting Threats in OVHcloud MKS Audit Logs with Falco</title><link>https://v0-43--falcosecurity.netlify.app/blog/detect-threats-falco-ovh-mks-audit-logs-plugin/</link><pubDate>Thu, 13 Mar 2025 00:00:00 +0000</pubDate><guid>https://v0-43--falcosecurity.netlify.app/blog/detect-threats-falco-ovh-mks-audit-logs-plugin/</guid><description>
&lt;p&gt;Detecting threats in a Kubernetes cluster can be challenging, we generally don't know where and how to start.
The good news is that we have an amount of valuable logs that can help us to know what is happened in the cluster. Indeed, each action requested or done by a user or an app, in a cluster, is recorded in Audit Logs.
Kubernetes events are key to understanding the behavior of a cluster.&lt;/p&gt;
&lt;p&gt;We already provide plugins that let you parse Audit Logs and use Falco to detect threats from GKE, EKS and AKS clusters. With our latest plugin, you'll now have the same powerful threat detection capabilities for your OVHcloud MKS clusters 🎉.&lt;/p&gt;
&lt;h2 id="what-is-falco"&gt;What is Falco?&lt;/h2&gt;
&lt;p&gt;Falco is an Open Source cloud-native runtime security tool. It provides near real-time threat detection for cloud, container, and Kubernetes workloads by leveraging runtime insights. Falco can monitor events from various sources, including the Linux kernel, and enrich them with metadata from the Kubernetes API server, container runtime, and more.&lt;/p&gt;
&lt;p&gt;Falco can receive &lt;strong&gt;Events&lt;/strong&gt;, compare them to a set of &lt;strong&gt;Rules&lt;/strong&gt; to determine the actions to perform and generate &lt;strong&gt;Alerts&lt;/strong&gt; to different endpoints.&lt;/p&gt;
&lt;h2 id="what-is-the-ovh-mks-audit-logs-plugin"&gt;What is the OVH MKS Audit Logs plugin?&lt;/h2&gt;
&lt;p&gt;The OVH audit logs plugin (&lt;a href="https://github.com/falcosecurity/plugins/tree/main/plugins/k8saudit-ovh"&gt;k8saudit-ovh&lt;/a&gt;) extends Falco's capabilities to OVHcloud Managed Kubernetes Service (MKS) clusters, providing you with the same security insights and threat detection Falco already offers for GKE, EKS and AKS environments.&lt;/p&gt;
&lt;p&gt;With this plugin, you can seamlessly integrate MKS Audit Logs into Falco's event processing pipeline, enabling it to identify anomalies, suspicious activities, and policy violations within your MKS-based workloads.&lt;/p&gt;
&lt;p&gt;Concretely, when a user executes some &lt;strong&gt;kubectl&lt;/strong&gt; commands in an OVHcloud MKS cluster, Audit Logs will be generated. Falco is listening to them, and depending on the configured rules to follow, it will generate some alerts.&lt;/p&gt;
&lt;p&gt;&lt;img src="images/falco-apiserver.png" alt="Falco Kubernetes API Server Audit Logs" loading="lazy" /&gt;
&lt;/p&gt;
&lt;h2 id="using-ovh-mks-audit-logs-plugin"&gt;Using OVH MKS Audit Logs plugin&lt;/h2&gt;
&lt;p&gt;In order to use the OVH MKS Audit Logs plugin, you must follow several steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;deploy an OVHcloud LDP (Logs Data Platform)&lt;/li&gt;
&lt;li&gt;create a data stream into this LDP&lt;/li&gt;
&lt;li&gt;connect an OVHcloud MKS cluster to the data stream (to send Audit Logs into it)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To be able to access our Kubernetes clusters' Audit Logs, you need to deploy an &lt;a href="https://www.ovhcloud.com/en/identity-security-operations/logs-data-platform/"&gt;LDP&lt;/a&gt;. LDP is the managed platform for collecting, processing, analyzing, and storing your logs of the OVHcloud products. Deploy an LDP (Bare Metal Cloud universe) with whatever plan you want.&lt;/p&gt;
&lt;p&gt;OVHcloud Kubernetes Audit Logs will be stored in a data stream. The OVHcloud Audit Logs Falco plugin receive the audit logs through Websocket so you need to enable &lt;strong&gt;Websocket broadcasting&lt;/strong&gt; when you create the data stream on LDP.&lt;/p&gt;
&lt;p&gt;Retrieve the Websocket URL, follow &lt;a href="https://help.ovhcloud.com/csm/en-ie-logs-data-platform-ldp-tail?id=kb_article_view&amp;amp;sysparm_article=KB0055757#retrieve-your-websocket-address"&gt;the guide&lt;/a&gt; to do so.
The Websocket address have this kind of format: &lt;strong&gt;wss://gra&lt;xxx&gt;.logs.ovh.com/tail/?tk=&lt;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Finally, you have to &lt;a href="https://help.ovhcloud.com/csm/en-public-cloud-kubernetes-forwarding-audit-logs?id=kb_article_view&amp;amp;sysparm_article=KB0062285#enabling-audit-log-forwarding-using-the-ovhcloud-control-panel"&gt;connect a MKS cluster to the LDP data stream&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="configuring-falco-to-use-ovh-audit-logs-plugin"&gt;Configuring Falco to use OVH Audit Logs plugin&lt;/h2&gt;
&lt;h3 id="running-locally"&gt;Running locally&lt;/h3&gt;
&lt;p&gt;If you have a Falco running locally, using &lt;a href="https://github.com/falcosecurity/falcoctl"&gt;falcoctl&lt;/a&gt;, add the &lt;strong&gt;falcosecurity index&lt;/strong&gt; (if it's not already the case) and install the k8saudit-ovh Falco plugin:&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:#080;font-style:italic"&gt;# Add falcosecurity index&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;sudo falcoctl index add falcosecurity https://falcosecurity.github.io/falcoctl/index.yaml&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:#080;font-style:italic"&gt;# Install k8saudit-ovh Falco plugin&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;sudo falcoctl artifact install k8saudit-ovh&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;p&gt;Fill your &lt;strong&gt;falco.yaml&lt;/strong&gt; file in order to add the plugin configuration:&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;plugins&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;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;k8saudit-ovh&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;library_path&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;/usr/share/falco/plugins/libk8saudit-ovh.so&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;open_params&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;&amp;lt;OVH LDP WEBSOCKET URL&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#080;font-style:italic"&gt;# gra&amp;lt;x&amp;gt;.logs.ovh.com/tail/?tk=&amp;lt;ID&amp;gt;&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;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;json&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;library_path&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;libjson.so&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;init_config&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;&amp;#34;&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:#008000;font-weight:bold"&gt;load_plugins&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;[k8saudit-ovh, json]&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&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;stdout_output&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;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&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;h3 id="running-in-a-kubernetes-cluster"&gt;Running in a Kubernetes cluster&lt;/h3&gt;
&lt;p&gt;If you have a Falco running in a Kubernetes cluster (on OVHcloud MKS or on another cluster), deployed with Helm, create a &lt;strong&gt;values.yaml&lt;/strong&gt; file with the following content:&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;tty&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&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:#008000;font-weight:bold"&gt;kubernetes&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&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&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Just a Deployment with 1 replica (instead of a Daemonset) to have only one Pod that pulls the MKS Audit Logs from a OVHcloud LDP&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:#008000;font-weight:bold"&gt;controller&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;kind&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;deployment&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;replicas&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#666"&gt;1&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&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;falco&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;rule_matching&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;all&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;rules_files&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;- /etc/falco/k8s_audit_rules.yaml&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;- /etc/falco/rules.d&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;plugins&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;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;k8saudit-ovh&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;library_path&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;libk8saudit-ovh.so&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;open_params&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;gra&amp;lt;x&amp;gt;.logs.ovh.com/tail/?tk=&amp;lt;ID&amp;gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#080;font-style:italic"&gt;# Replace with your LDP Websocket URL&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;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;json&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;library_path&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;libjson.so&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;init_config&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;&amp;#34;&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:#080;font-style:italic"&gt;# Plugins that Falco will load. Note: the same plugins are installed by the falcoctl-artifact-install init container.&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;load_plugins&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;[k8saudit-ovh, json]&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&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#008000;font-weight:bold"&gt;driver&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;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&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:#008000;font-weight:bold"&gt;collectors&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;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&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&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#080;font-style:italic"&gt;# use falcoctl to install automatically the plugin and the rules&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:#008000;font-weight:bold"&gt;falcoctl&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;artifact&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;install&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;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&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;follow&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;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;true&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;config&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;indexes&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;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;falcosecurity&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;url&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;https://falcosecurity.github.io/falcoctl/index.yaml&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;artifact&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;allowedTypes&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;- plugin&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;- rulesfile&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;install&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;resolveDeps&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#a2f;font-weight:bold"&gt;false&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;refs&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;[k8saudit-rules:0, k8saudit-ovh:0.1, json:0]&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;follow&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;refs&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;[k8saudit-rules:0]&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;p&gt;This &lt;strong&gt;values.yaml&lt;/strong&gt; file will install Falco with the &lt;strong&gt;k8saudit-ovh&lt;/strong&gt; and the &lt;strong&gt;json&lt;/strong&gt; plugins.&lt;/p&gt;
&lt;p&gt;Install the latest version of Falco with &lt;strong&gt;helm install&lt;/strong&gt; 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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ helm install falco --create-namespace --namespace falco --values&lt;span style="color:#666"&gt;=&lt;/span&gt;values.yaml falcosecurity/falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This command will install the latest version of Falco, with the k8saudit-ovh and json plugins, and create a new falco namespace.&lt;/p&gt;
&lt;p&gt;Or if you already have Falco deployed in a Kubernetes cluster, you can use the &lt;strong&gt;helm update&lt;/strong&gt; command instead:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ helm update falco --create-namespace --namespace falco --values&lt;span style="color:#666"&gt;=&lt;/span&gt;values.yaml falcosecurity/falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once the Falco pod is ready, run the following command to see the logs:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl logs -l app.kubernetes.io/name&lt;span style="color:#666"&gt;=&lt;/span&gt;falco -n falco -c falco
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should see logs like that:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ kubectl logs -l app.kubernetes.io/name&lt;span style="color:#666"&gt;=&lt;/span&gt;falco -n falco -c falco
&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;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: /etc/falco/k8s_audit_rules.yaml | schema validation: ok
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: Hostname value has been overridden via environment variable to: my-pool-1-node-921b61
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: The chosen syscall buffer dimension is: &lt;span style="color:#666"&gt;8388608&lt;/span&gt; bytes &lt;span style="color:#666"&gt;(&lt;/span&gt;&lt;span style="color:#666"&gt;8&lt;/span&gt; MBs&lt;span style="color:#666"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: Starting health webserver with threadiness 2, listening on 0.0.0.0:8765
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: Loaded event sources: syscall, k8s_audit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: Enabled event sources: k8s_audit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Mon Feb &lt;span style="color:#666"&gt;10&lt;/span&gt; 09:15:35 2025: Opening &lt;span style="color:#b44"&gt;&amp;#39;k8s_audit&amp;#39;&lt;/span&gt; &lt;span style="color:#a2f"&gt;source&lt;/span&gt; with plugin &lt;span style="color:#b44"&gt;&amp;#39;k8saudit-ovh&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;hostname&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;my-pool-1-node-921b61&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;09:15:40.698757000: Warning K8s Operation performed by user not in allowed list of users (user=csi-cinder-controller target=csi-6afb06dce281b86b7bab718b5d966dc261b2b1554941ae449519a128cb2e3fb3/volumeattachments verb=patch uri=/apis/storage.k8s.io/v1/volumeattachments/csi-6afb06dce281b86b7bab718b5d966dc261b2b1554941ae449519a128cb2e3fb3/status resp=200)&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output_fields&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;evt.time&amp;#34;&lt;/span&gt;:1739178940698757000,&lt;span style="color:#b44"&gt;&amp;#34;ka.response.code&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;200&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;csi-6afb06dce281b86b7bab718b5d966dc261b2b1554941ae449519a128cb2e3fb3&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.resource&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;volumeattachments&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.uri&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;/apis/storage.k8s.io/v1/volumeattachments/csi-6afb06dce281b86b7bab718b5d966dc261b2b1554941ae449519a128cb2e3fb3/status&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.user.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;csi-cinder-controller&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.verb&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;patch&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Warning&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;rule&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Disallowed K8s User&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;k8s_audit&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;[&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;k8s&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;]&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;time&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;2025-02-10T09:15:40.698757000Z&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;hostname&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;my-pool-1-node-921b61&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;09:15:57.508657000: Warning K8s Operation performed by user not in allowed list of users (user=yacht target=my-pool-1.18051c0a88716868/events verb=patch uri=/api/v1/namespaces/default/events/my-pool-1.18051c0a88716868 resp=403)&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output_fields&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;evt.time&amp;#34;&lt;/span&gt;:1739178957508657000,&lt;span style="color:#b44"&gt;&amp;#34;ka.response.code&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;403&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;my-pool-1.18051c0a88716868&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.resource&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;events&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.uri&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;/api/v1/namespaces/default/events/my-pool-1.18051c0a88716868&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.user.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;yacht&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.verb&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;patch&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Warning&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;rule&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Disallowed K8s User&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;k8s_audit&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;[&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;k8s&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;]&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;time&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;2025-02-10T09:15:57.508657000Z&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;hostname&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;my-pool-1-node-921b61&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;09:15:57.807013000: Warning K8s Operation performed by user not in allowed list of users (user=yacht target=my-pool-1/nodepools verb=update uri=/apis/kube.cloud.ovh.com/v1alpha1/nodepools/my-pool-1/status resp=200)&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output_fields&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;evt.time&amp;#34;&lt;/span&gt;:1739178957807013000,&lt;span style="color:#b44"&gt;&amp;#34;ka.response.code&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;200&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;my-pool-1&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.resource&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;nodepools&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.uri&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;/apis/kube.cloud.ovh.com/v1alpha1/nodepools/my-pool-1/status&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.user.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;yacht&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.verb&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;update&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Warning&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;rule&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Disallowed K8s User&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;k8s_audit&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;[&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;k8s&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;]&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;time&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;2025-02-10T09:15:57.807013000Z&amp;#34;&lt;/span&gt;&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;h2 id="let-s-test-it"&gt;Let's test it!&lt;/h2&gt;
&lt;p&gt;In order to test Falco we need to know which rules are installed by default. In our case, as we defined it in the &lt;strong&gt;values.yaml&lt;/strong&gt; file, the k8saudit-ovh plugin follow the &lt;a href="https://github.com/falcosecurity/plugins/blob/main/plugins/k8saudit/rules/k8s_audit_rules.yaml"&gt;k8s_audit_rules.yaml&lt;/a&gt; file. You can take a look at them in order to know them.&lt;/p&gt;
&lt;p&gt;In this blog post we will test one of the well-known default k8s audit rules:&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;rule&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Attach/Exec Pod&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;desc&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&amp;gt;&lt;span style="color:#b44;font-style:italic"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b44;font-style:italic"&gt; Detect any attempt to attach/exec to a pod&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;condition&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;kevt_started and pod_subresource and (kcreate or kget) and ka.target.subresource in (exec,attach) and not user_known_exec_pod_activities&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;output&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;Attach/Exec to pod (user=%ka.user.name pod=%ka.target.name resource=%ka.target.resource ns=%ka.target.namespace action=%ka.target.subresource command=%ka.uri.param[command])&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;priority&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;NOTICE&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;source&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;k8s_audit&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;tags&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;[k8s]&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;p&gt;This rule is interesting because an event will be generated if/when an user execute commands in a pod.&lt;/p&gt;
&lt;p&gt;Let’s test the rule!&lt;/p&gt;
&lt;p&gt;In a tab of your terminal, watch the coming logs:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ kubectl logs -l app.kubernetes.io/name&lt;span style="color:#666"&gt;=&lt;/span&gt;falco -n falco -c falco -f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In an another tab of your terminal, create a Nginx pod and execute a command into it:&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-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$ kubectl run nginx --image&lt;span style="color:#666"&gt;=&lt;/span&gt;nginx
&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;$ kubectl &lt;span style="color:#a2f"&gt;exec&lt;/span&gt; -it nginx -n hello-app -- cat /etc/shadow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Several seconds laters, in the logs you should see this you will see this Attach/Exec to pod logs:&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-bash" data-lang="bash"&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:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;hostname&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;my-pool-1-node-921b61&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;09:29:46.302906000: Notice Attach/Exec to pod (user=kubernetes-admin pod=nginx-676b6c5bbc-4xc6t resource=pods ns=hello-app action=exec command=cat)&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;output_fields&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;{&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;evt.time&amp;#34;&lt;/span&gt;:1739179786302906000,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;nginx-676b6c5bbc-4xc6t&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.namespace&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;hello-app&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.resource&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;pods&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.target.subresource&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;exec&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.uri.param[command]&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;cat&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;ka.user.name&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;kubernetes-admin&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Notice&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;rule&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;Attach/Exec Pod&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;source&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;k8s_audit&amp;#34;&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;:&lt;span style="color:#666"&gt;[&lt;/span&gt;&lt;span style="color:#b44"&gt;&amp;#34;k8s&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;]&lt;/span&gt;,&lt;span style="color:#b44"&gt;&amp;#34;time&amp;#34;&lt;/span&gt;:&lt;span style="color:#b44"&gt;&amp;#34;2025-02-10T09:29:46.302906000Z&amp;#34;&lt;/span&gt;&lt;span style="color:#666"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;💪&lt;/p&gt;
&lt;h2 id="let-s-meet"&gt;Let's meet!&lt;/h2&gt;
&lt;p&gt;If you have planned to go to the KubeCon + CloudNative Con EU 2025 at London, don't hesitate to stop at the Falco booth in the Project Pavillon!&lt;/p&gt;
&lt;p&gt;As always, we meet every week in our &lt;a href="https://github.com/falcosecurity/community"&gt;community calls&lt;/a&gt;,
if you want to know the latest and the greatest you should join us there!&lt;/p&gt;
&lt;p&gt;If you have any questions&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Join the #falco channel on the &lt;a href="https://slack.k8s.io"&gt;Kubernetes Slack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.cncf.io/g/cncf-falco-dev"&gt;Join the Falco mailing list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Enjoy 😎,&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Aurélie&lt;/em&gt;&lt;/p&gt;</description></item></channel></rss>