
Configuration incorrecte de la sécurité
Une configuration de sécurité incorrecte est un terme général qui englobe les vulnérabilités courantes liées aux paramètres de configuration d'une application, plutôt qu'à un code incorrect. Il s'agit d'un sujet très vaste qui dépend en grande partie de facteurs tels que la technologie dont vous disposez.
Souvent, résoudre ces problèmes semble simple, comme modifier un fichier de configuration ou même une seule ligne de code, mais l'impact et les conséquences de ces vulnérabilités peuvent être graves.
Veuillez examiner certaines des catégories suivantes.
Catégories
Serveur web
Une erreur courante de configuration sur les serveurs web est l'activation de la liste des répertoires.
Bien que l'activation de la liste des répertoires ait généralement peu ou pas d'impact direct, elle permet à un attaquant de découvrir d'autres erreurs qui pourraient également exister. Il peut s'agir de pages qui ont été intentionnellement masquées, de fichiers de sauvegarde et d'autres éléments similaires.
Il convient de souligner que toutes ces pratiques sont en elles-mêmes intrinsèquement mauvaises et sont considérées comme de la sécurité par obscurité.
La liste des répertoires est facile à désactiver et renforce la défense en rendant plus coûteux pour un attaquant le recensement des hôtes afin d'identifier les vecteurs d'attaque potentiels à son encontre.
Marcos
Mode de dépannage
La plupart des frameworks offrent un mode « débogage » aux développeurs. Ce mode, entre autres, affiche généralement les détails de la trace de pile lorsqu'une exception non gérée se produit. Certains frameworks affichent même des extraits de code avec la trace de pile. Cela peut être très utile pendant le développement, mais peut également fournir aux attaquants de nombreuses informations auxquelles ils ne devraient pas avoir accès.
Surveillance des points finaux
De nombreux cadres disposent également d'un ensemble de points finaux qui peuvent être activés pour surveiller l'application, que ce soit dans un environnement de production ou de test/développement.
Celles-ci peuvent inclure :
- Métriques (Prometheus)
- Registros
- Informations sur l'environnement
- Cartographie des itinéraires/URL
Bien que ces informations ne soient généralement pas sensibles, elles peuvent néanmoins fournir des détails qui aideraient des attaquants potentiels à mieux comprendre votre application. Bien entendu, votre environnement ou vos journaux peuvent contenir des informations confidentielles, il est donc important de prendre en compte ce qui pourrait être vu et utilisé s'ils tombaient entre de mauvaises mains.
La distinction entre les environnements de production et les environnements hors production
Les personnes commettent souvent l'erreur de ne pas suivre les directives, telles que la désactivation de la liste des répertoires, du mode débogage et des points finaux de débogage dans les environnements de développement et de test, et ne le font que dans les environnements de production. La raison en est que ces systèmes qui ne sont pas destinés à la production sont conçus pour effectuer des tests et qu'il est important d'obtenir les informations fournies par ces fonctions.
Cependant, cette approche est erronée. Les attaquants peuvent toujours rechercher et divulguer des informations provenant de systèmes qui ne sont pas en production, puis utiliser les informations recueillies dans le système de test pour attaquer votre système de production. Il n'est pas rare non plus de trouver des entreprises qui utilisent des copies de leur base de données de production dans les systèmes de test, ce qui augmente encore davantage le risque.
XXE
Les entités externes XML (XXE) constituent un type d'erreur de configuration de sécurité particulièrement grave.
Ceci se produit lorsque vous analysez des sources non fiables avec la résolution des entités activée, comme cela a été le cas par le passé. XXE peut entraîner la lecture arbitraire de fichiers et la falsification de requêtes côté serveur, entre autres.
Veuillez consulter l'exemple suivant pour obtenir plus de détails et un exemple simple de ce cas particulier.