Aller au contenu

Audit & Conformité

Objectif & portée

  • Définir les exigences d'audit et de journalisation de bout en bout.
  • Standardiser les schémas d'événements, la collecte, l'agrégation et la conservation.
  • Garantir l'intégrité, la traçabilité et la non-répudiation des actions sensibles.
  • Aligner avec CNDP/RGPD (Maroc/UE) et les runbooks Ops.

Portée technique

  • API v1 (gateway/orchestrateur)
  • Webhooks (Facebook/WhatsApp)
  • RAG/KB, NLU/LLM
  • Jobs batch & MLOps
  • Infra (K8s/Docker), DB, Object Storage
  • Accès admin & consoles

Audience

  • Platform/SRE
  • Security (Blue/Red)
  • Data/ML
  • Product Compliance
  • DPO

Principes fondamentaux

Minimisation & confidentialité

  • Pas de PII en clair dans logs/labels/métriques.
  • Pseudonymisation obligatoire (tokens réversibles DPO uniquement).
  • Masquage automatique des champs sensibles (email, téléphone).

Standard temps

  • Stockage en UTC Z ; timestamp_local (UTC+1) optionnel pour lecture humaine.
  • Les corrélations multi-systèmes s'appuient uniquement sur UTC.

Horodatage & corrélation

  • Horodatage standard : ISO 8601 UTC (Z) pour tous les événements (journalisation, audit, traces).
  • L'affichage local (UTC+1 Maroc) est option UI ; la corrélation et les vérifications d'intégrité s'appuient uniquement sur l'UTC.
  • Corrélation obligatoire : trace_id, span_id, correlation_id, X-Request-Id. Synchronisation NTP ±100 ms.

Séparation des flux

  • Applicatif : debug, performance, erreurs métier.
  • Sécurité : tentatives d'intrusion, anomalies, alertes.
  • Audit : actions sensibles, conformité, traçabilité légale.

Immutabilité

  • Données d'audit immuables (WORM/tamper-evident).
  • Signature cryptographique des lots d'audit.
  • Chaînage de hachage pour détection de falsification.

Architecture de collecte

Collecteurs

Composant Protocole Destination Sampling
API Gateway OTLP gRPC SIEM 10% traces
Webhooks OTLP HTTP SIEM 100% audit
K8s Pods Filebeat ELK Stack logs complets
DB Audit Direct SQL SIEM 100%
Admin Console OTel Collector SIEM 100% actions

Schéma d'événement standard

{
  "timestamp": "2025-08-14T10:30:00.123Z",
  "trace_id": "abc123...",
  "span_id": "def456...",
  "correlation_id": "req-789...",
  "tenant_id": "tenant-001",
  "event_type": "auth.login.success",
  "severity": "INFO",
  "actor": {
    "user_id": "user-456",
    "role": "admin",
    "ip_address": "192.168.1.100",
    "user_agent": "Mozilla/5.0..."
  },
  "resource": {
    "type": "user_account",
    "id": "account-789",
    "attributes": { "email_hash": "sha256:..." }
  },
  "action": {
    "operation": "login",
    "outcome": "success",
    "details": { "mfa_used": true }
  },
  "context": {
    "service": "auth-service",
    "version": "v1.2.3",
    "environment": "production"
  }
}

