Retour aux articles • CLOUD • • 4 min de lecture

Conformité avec Auditd

Assurer la conformité des normes CIS et PCI-DSS avec Auditd.

Conformité avec Auditd

Introduction

ℹ️ Contexte réglementaire
La conformité aux normes de sécuriter informatique, telles que les benchmarks du Center for Internet Security (CIS) et la norme Payment Card Industry Data Security Standard (PCI-DSS), est essentielle pour les entreprises qui cherchent à protéger leurs infrastructures et données critiques.
Auditd est un outil sous Linux qui, configuré correctement, peut aider à atteindre et maintenir cette conformité.

Auditd

Pour atteindre une conformité avec les normes CIS et PCI-DSS, il est souvent nécessaire d’enregistrer toutes les commandes saisies dans le terminal par les utilisateurs. Voici comment configurer Auditd pour enregistrer ces commandes, comme expliqué dans l’article IT-Connect:

echo '-a always,exit -F arch=b64 -S execve -k commands' | sudo tee -a /etc/audit/audit.rules

Cette règle capture l’exécution de toute commande via l’appel système execve, utilisé par les shells pour lancer des programmes. Exemples de règles Auditd

Pour approfondir la configuration d’Auditd et aligner votre système avec les normes CIS et PCI-DSS, vous pouvez consulter des exemples de règles sur le dépôt GitHub d’Eric Gershman. Ce dépôt contient des exemples de règles qui peuvent être utilisées comme point de départ pour une configuration personnalisée.

Par exemple, pour surveiller les modifications des fichiers et répertoires sensibles, vous pouvez ajouter des règles telles que :

-w /etc/passwd -p wa -k passwd_changes
-w /etc/group -p wa -k group_changes
-w /etc/shadow -p wa -k shadow_changes

Ces règles permettent de suivre les changements sur les fichiers /etc/passwd, /etc/group, et /etc/shadow, qui sont critiques pour la sécurité du système.

CommandeDescription
auditctl -l
Liste les règles actuellement chargées.
auditctl -D
Supprime toutes les règles.
ausearch -k
Recherche les événements par nom de cler d'audit.
ausearch -m
Recherche par type de message (ex: USER_CMD, SYSCALL).
ausearch -ui
Recherche les événements par ID utilisateur (UID).
aureport -k
Génère un rapport des événements groupés par clé.
aureport -u --summary
Génère un résumé de l'activité de tous les utilisateurs.

Norme CIS

Les benchmarks CIS fournissent des recommandations détaillées pour configurer les systèmes de manière sécurisée. Ils couvrent une large gamme de systèmes, y compris Linux, et se concentrent sur divers aspects, de l’authentification utilisateur à la configuration des services réseau. Utiliser Auditd en conformité avec les recommandations CIS peut aider à surveiller et enregistrer les activités sensibles, contribuant ainsi à une meilleure posture de sécuriter.

Norme PCI-DSS

La norme PCI-DSS est un ensemble d’exigences de sécuriter conçu pour garantir que toutes les entreprises qui traitent, stockent ou transmettent des informations de carte de crédit maintiennent un environnement sécurisé. L’audit des systèmes joue un rôle crucial dans le respect de la norme PCI-DSS, en particulier dans le suivi de l’accès aux ressources du système et des données des détenteurs de carte.


Si vous voulez plus d’information sur l’infrastructure vous pouvez voir mon repo à ce sujet : https://github.com/ravindrajob/InfraAtHome

Hardening de la Journalisation Linux & Export Cloud Immuable (CLI & Terraform)

Pour empêcher un attaquant ayant obtenu un accès root d’effacer ses traces dans /var/log/, il est impératif d’activer le Forward Secure Sealing (FSS) de systemd-journald, de verrouiller /etc/shadow via auditd [1] et d’exporter les journaux en temps réel vers un Log Bucket Cloud en mode WORM (Locked Retention) [2] :

1. Commandes CLI Linux & gcloud : Scellement FSS & Bucket WORM

# 1. Sur l'hôte Linux : générer une clé de scellement cryptographique systemd-journald (FSS)
sudo journalctl --setup-keys --interval=15m

# 2. Surveiller toute modification d'identités (/etc/passwd, /etc/shadow, sudoers) via auditd
sudo auditctl -w /etc/shadow -p wa -k identity_tampering
sudo auditctl -w /etc/sudoers -p wa -k priv_escalation

# 3. Côté GCP : créer un Log Bucket immuable (verrouillé 365 jours contre toute suppression)
gcloud logging buckets create secops-worm-logs \
  --location=europe-west9 \
  --retention-days=365 \
  --locked
Animation exécution CLI dans le terminal

2. Terraform HCL : Sink d’Audit Cloud vers Stockage WORM Immuable

resource "google_logging_project_bucket_config" "worm_audit_bucket" {
  project        = var.project_id
  location       = "europe-west9"
  retention_days = 365
  locked         = true
  bucket_id      = "secops-worm-logs"
}

resource "google_logging_project_sink" "security_audit_sink" {
  name        = "sink-secops-worm"
  destination = "logging.googleapis.com/projects/${var.project_id}/locations/europe-west9/buckets/${google_logging_project_bucket_config.worm_audit_bucket.bucket_id}"
  filter      = "logName:"cloudaudit.googleapis.com" OR jsonPayload.SYSLOG_IDENTIFIER="sshd" OR jsonPayload.SYSLOG_IDENTIFIER="sudo""
  unique_writer_identity = true
}

Sources