À un moment donné, vous voudrez certainement rédiger vos propres règles personnalisées de lʼAgent pour Cloud Security Management Threats (CSM Threats). Certaines stratégies vous permettront dʼoptimiser l’efficacité des règles que vous créerez.

Attributs

Pour garantir que votre stratégie est évaluée dans le noyau afin dʼêtre la plus efficace possible, utilisez toujours l’un des attributs suivants pour les règles relatives à l’activité du processus ou des fichiers :

  • Agent Version >= 7.27
  • process.file.name
  • process.file.path
  • [event_type].file.name
  • [event_type].file.path

Remarque : les valeurs possibles pour [event_type] sont open ou exec.

Wildcards

Utilisez les wildcards (*) avec précaution. Par exemple, n’utilisez jamais open.file.path =~ "*/myfile". Si vous devez utiliser des wildcards pour préfixer des répertoires, deux niveaux au moins sont nécessaires : open.file.path =~ "*/mydir/myfile").

Remarque : vous devez ajouter un tilde (~) à lʼopérateur lorsque vous utilisez des wildcards.

Approbateurs et rejeteurs

CSM Threats utilise le concept dʼ« approvers » et de « discarders » (approbateurs et rejeteurs) pour filtrer les événements qui ne sont pas censés déclencher de règles dans une stratégie. Les approvers et les discarders autorisent ou refusent des événements au niveau de la stratégie uniquement. Ils n’agissent pas sur les règles individuelles.

Les approbateurs font office de liste dʼautorisations au niveau du noyau dans lʼAgent Datadog. Par exemple, l’ouverture d’un fichier spécifique pourrait être un approbateur sur lʼévénement open, tandis que les événements open sur des fichiers sans approbateurs seraient filtrés. De même, les rejets agissent comme une liste de restrictions dans lʼAgent. Les rejeteurs filtrent intentionnellement les événements qui ne peuvent jamais correspondre à une règle. LʼAgent apprend quels événements filtrer avec les rejeteurs pendant l’exécution.

Les approbateurs et les rejeteurs sont générés sur la base de l’ensemble de votre stratégie. De ce fait, si une règle unique n’utilise pas les approbateurs pour un événement donné (par exemple, open ou exec), les approbateurs ne peuvent pas être utilisés pour cet événement pour l’ensemble de la stratégie, ce qui rend toutes les règles qui utilisent cet événement moins efficaces.

Par exemple, si vous utilisez des noms de fichiers explicites pour évaluer les événements open pour chaque règle sauf une (open.file.path == "/etc/shadow", open.file.path == "/etc/secret" et ainsi de suite), et si vous utilisez un wildcard dans cet événement (open.file.path == "/etc/*"), lʼévénement open ne générera pas d’approbateur, mais pourra générer des rejeteurs pendant l’exécution.

Les approbateurs sont généralement plus puissants et privilégiés. En utilisant les approbateurs, lʼAgent peut traiter uniquement ce qu’il a besoin de voir au lieu d’apprendre ce qu’il faut filtrer de façon dynamique.

Pour aller plus loin