Sampling & priorités

  • Traces applicatives : 10% par défaut, 100% sur erreurs P0/P1.
  • Événements d'audit : 100% (aucun échantillonnage).
  • Logs de sécurité : 100% (tentatives d'intrusion, anomalies).
  • Métriques : agrégation 1min/5min/1h selon criticité.

SIEM & agrégation

Ingestion multi-tenant

  • Label tenant obligatoire sur tous les événements.
  • Isolation des données par tenant (partitions/index séparés).
  • Quotas par tenant pour éviter la saturation.

Règles de corrélation

Règle Déclencheur Action
Brute force >5 échecs login/5min Alerte P2
Privilege escalation Changement rôle admin Alerte P1
Data exfiltration Export >1000 records Alerte P1
Anomalie géo Login pays inhabituel Alerte P3
API abuse >1000 req/min/user Rate limiting

Détections MITRE ATT&CK

  • T1078 : Valid Accounts (détection comptes compromis)
  • T1190 : Exploit Public-Facing Application (WAF bypass)
  • T1083 : File and Directory Discovery (énumération)
  • T1041 : Exfiltration Over C2 Channel (transferts suspects)

Événements audités

Authentification & autorisation

  • Login/logout (succès/échec)
  • Activation/désactivation MFA
  • Refresh/révocation de tokens
  • Changements de mots de passe
  • Tentatives d'accès non autorisé

Gestion des données

  • Création/modification/suppression d'entités critiques
  • Exportation de données (>100 records)
  • Suppression de données PII (droit à l'effacement)
  • Accès aux données sensibles (logs d'audit, backups)

Configuration & administration

  • Changements de configuration système
  • Modification des permissions/rôles
  • Déploiements et mises à jour
  • Accès aux consoles d'administration
  • Actions DPO (gestion consentements, exports)

Sécurité & incidents

  • Détections d'intrusion
  • Violations de politique de sécurité
  • Échecs de validation (signatures, certificats)
  • Tentatives d'injection (SQL, XSS, etc.)

Stockage & intégrité

Tiers de stockage

Tier Durée Type Accès
Hot 30-90j SIEM indexé Temps réel
Warm 3-12 mois Compression Recherche
Cold >12 mois WORM/Object Lock Archive

Garanties d'intégrité

  • Chaînage de hachage : SHA-256 par lot/jour.
  • Signature périodique : HMAC-SHA256 avec clés KMS.
  • Preuve d'intégrité : stockée hors bande (blockchain privée).
  • Vérification : contrôle mensuel automatisé.

Chiffrement

  • Repos : AES-256-GCM, clés KMS rotées ≤90j.
  • Transit : TLS 1.2+ avec PFS.
  • Backups : chiffrés, clés séparées.

Contrôles d'accès

RBAC audit

Rôle Permissions Justification
Security Analyst Lecture logs sécurité Investigation
DPO Lecture audit PII Conformité
SRE Lecture logs applicatifs Debugging
Auditor Lecture tous logs Audit externe
Admin Gestion configuration Administration

Traçabilité des accès

  • Qui : identité authentifiée (user_id, rôle).
  • Quand : horodatage précis (UTC+1).
  • Quoi : ressource/action consultée.
  • Pourquoi : contexte métier (ticket, investigation).
  • Comment : méthode d'accès (UI, API, CLI).

Rétention & purge

Calendrier de rétention

Type de log Durée Justification Base légale
Audit logs 12 mois Minimum légal CNDP Obligation légale
Security logs 24 mois Investigation incidents Intérêt légitime
Logs applicatifs 90 jours Debug/monitoring Intérêt légitime
Métriques agrégées 24 mois Tendances/capacité Intérêt légitime
Logs d'accès 6 mois Sécurité/forensics Intérêt légitime

Processus de purge

  • Automatique : job quotidien avec vérification intégrité.
  • Notification : alerte 30j avant expiration.
  • Exception : conservation prolongée si incident en cours.
  • Vérification : audit trimestriel des suppressions.

Monitoring & alerting

Métriques clés

  • Volume : événements/seconde par type.
  • Latence : délai collecte → indexation.
  • Disponibilité : uptime SIEM/collecteurs.
  • Intégrité : échecs de vérification de hachage.
  • Conformité : % événements avec corrélation complète.

Alertes critiques

Alerte Seuil Action
Perte d'événements >1% drop rate P1 - Investigation
Délai d'ingestion >5min latence P2 - Vérification
Échec intégrité Hachage invalide P0 - Incident sécurité
Quota dépassé >90% capacité P2 - Scaling
Accès non autorisé Tentative admin P1 - Blocage

Tests & validations

Tests d'intégrité

  • Quotidien : vérification chaînes de hachage.
  • Hebdomadaire : test de restauration depuis cold storage.
  • Mensuel : audit des accès aux logs d'audit.
  • Trimestriel : test de bout en bout (injection → alerte).

Exercices de réponse

  • Simulation d'incident : test des procédures d'escalade.
  • Forensics : exercice d'investigation sur logs.
  • Compliance : audit externe des contrôles.

Conformité réglementaire

CNDP (Maroc)

  • Conservation logs d'audit ≥12 mois.
  • Traçabilité des accès aux données personnelles.
  • Notification incidents ≤72h si impact PII.

RGPD (UE)

  • Droit d'accès aux logs concernant une personne.
  • Pseudonymisation obligatoire des identifiants.
  • Transferts logs limités aux pays adéquats.

Standards techniques

  • ISO 27001 : gestion des événements de sécurité.
  • NIST CSF : détection et réponse aux incidents.
  • OWASP : logging des événements de sécurité applicative.

Références croisées

  • Runbooks : procédures d'incident et escalade
  • IAM : contrôles d'accès et authentification
  • PII & Privacy : gestion des données personnelles
  • SLO & SLA : métriques de disponibilité SIEM
  • Architecture : flux de données et sécurité