Les règles d’Agent sont organisées en politiques. Une politique est un ensemble de règles d’Agent que vous déployez ensemble et que vous assignez à une infrastructure spécifique (hosts, clusters, etc.).

En plus des règles d’Agent par défaut (OOTB), vous pouvez rédiger des règles d’Agent personnalisées pour détecter des événements que Datadog ne met pas en évidence avec les règles standard OOTB seules.

Politiques

Créez une politique

  1. Accédez à Policies.
  2. Cliquez sur New Policy. Vous pouvez également ouvrir une politique existante, cliquer sur Actions et la cloner.
  3. Saisissez un nom pour la politique et cliquez sur Create. La nouvelle politique est créée, mais elle n’est ni activée ni déployée.
  4. Cliquez sur la politique pour l’ouvrir.
  5. Dans New Rule, ajoutez des règles d’Agent personnalisées à la politique. Pour créer une règle d’Agent, consultez Créer une règle d’Agent personnalisée.
  6. Cliquez sur Edit à côté de Deployed on 0 agents.
  7. Ajoutez des tags à la politique pour cibler une infrastructure spécifique.
  8. Pour déployer la politique, activez le commutateur à côté de Policy is disabled et confirmez. Cela utilise Remote Configuration, comme détaillé ci-dessous sur cette page.

Épinglez une politique gérée par Datadog à sa version actuelle

Le verrouillage de politique est pris en charge dans la version 7.71.0 de l'Agent et les versions ultérieures. Les Agents précédents continuent de recevoir automatiquement les dernières mises à jour de politique.

Lorsque les politiques gérées par Datadog sont mises à jour par Datadog, elles sont automatiquement déployées sur votre infrastructure.

Pour contrôler le moment où une nouvelle version de politique est déployée sur votre infrastructure, vous pouvez verrouiller la politique sur sa version actuelle. Le verrouillage d’une version de politique empêche le déploiement automatique des mises à jour de politique lorsque Datadog publie une nouvelle version de politique.

Pour verrouiller une politique, procédez comme suit :

  1. Accédez à Policies.
  2. Cliquez sur une politique gérée par Datadog.
  3. Dans Version, cliquez sur l’option de verrouillage. Si votre infrastructure exécute des Agents dans une version antérieure à la 7.71.0, un avertissement concernant les agents obsolètes s’affiche. Consultez et mettez à niveau votre version de l’Agent dans Fleet Automation.
  4. Cliquez sur Pin. Pour déverrouiller la version de la politique, cliquez à nouveau sur l’option de verrouillage.

Règles en conflit

Lorsque deux politiques déployées sur le même host contiennent la même règle avec un statut différent (active et inactive), la règle sera considérée comme active.

Appliquez des tags

Les tags définissent où une politique s’applique, comme les environnements, les clusters ou les hosts. Ajoutez des tags à une politique pour limiter ses règles à une partie de votre infrastructure.

  1. Accédez à Agent Configuration.
  2. Ouvrez une politique et cliquez sur Edit.
  3. Saisissez les tags et cliquez sur Apply. Si la politique est activée, elle est appliquée aux cibles des tags.

Lorsque vous ajoutez des tags, Datadog affiche le nombre d’agents ciblés par les tags ainsi que l’infrastructure sur laquelle chaque agent s’exécute. Par exemple, Tags match 144 agents.

Créez une règle d’Agent personnalisée

