Skip to main content

Documentation Index

Fetch the complete documentation index at: https://snakysec.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Inventaire des actifs et analyse d’impact métier (BIA)

1. Objet

Recensement exhaustif des actifs informationnels critiques de la plateforme MSSP SnakySec, classés selon leur criticité métier et associés à un objectif RPO/RTO. Cet inventaire alimente :
  • La stratégie de sauvegarde (03-backup-strategy.md)
  • La matrice RPO/RTO formalisée (04-rto-rpo-matrix.md)
  • Les runbooks de restauration (docs/dr/runbooks/*)
  • L’analyse de risques EBIOS RM (à formaliser Phase 1)

2. Méthodologie BIA

2.1 Critères de criticité

Chaque actif est évalué sur 4 axes (alignement DICT ANSSI) :
AxeQuestion
DisponibilitéCombien de temps peut-on tolérer son indisponibilité avant impact contractuel ?
IntégritéQuelle est la conséquence d’une altération non détectée ?
ConfidentialitéQuelle est la conséquence d’une divulgation non autorisée ?
TraçabilitéA-t-on besoin de prouver l’historique des accès/modifications ?

2.2 Échelle de criticité

NiveauDescriptionExemple
CritiqueIndisponibilité = arrêt complet du service, impact contractuel immédiatPostgreSQL, Vault
ImportanteIndisponibilité = dégradation fonctionnelle, impact contractuel modéréArtifacts audit, Redis
ModéréeIndisponibilité = inconfort utilisateur, pas d’impact contractuelTLS certs (re-issuables auto)
FaibleIndisponibilité = aucun impact directLogs Traefik (régénérables)

3. Inventaire infrastructure

3.1 Hébergement et réseau

AssetLocalisationCriticitéRPORTOSource recovery
VPS OVH (production)OVH Gravelines (France)CritiqueN/A (stateless)1hImage OVH + bootstrap script
Domaine snakysec.comRegistrar (Gandi/OVH)CritiqueN/A24hRécupération via support registrar
Zone DNS snakysec.comOVH DNSCritique30j1hBackup mensuel YAML zone (cf. runbooks/09-restore-dns.md)
Certificats TLS Let’s EncryptVolume Docker traefik-acmeModéréeN/A15minRe-issue automatique via traefik ACME

3.2 Stack applicative Docker

AssetContainerCriticitéRPORTOSource recovery
Reverse proxytraefikImportanteN/A15minRecreate from compose, ACME re-issue
App Next.jsnext-appImportanteN/A (stateless)30minPull image registry + restart
PostgreSQL 16postgresCritique5min2hpgbackrest WAL streaming + base full
RedisredisFaibleN/A (jobs idempotents)30minRecreate empty, re-trigger pending jobs
HashiCorp VaultvaultCritique24h1hSnapshot raft chiffré + unseal Shamir 3/5
Worker BullMQworkerImportanteN/A30minPull image + restart, jobs re-pickup auto

3.3 Volumes Docker persistants

VolumeContenuCriticitéRPORTOSource recovery
postgres-dataBase PostgreSQL prodCritique5min2hpgbackrest restore PITR
vault-dataStorage raft VaultCritique24h1hrestic restore + unseal
traefik-acmeCerts Let’s EncryptModéréeN/A15minRe-issue ACME
artifactsAudits JSON, rapports GRC, exports CSVImportante24h4hrestic restore depuis OVH/Scaleway
redis-dataAOF Redis (jobs en cours)FaibleN/AN/APas de restore (jobs idempotents)

4. Inventaire applicatif (données)

4.1 Modèles Prisma critiques

TableVolumétrie estiméeCriticitéJustification
User<100 (V1)CritiqueIdentités, rôles, permissions
Role + UserPermissionGrant<500CritiqueRBAC granulaire, audit trail
Client (tenants)<50 (V1)CritiqueConfigurations multi-tenants
ClientSecret<200 (chiffré AES-256-GCM)CritiqueSecrets Entra par client
AuditRun~12/mois × 50 clients = 600/anImportanteHistorique audits CIS/SCuBA
ControlResult~600 audits × 220 contrôles = 132k/anImportanteRésultats détaillés audits
GapFinding~600 audits × ~30 findings = 18k/anImportanteFindings remédiation
Baseline + BaselineControl<200CritiqueRéférentiels client (justifications, exceptions)
PlatformAuditLog~10k entrées/moisCritiqueAudit trail scellé Ed25519, intégrité non négociable
LogAnchor1/jour = ~365/anCritiqueAnchors signés Ed25519 quotidiens
PlatformState<20CritiqueÉtat lockdown chaîne hash, anchors latest

4.2 Données stockées hors base

AssetLocalisationCriticitéRPORTO
Audits JSON bruts (schema 3.0)artifacts/audit/<client>/<run-id>/Importante24h4h
Rapports GRC générés (8 docs × clients)artifacts/grc/<client>/<doc-type>/Importante24h4h
Exports CSV access-reviewartifacts/exports/FaibleN/ARégénérables
PDF certifiés (Phase 2)artifacts/certified/Critique24h4h

5. Inventaire secrets

5.1 Vault — paths de production

Path VaultContenuCriticitéRotation
mssp/data/platform/auth_secretNextAuth JWT signing keyCritiqueAnnuel + immédiat sur incident
mssp/data/platform/encryption_keyAES-256-GCM master keyCritiqueAnnuel + procédure ré-encryption
mssp/data/platform/entra_cert_pemCert X.509 plateformeCritiqueAnnuel
mssp/data/platform/entra_cert_private_keyClé privée X.509CritiqueAnnuel
mssp/data/platform/log_anchor_private_keyEd25519 signing key audit logCritiqueAnnuel + invalide chain anchors antérieurs si rotation
mssp/data/platform/log_anchor_public_keyEd25519 verify keyImportanteAnnuel (synchronisé avec privée)
mssp/data/platform/postgres_passwordMot de passe DBCritiqueAnnuel
mssp/data/platform/redis_passwordMot de passe RedisImportanteAnnuel
mssp/data/platform/gitlab_tokenToken API GitLabImportante90j
mssp/data/platform/sentry_dsnDSN Sentry SaaSModéréeSur demande
mssp/data/platform/sentry_auth_tokenToken MCP SentryImportanteAnnuel
mssp/data/clients/<slug>/entra_*Credentials SSO clientsCritiqueSur demande client ou rotation cert annuel
mssp/data/dr/pgbackrest_cipher_passClé chiffrement repo pgbackrestCritiqueAnnuel
mssp/data/dr/restic_passwordPassphrase restic snapshotsCritiqueAnnuel
mssp/data/dr/ovh_s3_access_key + _secret_keyAccès bucket OVHCritiqueAnnuel
mssp/data/dr/scaleway_s3_access_key + _secret_keyAccès bucket ScalewayCritiqueAnnuel

5.2 Shares Shamir Vault

Cf. 01-keyholders.md pour la répartition complète.

6. Inventaire comptes externes

ServiceUsageCriticitéRécupération
OVH CloudVPS prod + DNS + Object Storage primaryCritiqueCompte personnel Nicolas, 2FA YubiKey, codes de récup en KeePass
ScalewayObject Storage secondary backupCritiqueCompte personnel Nicolas, 2FA YubiKey
GitLab.comRepos source code + CI/CDCritiqueCompte personnel Nicolas, 2FA YubiKey, SSH keys backup
Microsoft Entra (snakysec.onmicrosoft.com)Tenant MSSP, app registrationsCritiqueComptes Global Admin × 2 (Nicolas + break-glass) avec MFA strict
Sentry SaaS EUMonitoring runtimeImportanteCompte personnel Nicolas, 2FA
Functional Software / NameCheap (registrar)Domaine snakysec.comCritiqueCompte personnel Nicolas, 2FA, contact admin technique
Stoik / Acheel (assurance cyber)Couverture incidentsImportanteContrat papier + email
Notaire (trustee Shamir)Détention shares S4-S5CritiqueCoordonnées dans 01-keyholders.md

6.1 Compte break-glass Entra

Un compte Global Admin break-glass (non utilisé en quotidien, MFA exclu, mot de passe long stocké en KeePass + papier coffre domicile) garantit l’accès au tenant Entra SnakySec en cas de perte du compte principal.
AssetDétail
UPNbreakglass@snakysec.onmicrosoft.com
Mot de passe32 chars random, dans KeePass + papier coffre
MFAExclu intentionnellement (sinon bricked sur perte device)
SurveillanceConditional Access alerte sur connexion (Sentry alert)
TestAnnuel, login + déconnexion immédiate, journalisé

7. Inventaire dépendances tierces

DépendanceTypeCriticité runtimeMitigation
Microsoft Graph APIAPI externeCritique (audits)SLA Microsoft 99.9%, monitoring uptime
Microsoft Entra (auth)API externeCritique (login)SLA Microsoft 99.9%, fallback session courte
Functional Software SentrySaaS observabilitéImportanteDégradation = perte logs runtime, pas blocage
GitLab.com CISaaS CI/CDImportanteDégradation = pas de deploy, mais prod tourne
Let’s EncryptACME cert providerModéréeFailover manuel ZeroSSL si LE down
OVH/Scaleway S3Object Storage backupsImportanteMulti-fournisseur découplé, single failure tolérée

8. Volumétrie totale estimée (V1)

CatégorieVolumétrieCroissance/an
PostgreSQL data~5 GB~2 GB/an (audits + logs)
Vault data (raft)<100 MBStable
Artifacts (audits + GRC)~50 GB~30 GB/an (50 clients × 12 audits + GRC packs)
WAL Postgres / 90j~20 GBStable (rétention fixe)
Total backups chiffrés~80 GB~50 GB/an
Coût stockage estimé :
  • OVH Object Storage Standard : 80 GB × 0.014 €/GB/mois = ~1.10 €/mois
  • Scaleway Object Storage Standard : 80 GB × 0.014 €/GB/mois = ~1.10 €/mois
  • Total backups : ~2.20 €/mois (négligeable)

9. Validation

VersionDateAuteurApprobateur
1.02026-04-26Nicolas SchiffgensNicolas Schiffgens