Un proxy Web inversé peut accélérer le chargement d'un site Web, mais il augmente également la surface d'attaque de la page. Cela peut mettre les propriétaires de sites et les visiteurs en danger.
Lorsque vous visitez une page Web, plusieurs opérations se produisent en arrière-plan. Même si vous ne cliquez sur rien, le site traite des informations telles que la page sur laquelle vous vous trouvez, votre adresse IP et l'appareil que vous utilisez. Certaines règles s'appliquent aux transactions qui se produisent dans ce middleware. Les attaquants conscients de cela et de la manière dont ces restrictions sont mises en œuvre peuvent l'exploiter pour voler vos informations. Pour mieux comprendre la problématique, considérons la notion de reverse web proxy.
Qu'est-ce qu'un proxy Web inversé?
Le proxy Web inversé traite et optimise vos transactions en accédant aux sites Internet avant de les transmettre au serveur Web principal. Les données traitées et optimisées sont envoyées aux serveurs Web concernés par le proxy Web inverse. Ce processus fournit à la fois une mesure de sécurité et améliore les performances.
Il est possible de bénéficier de nombreux systèmes différents pour utiliser la fonctionnalité de proxy Web inverse. Tu peux utiliser un pare-feu d'application Web (WAF), équilibreur de charge, appareils que vous pouvez positionner contre les attaques DDoS, ou plates-formes et systèmes tels que Cloudflare pour le proxy Web inverse.
Ce que ces systèmes ont en commun, c'est qu'ils fournissent une formation entre le serveur et le client. Lorsque vous demandez un site Web, cette demande ne va pas directement au serveur. Le proxy Web inverse entre le serveur et le site Web examine et optimise ces demandes. Par exemple, un système qui soupçonne qu'une requête HTTP non-stop peut être une attaque DDoS filtre ces requêtes et, si nécessaire, met sur liste noire l'appareil d'où proviennent les requêtes, l'empêchant d'atteindre le placer. En bref, le but est de fournir un contrôle entre la requête et le serveur.
Impact du proxy Web inversé sur les performances
Examinons comment un proxy Web inversé améliore les performances à travers un exemple, tel que le site Web d'un café. Imaginez un texte décrivant le café sur ce site Web et des images de café sur les menus. Étant donné que ces images et ces textes ne changeront pas en permanence, il est possible d'apporter quelques améliorations aux performances. Si vous stockez les adresses URL de ces images statiques sur le proxy Web inverse, vous mettez en cache sur le proxy Web inverse.
En d'autres termes, la première fois que vous entrez sur le site, le proxy Web inverse enregistrera toutes les images dans votre cache et fournira un service plus rapide lors de votre deuxième connexion. En conséquence, la pression sur le site Web sera considérablement réduite, de sorte que le site Web se chargera plus rapidement.
Avantages du proxy Web inversé
Pour résumer pourquoi vous voudrez peut-être envisager un proxy Web inversé, sachez que l'on peut :
- Augmentez la vitesse d'accès à Internet et augmentez la vitesse de transfert de données, ce qui accélère le chargement des pages Web.
- Cachez vos données personnelles. Un proxy Web inversé crypte toutes les données que vous envoyez et recevez de votre ordinateur et masque vos habitudes d'utilisation personnelles.
- Utilisez diverses technologies de pare-feu pour protéger vos données personnelles.
- Résolvez les interdictions que vous rencontrez lors de l'accès aux sites Web et empêchez le blocage.
Comment se produit la vulnérabilité de tromperie du cache proxy?
Toutes les données enregistrées dans votre cache par le proxy Web inverse sont stockées avec leurs extensions de fichier. Par exemple, les images ont des extensions telles que ".jpg" et ".png", tandis que les textes sont ".txt". Cela signifie qu'un attaquant qui détourne ce cache peut comprendre ce que vous avez vu ou fait sur le site en affichant les fichiers auxquels vous avez accédé.
Prenons l'exemple d'un site dont l'adresse example.com/login.php. Supposons que vous puissiez accéder à cette adresse en entrant votre nom d'utilisateur et votre mot de passe, et que la page à laquelle vous accédez appartient à un fichier PHP en cours d'exécution dynamique. Si vous vous en souvenez, les fichiers mis en cache n'étaient que des fichiers statiques. Ainsi, le proxy Web inverse ne mettra pas en cache un tel fichier PHP.
Mais parfois les choses ne sont pas si simples. Dans certains cas, lorsque vous demandez une adresse qui n'existe pas, vous obtenez un erreur 404 page introuvable. Mais en plus de cette erreur, le serveur Web vous donne d'autres informations critiques. Lorsque vous demandez une URL non valide qui n'existe pas, la partie valide de l'URL que vous avez demandée peut se trouver sur le serveur. Dans ce cas, même si vous demandez une adresse invalide, vous pouvez recevoir la partie valide de cette adresse invalide en réponse. Dans de tels cas, les attaquants soupçonnent qu'il peut y avoir une faille de sécurité ici et se préparent à attaquer.
Considérons maintenant une autre adresse URL, telle que exemple.com/login.php/muo.jpg. Supposons que le serveur vous montre toujours example.com/login.php car il n'y a pas un tel fichier sur le serveur.
Si vous avez remarqué, l'adresse que vous avez demandée appartenait à un fichier JPG, ce qui signifie qu'il s'agit d'un fichier complètement statique. N'oubliez pas que les développeurs Web peuvent stocker des fichiers statiques sur un proxy Web inverse, car le contenu avec des extensions de fichiers statiques comme celui-ci n'a pas besoin d'être rechargé dynamiquement sur le site Web. L'objectif principal des développeurs Web est d'obtenir un site Web plus efficace et plus performant. Dans ce cas, même s'il n'y a pas une telle adresse, le proxy vous mettra en cache. Désormais, quiconque saisit cette adresse verra la page à laquelle vous vous êtes connecté avec votre nom d'utilisateur et votre mot de passe.
Un attaquant qui souhaite exploiter une telle vulnérabilité tentera de vous faire cliquer sur ce lien en raccourcissant ce lien ou en vous trompant d'une autre manière. Lorsque vous cliquez sur ce faux lien, vous vous rendez compte qu'il ne se passe rien, mais voilà que vous avez créé un cache sur le reverse web proxy. La seule chose que l'attaquant fera est d'exploiter vos informations.
Moyens de précaution
La meilleure façon d'éviter une vulnérabilité de proxy Web inverse est de prédéterminer comment le serveur traitera les fichiers inexistants. Un fichier qui n'existe pas ne doit pas créer de cache. De plus, si vous êtes un développeur Web, vous savez maintenant que vous pouvez stocker du contenu et des documents sur un proxy Web inversé. Il est très important que vous vérifiiez périodiquement les données que vous stockez dans le proxy Web inverse et que vous effectuiez ces vérifications avec soin. La maîtrise de la logique de fonctionnement d'un proxy Web créera une sensibilisation à la sécurité très importante pour vous et les utilisateurs qui utiliseront votre site Web.
N'oubliez pas que les attaquants auront toujours une longueur d'avance sur vous. C'est pourquoi il est avantageux pour vous de prendre toutes les précautions et de mieux comprendre les technologies que vous utilisez. Pour cela, en quelques étapes, vous pouvez créer votre proxy web et tester vous-même.