Vous pouvez créer une règle d’Agent personnalisée et la déployer dans le cadre d’une politique personnalisée. Plus tard, lors de la définition d’une règle de détection personnalisée, vous faites référence à la règle d’Agent personnalisée et ajoutez des paramètres d’expression. Les règles d’Agent personnalisées sont déployées sur l’Agent dans une politique personnalisée distincte des politiques par défaut. La politique personnalisée contient uniquement des règles d’Agent personnalisées.

  1. Accédez à Agent Configuration.
  2. Créez une politique ou ouvrez-en une existante.
  3. Une fois la politique ouverte, dans Actions, sélectionnez Manual rule creator pour ouvrir l’éditeur de règles d’Agent. Le même éditeur est également disponible depuis la page Règles d’Agent dans Datadog. Pour utiliser plutôt l’assistant Assisted rule creator—qui vous guide à travers la règle d’Agent et la règle de détection des menaces—consultez Créer ensemble la règle d’Agent personnalisée et la règle de détection.
  4. Saisissez un Name et une Description pour la règle.
  5. Dans Expression, définissez la correspondance à l’aide du langage Datadog Security (SECL).
  6. (Facultatif) Ajoutez des variables ou des actions qui s’exécutent lorsque la règle correspond à un événement. Consultez Variables et actions.
  7. Cliquez sur Create Agent Rule. Vous êtes redirigé vers la politique.

Une fois que vous avez créé une règle d’Agent personnalisée, la modification est enregistrée avec les autres mises à jour de règles en attente. Pour appliquer la modification à votre environnement, déployez la politique personnalisée mise à jour sur l’Agent.

Activez et déployez des politiques

Les politiques activées appliquent leurs règles aux cibles d’infrastructure identifiées par leurs tags. Activer une politique revient au même que la déployer.

Vous pouvez utiliser Remote Configuration dans l’interface utilisateur Datadog pour déployer automatiquement la politique personnalisée sur les hosts désignés par les tags de politique (tous les hosts ou un sous-ensemble défini de hosts), ou vous pouvez déployer manuellement la politique sur l’Agent de chaque host.

Remote Configuration

Remote Configuration est la méthode utilisée par Datadog pour transmettre automatiquement les politiques à vos agents. Elle utilise un mécanisme sécurisé pour garantir que seules les politiques signées et authentifiées sont transmises à vos agents. Pour déployer une politique à l’aide de Remote Configuration, suivez les étapes détaillées dans Créer une politique.

Stratégies de déploiement

Pour déployer une modification des règles ou des politiques de l’Agent avec Remote Configuration, vous pouvez choisir entre deux stratégies : déployer la modification instantanément sur tous vos hosts, ou échelonner le déploiement par étapes à l’aide d’un déploiement géré. Surveillez les déploiements depuis la page Déploiements.

Déploiement instantané

Le déploiement instantané envoie la politique mise à jour à tous les hosts du périmètre en même temps, sans validation par phases. Cela prend généralement quelques minutes et est idéal lorsque vous souhaitez que la modification soit appliquée partout immédiatement.

Sélectionnez Deploy instantly, puis cliquez sur Update Policy. Suivez la progression depuis la page Déploiements.

Déploiement géré

Un déploiement géré déploie votre modification en plusieurs phases afin que vous puissiez la valider sur un sous-ensemble de hosts avant qu’elle n’atteigne l’ensemble de votre infrastructure.

  1. Lors de la modification d’une politique ou d’une règle, sélectionnez Start a managed deployment. Si la politique ou la règle a déjà été déployée avec un déploiement géré, sélectionnez Start from your last deployment pour réutiliser les paramètres du dernier déploiement. Pour une modification de règle, les paramètres réutilisés sont ceux du dernier déploiement de la politique contenant la règle.
  2. Sous Customize deployment roll-out plan, définissez le périmètre du déploiement, puis configurez jusqu’à 10 phases pour déployer la modification progressivement. Définissez chaque phase By percentage of hosts in scope ou By host tags.
  3. Sous Set up monitoring and delay time, sélectionnez un ou plusieurs monitors à vérifier pendant le déploiement. Si un monitor envoie une alerte pendant que le déploiement est en cours, le déploiement se met en pause. Définissez ensuite le délai d’attente avant de passer à la phase suivante.
  4. Sous Set deployment window, définissez les jours, les heures et le fuseau horaire pendant lesquels le déploiement peut s’exécuter. Si le déploiement se poursuit au-delà d’une fenêtre, il se met en pause et reprend lors de la suivante.
  5. (Facultatif) Sous Add a description, ajoutez une description pour le déploiement.
  6. Cliquez sur Update Policy pour démarrer le déploiement. Suivez la progression depuis la page Déploiements.

