Détecter et alerter sur les activités suspectes à l'intérieur des conteneurs en cours d'exécution ou sur les nœuds du cluster.
→Déployer Falco en tant que DaemonSet. Falco utilise eBPF ou un module de noyau pour surveiller les appels système et alerte sur les comportements anormaux basés sur son ensemble de règles (par exemple, shell dans un conteneur, connexions réseau inattendues).
Pourquoi: Falco offre une visibilité en temps réel sur le comportement d'exécution, permettant la détection de menaces comme les évasions de conteneurs, le cryptominage ou l'exfiltration de données que la numérisation statique ne peut pas voir.
Référence↗
Une règle Falco par défaut génère trop de faux positifs.
→Créer un fichier de règles Falco personnalisé pour annuler la règle par défaut. Ajouter des exceptions à la `condition` de la règle pour exclure les comportements connus comme bons, tels que des processus spécifiques ou des images de conteneurs (par exemple, `and not container.image.repository contains "debug"`).
Pourquoi: Le réglage des règles est essentiel pour l'opérationnalisation de la sécurité d'exécution. Réduire le bruit garantit que les équipes de sécurité peuvent se concentrer sur les alertes exploitables et de haute priorité.
Enregistrer un journal chronologique et immuable de toutes les actions effectuées contre l'API Kubernetes.
→Activer la journalisation d'audit sur le `kube-apiserver` en fournissant les flags `--audit-policy-file` et `--audit-log-path`. Configurer la politique pour définir ce qui est journalisé et à quel niveau.
Pourquoi: Les journaux d'audit sont essentiels pour l'analyse de sécurité, l'enquête sur les incidents et la conformité. Ils fournissent un enregistrement définitif de qui a fait quoi, et quand.
Référence↗
Auditer l'accès aux ressources sensibles comme les Secrets sans journaliser le contenu du secret lui-même.
→Configurer la règle de politique d'audit pour les Secrets afin d'utiliser `level: Metadata`. Cela journalise l'utilisateur, l'horodatage, la ressource et le verbe, mais omet les corps des requêtes et des réponses.
Pourquoi: Ceci assure la responsabilité de ceux qui accèdent aux secrets sans créer un nouveau risque de sécurité en écrivant des données sensibles dans les journaux d'audit.
Aggreger les journaux de tous les composants du cluster et des applications pour une analyse centralisée.
→Déployer un agent de collecte de journaux (par exemple, Fluentd, Vector) en tant que DaemonSet pour collecter les journaux des nœuds et les transmettre à un SIEM centralisé ou à un système de gestion des journaux (par exemple, Elasticsearch, Splunk).
Pourquoi: La journalisation centralisée est cruciale pour corréler les événements à travers le cluster lors d'une enquête d'incident et pour maintenir des enregistrements à long terme pour la conformité.
Transférer les alertes de sécurité Falco vers un système externe pour notification et réponse.
→Déployer `Falcosidekick` aux côtés de Falco. Le configurer pour recevoir les alertes de Falco et les transmettre à des sorties comme Slack, PagerDuty ou un SIEM.
Pourquoi: Falcosidekick fournit un mécanisme flexible et robuste pour intégrer les alertes en temps réel de Falco dans les flux de travail opérationnels et de sécurité existants.
Détecter si un conteneur en cours d'exécution a été modifié, ce qui pourrait indiquer une compromission.
→Appliquer des conteneurs immuables avec `readOnlyRootFilesystem: true`. Utiliser un outil de sécurité d'exécution comme Falco pour surveiller et alerter sur toute écriture de fichier à des emplacements inattendus.
Pourquoi: Dans un modèle immuable, les conteneurs ne sont jamais modifiés au moment de l'exécution ; ils sont remplacés. Toute déviation de ce modèle est un fort indicateur d'une potentielle faille de sécurité.