Aller au contenu
Culture DevOps high
🚧 Section en cours de réécriture — Le contenu est en cours de restructuration et peut évoluer.

Sécurité : une question de compromis

11 min de lecture

La sécurité parfaite n’existe pas. Chaque mesure de protection a un coût : financier, en complexité, en usabilité, en performance. Ignorer cette réalité mène soit à une sécurité excessive qui paralyse l’activité, soit à une sécurité insuffisante qui expose aux incidents. Ce guide explore les compromis inévitables et comment les aborder de façon pragmatique.

Un système parfaitement sécurisé serait inutilisable. Pour être totalement protégé, un serveur devrait être éteint, déconnecté du réseau, enfermé dans un bunker, sans aucun utilisateur. Dès qu’on l’allume et qu’on y connecte des utilisateurs, on introduit des risques.

Chaque fonctionnalité utile crée une surface d’attaque. Un port réseau ouvert permet la communication — et les intrusions. Une interface utilisateur permet l’interaction — et les erreurs humaines. Une API permet l’intégration — et les abus. Un compte administrateur permet la gestion — et la compromission.

La sécurité consiste à trouver l’équilibre entre la protection et l’utilité.

Plus un système est sécurisé, plus il est contraignant à utiliser. C’est le compromis le plus visible au quotidien — et celui qui génère le plus de friction avec les utilisateurs.

Un mot de passe de 20 caractères est difficile à mémoriser et favorise le post-it sur l’écran. Le MFA obligatoire ajoute une étape supplémentaire à chaque connexion. Le renouvellement de mot de passe tous les 30 jours génère des patterns prévisibles (Password1, Password2…). La validation manuelle de chaque accès crée des délais qui bloquent le travail.

L’excès de sécurité provoque des contournements. Quand les mesures sont trop contraignantes, les utilisateurs trouvent des moyens de les éviter — ce qui réduit la sécurité réelle.

La sécurité doit être proportionnelle à la valeur de ce qu’on protège et aux menaces réelles. C’est un principe fondamental pour éviter le sur-investissement comme le sous-investissement.

Tous les actifs n’ont pas la même valeur. Les actifs critiques (données clients, systèmes de paiement, secrets) nécessitent le maximum justifiable. Les actifs importants (code source, configurations, logs métier) méritent un niveau élevé. Les actifs standards (documentation interne, outils de développement) requièrent une protection modérée. Les actifs à faible valeur (données publiques, environnements de test isolés) ne nécessitent qu’un niveau minimal.

Toutes les organisations ne font pas face aux mêmes menaces. Une PME locale n’est pas ciblée par des États-nations. Un site vitrine n’a pas les mêmes risques qu’une plateforme de trading. Un système isolé du réseau n’a pas les mêmes expositions qu’une API publique.

Adapter la protection aux menaces réelles évite le sur-investissement et permet de concentrer les ressources là où elles comptent.

Une entreprise subit un incident de sécurité mineur. En réaction, la direction impose des mesures drastiques : MFA obligatoire pour toutes les applications (même les outils internes non sensibles), validation sécurité requise pour chaque déploiement (même en environnement de développement), accès Internet restreint à une liste blanche, rotation des mots de passe tous les 15 jours.

Résultats après 6 mois :

La productivité chute : les développeurs passent 20% de leur temps à gérer les accès et validations. Le Shadow IT explose : des équipes utilisent leurs téléphones personnels pour contourner les restrictions. Le turnover augmente : plusieurs ingénieurs démissionnent, citant l’environnement de travail. Paradoxalement, la sécurité réelle reste inchangée : les vrais risques (dépendances non patchées, secrets en clair dans le code) n’ont pas été traités.

Leçon : une réaction disproportionnée peut aggraver la situation en créant des contournements et en détournant l’attention des vrais problèmes.

