Auditing with Falco

    Install Falco

    Install Falco by using one of the following methods:

    Once Falco is installed make sure it is configured to expose the Audit webhook. To do so, use the following configuration:

    This configuration is typically found in the file. If Falco is installed as a Kubernetes DaemonSet, edit the ConfigMap and add this configuration.

    Configure Kubernetes Audit

    Audit Rules

    Rules devoted to Kubernetes Audit Events can be found in . If Audit Rules is installed as a native package or using the official Docker images, Falco copies the rules file to , so they are available for use.

    There are three classes of rules.

    • Any activity by an unauthorized or anonymous user.
    • Creating a pod with an unknown or disallowed image.
    • Creating a privileged pod, a pod mounting a sensitive filesystem from the host, or a pod using host networking.
    • Creating a NodePort service.
    • Creating a ConfigMap containing private credentials, such as passwords and cloud provider secrets.
    • Attaching to or executing a command on a running pod.
    • Creating a namespace external to a set of allowed namespaces.
    • Creating a pod or service account in the kube-system or kube-public namespaces.
    • Trying to modify or delete a system ClusterRole.
    • Creating a ClusterRole with wildcarded verbs or resources. For example, overly permissive.
    • Creating a ClusterRole with write permissions or a ClusterRole that can execute commands on pods.

    A second class of rules tracks resources being created or destroyed, including:

    • Deployments
    • Services
    • ConfigMaps
    • Namespaces
    • Service accounts
    • Role/ClusterRoles
    • Role/ClusterRoleBindings

    The final class of rules simply displays any Audit Event received by Falco. This rule is disabled by default, as it can be quite noisy.

    For further details, see Kubernetes Audit Events in the Falco documentation.

    Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on . Open an issue in the GitHub repo if you want to report a problem or .