Déploiement manuel

Pour le déploiement manuel, vous installez vous-même un fichier de politique sur chaque Agent. Vous pouvez créer la politique et ses règles dans l’interface utilisateur Datadog et télécharger le fichier généré. Si vous connaissez déjà la syntaxe de la politique, rédigez un fichier .policy manuellement. Ensuite, téléchargez ou synchronisez ce fichier sur chaque Agent où la politique doit s’exécuter, comme décrit ci-dessous.

  1. Sur la page Agent Configuration, ouvrez une politique.
  2. Dans Actions, sélectionnez Download Policy.

Ensuite, utilisez les instructions suivantes pour téléverser le fichier de politique sur chaque host.

Copiez le fichier default.policy sur le host cible dans le dossier /etc/datadog-agent/runtime-security.d (qui contiendra tous vos fichiers .policy). Le fichier doit disposer d’un accès read et write pour l’utilisateur root sur le host.

Pour appliquer les modifications, effectuez l’une des opérations suivantes :

  • Recharger les politiques d’exécution (sans redémarrage complet de l’Agent) :

    sudo /opt/datadog-agent/embedded/bin/system-probe runtime policy reload
    
  • Ou redémarrez le Datadog Agent.

  1. Créez une ConfigMap contenant default.policy, par exemple, kubectl create configmap jdefaultpol --from-file=default.policy.

  2. Ajoutez la ConfigMap (jdefaultpol) à values.yaml avec datadog.securityAgent.runtime.policies.configMap :

    securityAgent:
        # [...]
        runtime:
            # datadog.securityAgent.runtime.enabled
            # Set to true to enable Security Runtime Module
            enabled: true
            policies:
                # datadog.securityAgent.runtime.policies.configMap
                # Place custom policies here
                configMap: jdefaultpol
        # [...]
    
  3. Mettez à jour le chart Helm avec helm upgrade <RELEASENAME> -f values.yaml --set datadog.apiKey=<APIKEY> datadog/datadog.

    Remarque : Si vous devez apporter d’autres modifications à default.policy, vous pouvez soit utiliser kubectl edit cm jdefaultpol, soit remplacer la ConfigMap par kubectl create configmap jdefaultpol --from-file default.policy -o yaml --dry-run=client | kubectl replace -f -.

Désactivez les règles par défaut de l’Agent

  1. Pour désactiver une règle de l’Agent, accédez à la page Agent Configuration et sélectionnez la politique utilisant la règle.
  2. Dans la politique, ouvrez la règle.
  3. Définissez le statut sur Inactive.
  4. Cliquez sur Save Changes.

La suppression d’une règle de Configuration des règles la retire de toutes les politiques qui incluaient cette règle.

RBAC pour la gestion des règles personnalisées

Voici quelques rôles et autorisations importants à utiliser pour le RBAC pour les règles personnalisées :

  • L’autorisation security_monitoring_cws_agent_rules_actions peut être utilisée pour activer et configurer la fonctionnalité Réponse automatisée utilisée pour activer le mode de blocage dans les règles.
    • Pour utiliser l’autorisation security_monitoring_cws_agent_rules_actions, un utilisateur disposant du rôle Datadog Admin doit créer un rôle contenant l’autorisation security_monitoring_cws_agent_rules_actions, puis ajouter à ce rôle uniquement les utilisateurs qui gèrent la Réponse automatisée.
  • Le rôle Datadog Standard permet aux utilisateurs de créer/mettre à jour une règle personnalisée par défaut, tant que l’opération ne modifie pas les paramètres de protection de la règle.