L’arbitrage sécurité n’est pas une décision technique isolée — c’est un processus structuré qui implique métier, technique et management.

  1. Identifier ce qui a de la valeur

    Avant de sécuriser, savoir quoi protéger. Quelles données seraient catastrophiques si elles fuitaient ? Quels systèmes seraient critiques s’ils tombaient ? Quels accès permettraient de tout compromettre ?

  2. Évaluer les menaces crédibles

    Pas de paranoïa, mais du réalisme. Qui pourrait vouloir attaquer ? Avec quels moyens ? Quels vecteurs d’attaque sont réalistes dans votre contexte ? Quels incidents similaires ont touché des organisations comparables ?

  3. Définir le niveau acceptable

    Accepter qu’un risque résiduel existera toujours. Quel niveau de risque l’organisation peut-elle absorber ? Quels incidents seraient tolérables ? Intolérables ? Où placer le curseur entre protection et contrainte ?

  4. Documenter les choix

    Chaque compromis doit être explicite et tracé : pourquoi ce niveau de protection a été choisi, quels risques sont acceptés et par qui, quand la décision sera réévaluée.

Zero Trust : dépasser le compromis sécurité/usabilité

Section intitulée « Zero Trust : dépasser le compromis sécurité/usabilité »

L’approche Zero Trust propose de résoudre le trade-off plutôt que de le subir. Au lieu de choisir entre sécurité forte (mais pénible) et usabilité (mais risquée), Zero Trust applique une sécurité contextuelle et adaptative.

Contrairement au modèle périmétrique (“une fois dans le réseau, on fait confiance”), Zero Trust vérifie chaque requête indépendamment. Qui fait la demande ? (identité) Depuis quel appareil ? (posture du device) Depuis où ? (localisation, réseau) Pour accéder à quoi ? (ressource demandée) Est-ce un comportement normal ? (analyse comportementale)

L’approche traditionnelle impose un MFA à chaque connexion. Zero Trust applique un MFA adaptatif (uniquement si le risque est élevé). L’approche traditionnelle impose un VPN obligatoire pour tout. Zero Trust propose un accès direct sécurisé (ZTNA) par application. L’approche traditionnelle impose une rotation de mot de passe tous les 90 jours. Zero Trust déclenche la rotation uniquement sur compromission détectée.

Les règles deviennent différenciées par sensibilité plutôt qu’uniformes. L’autorisation devient dynamique selon le contexte plutôt que bloquée par défaut.

Contexte : Device managé, à jour, avec EDR actif. Connexion depuis le réseau habituel (maison/bureau). Comportement cohérent avec l’historique.

Décision : Accès direct, sans friction.

Zero Trust permet de sortir du dilemme shift-left vs shift-right. En shift-left, la vérification continue de l’identité et des permissions commence dès le développement. Au runtime, la vérification s’effectue à chaque requête, pas seulement à la connexion. En shift-right, la détection comportementale et la réponse automatisée complètent la chaîne.

Les enterprise browsers (Island, Talon, etc.) illustrent comment rendre la sécurité transparente. Ils intègrent des contrôles DLP (copier/coller, téléchargement), isolent les sessions web à risque, ne nécessitent pas d’agent supplémentaire à installer, et offrent une expérience utilisateur identique à un navigateur classique.

Le compromis résolu : les utilisateurs ne changent pas leurs habitudes, mais les contrôles de sécurité sont appliqués automatiquement.

Pas de sécurité parfaite

Tout système utile présente une surface d’attaque. L’objectif est de la réduire à un niveau acceptable, pas de l’éliminer.

Chaque mesure a un coût

En usabilité, performance, agilité ou budget. Ignorer ces coûts mène à l’échec.

L'excès est contre-productif

Des mesures trop contraignantes provoquent des contournements qui réduisent la sécurité réelle.

Proportionnalité

Adapter le niveau de sécurité à la valeur des actifs et aux menaces réelles.

Compromis explicites

Documenter les arbitrages permet de les assumer et de les réévaluer.

Zero Trust résout le trade-off

Sécurité adaptative au contexte plutôt que contrôles statiques.