Held-Hintergrund ohne Trennlinie
Richtlinien

Mauvaise configuration de la sécurité

La mauvaise configuration de sécurité est en quelque sorte un terme générique qui couvre les vulnérabilités courantes qui apparaissent en raison des paramètres de configuration d'une application, plutôt que d'un code incorrect. Il s'agit d'un sujet très varié qui dépend fortement de facteurs tels que votre infrastructure technologique.

La résolution de ces problèmes semble souvent simple, comme la modification d'un fichier de configuration ou même d'une seule ligne de code, mais l'impact et les conséquences de ces vulnérabilités peuvent être graves.

Jetons un coup d'œil à certaines des catégories ci-dessous.

Catégories

serveur Web

L'activation de la liste des répertoires est une erreur de configuration classique sur les serveurs Web.

Bien que l'activation de la liste des annuaires ait souvent peu ou pas d'impact direct, cela permet à un attaquant de découvrir facilement d'autres erreurs qui pourraient également exister. Il peut s'agir de pages intentionnellement masquées, de fichiers de sauvegarde et d'autres éléments similaires.

Il convient de noter que toutes ces choses en elles-mêmes constituent également de mauvaises pratiques par nature et sont considérées comme une sécurité par l'obscurité.

La désactivation de la liste des répertoires est très simple et renforce la défense en rendant plus onéreuse l'énumération de l'hôte par un attaquant afin de trouver des vecteurs d'attaque potentiels contre celui-ci.

Cadres

Mode de débogage

La plupart des frameworks proposent un mode « debug » pour les développeurs. Ce mode, entre autres choses, affiche généralement les détails de stacktrace lorsqu'une exception non gérée se produit. Certains frameworks vous montrent même des extraits de code à côté du stacktrace. Cela peut être extrêmement utile au cours de votre développement, mais peut également fournir aux attaquants de nombreuses informations auxquelles ils ne devraient vraiment pas avoir accès.

Points de terminaison de surveillance

De nombreux frameworks disposent également d'un ensemble de points de terminaison qui peuvent être activés, ce qui permet de surveiller l'application, que ce soit dans un environnement de production ou de test/développement.

Il peut s'agir notamment des éléments suivants :

  • Métriques (Prometheus)
  • Journaux
  • Informations sur l'environnement
  • Mappages chemin/URL

Bien que ces informations ne soient pas d'habitude sensible, il peut tout de même fournir des informations qui aident les attaquants potentiels à mieux comprendre votre application. Bien entendu, votre environnement ou vos journaux peuvent en fait contiennent des informations sensibles, il est donc important de faire attention à ce qui pourrait être visible et utilisé si des regards indiscrets les découvraient.

La distinction entre les environnements de production et les environnements hors production

Les utilisateurs commettent souvent l'erreur de ne pas suivre les directives telles que la désactivation de la liste des répertoires, du mode de débogage et des points de terminaison de débogage dans les environnements de développement/test, et de le faire uniquement dans les environnements de production. La raison en est que ces systèmes hors production sont destinés à des tests et qu'il est important d'obtenir les informations fournies par ces fonctionnalités.

Cette mentalité est toutefois erronée. Les attaquants sont toujours en mesure de sonder et de divulguer des informations provenant de systèmes non destinés à la production, puis d'utiliser les informations recueillies par 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 leurs systèmes de test, ce qui augmente encore le risque.

XXE

Les entités externes XML (XXE) constituent un type de mauvaise configuration de sécurité très grave.

Cela se produit lorsque vous analysez à partir de sources non fiables avec la résolution d'entités activée, ce qui a toujours été le cas. XXE peut entraîner une lecture arbitraire de fichiers et une falsification de requêtes côté serveur, entre autres.

Consultez l'exemple ci-dessous pour plus de détails et un exemple simple de celui-ci en particulier.

EXEMPLE XXE