Une fois que vous avez décidé de faire un pentest (test d’intrusion), vous pouvez vous demander s’il doit cibler votre environnement de production.
Selon les risques, il peut être justifié de conduire l’audit de sécurité sur l’environnement de production, ou sur un environnement de test. Vous trouverez ci-dessous un résumé des avantages et des inconvénients de chacune de ces possibilités.
Réaliser un pentest sur un environnement de production : avantages et inconvénients
La meilleure raison de réaliser un pentest sur un environnement de production est d’obtenir une évaluation de la sécurité de la cible réelle.
Cela permet aux pentesters de tester les vulnérabilités de la même cible qui est disponible pour les utilisateurs et pour les attaquants potentiels. Ils peuvent ainsi examiner les fonctionnalités, la configuration complète du service, les interactions entre les fonctionnalités, l’intégration avec des services tiers, etc. ce qui n’est parfois pas possible lorsqu’un pentest cible un environnement de staging ou de test.
Un test d’intrusion sur un environnement de production permet donc de tester l’ensemble de la solution et d’en avoir l’état des lieux réel pendant son fonctionnement. Il peut également fournir des indications sur les assets les plus intéressants du point de vue d’un attaquant, et mesurer à quel moment les outils de sécurité en place détectent les attaques.
Mais la question est la suivante : un pentest sur un environnement de production interférera-t-il avec l’activité quotidienne du système ? Quels sont les risques réels ? Bien qu’un test d’intrusion réalisé par un professionnel ne détruira pas vos systèmes, il peut avoir un impact de différentes façons sur la cible. Certains tests peuvent par exemple ajouter des données ‘bidon’, remplir des tickets, créer des pop-ups ou provoquer un ralentissement des processus.
La question centrale est alors : quels sont les risques pour votre entreprise ? Et pouvez-vous accepter ces risques ? Si les risques semblent trop élevés, l’alternative est de réaliser des tests sur un autre environnement. En général, il s’agit d’un environnement de staging, de développement ou de test.
Réaliser un pentest sur un environnement de test : avantages et inconvénients
Si vous optez pour un environnement de test, il est fortement recommandé de définir une cible identique à celle de votre environnement de production.
Par exemple, si le pentest cible une application web, la couche applicative et la configuration du serveur doivent être identiques. Ceci est important pour assurer que le pentest apporte une évaluation utile du niveau de sécurité.
Le principal avantage d’un test d’intrusion sur un environnement autre que la production est de ne pas impacter les utilisateurs, ni d’interférer avec l’activité. Pour cette raison, il peut y avoir moins de restrictions pour le pentest : certaines vulnérabilités pourront éventuellement être exploitées davantage, car il n’y aura pas de répercussions sur les données de l’entreprise par exemple.
Le pentest sur un environnement autre que la production peut être une bonne option lorsque l’intégrité des données ou la continuité du service est cruciale pour l’entreprise. Dans certains cas, il est vraiment judicieux de faire le pentest sur :
- un environnement de développement : si cela permet aux pentesters de tester les derniers développements qui n’ont pas encore été publiés.
- un environnement de test : si la cible est un logiciel avec une instance de la solution par client. Il est alors intéressant de créer une nouvelle instance dédiée aux audits de sécurité avec un ensemble complet de données.
- un environnement de démonstration : s’il est prêt et représentatif de la cible.
Parfois, il est possible d’opter pour une approche mixte :
- Le premier test d’intrusion cible un environnement autre que de production, car les systèmes peuvent être très vulnérables au départ. Le deuxième test d’intrusion vise un environnement de production, car le niveau de sécurité des systèmes a été renforcé.
- Le pentest vise un environnement de production, à l’exception des tests de déni de service qui peuvent être réalisés sur un environnement de pré-production s’ils sont considérés comme particulièrement risqués. Mais cela implique que la configuration des serveurs soit identique !
En conclusion, choisir entre un environnement de production ou autre que la production est un équilibre à trouver entre tirer le meilleur parti du pentest et réduire les risques.
Le mieux est de discuter en détail avec votre prestataire de pentest pour déterminer les impacts et risques que vous pouvez gérer et ceux que vous refusez. Les conditions et restrictions spécifiques doivent être définies au préalable, afin que vous puissiez obtenir le plus grand bénéfice de votre pentest.
Gardez à l’esprit que votre prestataire de pentest doit toujours surveiller ses tests. Si un test a un effet indésirable sur la cible (en particulier un environnement de production), il arrêtera les tests (et vous contactera s’il y a des actions que vous pouvez mettre en place pour ramener la production à la normale plus rapidement).