? Voici les possibilités qui s'offrent à vous :","Crunchbase","A propos de nous","Merci à tous pour votre formidable soutien !","Liens rapides","Programme d'affiliation","Prime","ProxyScrape essai premium","Vérificateur de procuration en ligne","Types de mandataires","Pays mandataires","Cas d'utilisation du proxy","Important","Politique en matière de cookies","Clause de non-responsabilité","Politique de confidentialité","Conditions d'utilisation","Médias sociaux","Facebook","LinkedIn","Twitter","Quora","Télégramme","Discord","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgique | VAT BE 0749 716 760\n"]}
Ce n'est un secret pour personne que les entreprises utilisent de plus en plus d'applications web à notre époque. Les applications web permettent de rationaliser les opérations de l'entreprise, d'améliorer l'efficacité et donc d'économiser des dépenses pour des tâches qui seraient autrement effectuées manuellement. Malgré leur popularité croissante, les applications web sont exposées aux risques et aux cyberattaques. Cet article donne un aperçu
Ce n'est un secret pour personne que les entreprises utilisent de plus en plus d'applications web à notre époque. Les applications web permettent de rationaliser les opérations de l'entreprise, d'améliorer l'efficacité et donc d'économiser des dépenses pour des tâches qui seraient autrement effectuées manuellement.
Malgré leur popularité croissante, les applications web sont exposées à des risques et à des cyberattaques. Cet article donne un aperçu des principales attaques auxquelles une application web est vulnérable. Vous découvrirez ensuite comment intégrer un proxy inverse pour minimiser les menaces.
Mais avant d'aborder les aspects liés à la sécurité, examinons l'architecture d'une application web typique.
Dans la plupart des cas, les applications web se composent de serveurs web et de pages web. Les serveurs web acceptent les demandes des clients (vos navigateurs web), qu'un serveur web traite et renvoie la réponse au client.
Alors que le côté serveur est codé à l'aide de langages de programmation dynamiques tels que PHP, Python, ASP.NET, etc., le côté client est codé à l'aide de HTML, CSS et JavaScript.
Vous pouvez vous référer à cet article pour plus d'informations sur la structure des applications web. La figure ci-dessous illustre une communication client-serveur typique.
Dans le diagramme ci-dessus, toutes les communications semblent simples, les requêtes faisant l'objet d'un va-et-vient entre le client et le serveur. Cependant, ce n'est pas toujours le cas.
Malheureusement, les applications web utilisant la conception ci-dessus sont sujettes à des cyberattaques par des personnes extérieures entre le client et le serveur.
Avant de nous pencher sur la nature de ces attaques, examinons quelques-unes des statistiques les plus passionnantes en matière de cyberattaques.
Selon les données de Positive Technologies sur les vulnérabilités des applications web en 2018, les secteurs de la finance et de la banque ont représenté 28 % de toutes les applications web attaquées. Le rapport indique également que 14 % des cyberattaques ciblent des applications en ligne dans les secteurs des télécommunications et de la fabrication, et 11 % des applications de transport.
Les institutions gouvernementales (11 %), les technologies de l'information, le commerce électronique et les médias sont également exposés à des risques.
En ce qui concerne les types d'attaques, un autre rapport, celui de F5, indique que les attaques par scripts intersites (de 4 % à 54 %) et par injection SQL (SQLi) (de 15 % à 76 %) sont en augmentation.
Ces statistiques nous permettent de conclure que des mesures rigoureuses sont nécessaires pour protéger les applications web contre les vulnérabilités. Certaines failles de sécurité sont dues à des problèmes de codage, tandis que d'autres peuvent être dues à une infrastructure inadéquate utilisée par l'application web. C'est là qu'intervient le pare-feu d'application web (WAF), qui peut réduire les vulnérabilités en filtrant les paquets, en bloquant le trafic HTTP et la journalisation non autorisée.
Nous l'étudierons plus en détail ci-dessous. Avant cela, un bref aperçu des principales menaces qui pèsent sur la sécurité.
SQLi - L'injection SQL est une vulnérabilité de sécurité web qui permet à l'attaquant de manipuler les requêtes SQL qu'une application adresse à la base de données. Ce faisant, il accède à des informations potentiellement précieuses que personne ne peut atteindre facilement.
Un exemple simple et très familier consisterait à tirer parti d'une entrée utilisateur non aseptisée à l'avantage du pirate. Supposons qu'une zone de texte demande l'identifiant de l'utilisateur. Sur la base de l'ID de l'utilisateur, la requête récupère toutes les informations appartenant à cet utilisateur.
Supposons donc que, dans la zone de texte, l'utilisateur ait saisi le texte suivant :
Id. d'utilisateur : 228 ou 1=1
La requête résultante serait alors la suivante :
SELECT * FROM Users WHERE UserId = 228 OR 1=1 ;
Il récupère ensuite toutes les données de la table de l'utilisateur, y compris les mots de passe si la table en contient.
Pour plus d'informations sur SQLi, vous pouvez vous référer à cette page.
Un XSS se produit lorsqu'un utilisateur injecte un script malveillant, principalement en javascript, par l'intermédiaire de champs de saisie non nettoyés. En général, un attaquant envoie ce script malveillant à un utilisateur qui ne sera pas soupçonné. Le navigateur de l'utilisateur final ne sait pas que ce script est nuisible et l'exécute.
Par conséquent, ce script malveillant peut accéder à toutes les données associées aux cookies, aux jetons de session ou à toute autre information sensible. En outre, ces scripts peuvent réécrire le code HTML d'une page web.
Supposons qu'un utilisateur doive se connecter à une application web en utilisant ses identifiants de connexion. Dans ce cas, l'algorithme propriétaire du site web génère un identifiant de session unique pour l'ensemble de la communication entre l'utilisateur et le serveur web pour cette session.
Si les développeurs web n'ont pas crypté les données sécurisées qui circulent entre l'utilisateur et le serveur web, il y a de fortes chances qu'un intrus les vole et se fasse passer pour l'utilisateur. Ce scénario se produit principalement lorsque vous vous connectez à l'internet en utilisant le WiFi public dans les cafés.
Vous pouvez vous référer à cet article pour plus de détails.
Le WAF est une défense de couche 7 dans le modèle OSI qui peut être placée au point d'entrée du serveur de destination, comme le montre le diagramme ci-dessous. Il protège le réseau interne du serveur contre les attaques et cache la topologie du réseau du serveur.
Pour que le WAF fonctionne, vous devez effectuer des configurations supplémentaires sur le serveur. Comme les pare-feu, le WAF filtre le trafic HTTP entrant et sortant qui semble dangereux pour le réseau interne du serveur s'il ne satisfait pas aux règles que vous avez définies sur le WAF.
Le WAF est également un type de proxy inverse dont nous parlerons dans la section suivante.
Le rôle d'un serveur proxy est de cacher votre adresse IP et de la remplacer par celle du serveur proxy. Un proxy inverse fait de même et renforce la sécurité du serveur web en cachant l'adresse IP ainsi que la topologie du réseau interne du serveur.
Le client ne connaît que l'adresse du serveur proxy, et le serveur réel lui est donc caché.
Idéalement, vous pouvez utiliser un proxy inverse comme un pare-feu d'application Web (WAF) dont nous avons parlé plus haut. Vous pouvez mettre en place un WAF pour les applications web sur des appareils dont le proxy inverse est configuré. Par conséquent, le champ d'application du WAF en matière de renforcement de la sécurité s'élargit. L'attaquant ne peut pas non plus voir l'emplacement réel du serveur web.
Vous pouvez vous référer à cet article pour plus d'informations fondamentales sur proxys. Dans la prochaine section, nous examinerons l'utilisation d'un proxy inverse pour atténuer les risques liés à l'application. Mais avant cela, nous allons vous donner un aperçu de ce que fait un proxy inverse.
Tous les sites proxys inversés effectuent les opérations fondamentales suivantes :
Comme notre objectif est de surmonter les cyberattaques mentionnées précédemment, le proxy inverse doit exécuter des fonctions supplémentaires en plus des étapes mentionnées ci-dessus.
Lorsqu'un client envoie une requête au serveur, le proxy inverse assainit l'entrée en la comparant à sa base de données de signatures. Les programmeurs développent ces signatures à l'aide d'expressions régulières très avancées. La décision du mandataire inverse d'autoriser la requête avec l'entrée de l'utilisateur sera uniquement basée sur l'approche du filtre de la liste de blocage et du filtre de la liste blanche.
Le filtre de la liste noire stocke les demandes nuisibles connues. Il compare ensuite chaque demande aux entrées de la liste. S'il découvre une correspondance, il rejette la demande. Les différentes variantes d'une même agression doivent être enregistrées séparément dans la liste. Les listes noires permettent d'empêcher uniquement les agressions connues. L'exhaustivité de la liste noire contribue à son efficacité.
Un filtre de liste blanche capture l'ensemble des demandes valides pour un site spécifique. Par conséquent, la liste blanche prévient les attaques en n'autorisant que les demandes connues à atteindre le serveur. Le processus de construction d'une liste blanche, en revanche, prend du temps et nécessite la connaissance de l'ensemble des demandes légitimes qu'un utilisateur peut potentiellement envoyer à un serveur.
En outre, il peut être écrasant de créer toutes les demandes valables auprès des centaines de milliers de fournisseurs de bases de données en cas d'injection SQL.
Toute modification apportée à une application web sécurisée nécessite une mise à jour de la liste blanche. Par conséquent, la tenue d'une liste blanche alourdit la charge administrative.
Avant de renvoyer la réponse du serveur au client, le mandataire inverse la valide. Une liste noire est généralement utilisée à cet effet. Le filtre de la liste noire peut cacher des réponses connues aux clients qui n'ont pas besoin de les voir. Les messages d'erreur sont un exemple de ce type de données ; le reverse proxy peut remplacer l'erreur par un message d'erreur générique ne contenant aucune donnée sensible.
Le reverse proxy peut également enregistrer la demande pour un examen ultérieur. La meilleure approche consiste à configurer la journalisation uniquement pour les demandes que le mandataire inverse a bloquées dans un premier temps. Il est conseillé d'examiner attentivement les journaux au cours des premières étapes de l'installation. C'est essentiel pour vérifier que le mandataire inverse ne bloque pas les demandes authentiques.
Dans cet article, nous espérons que vous comprendrez les vulnérabilités d'une application web et comment vous pouvez utiliser un reverse proxy pour résoudre ces menaces. En effet, le reverse proxy n'éliminera pas toutes les vulnérabilités possibles associées aux applications web.
Cependant, ce serait une excellente stratégie pour atténuer la plupart des menaces que vous rencontrez dans une application web. Enfin, nous espérons que vous appliquerez les concepts présentés dans cet article si vous rencontrez des problèmes de sécurité dans votre application web.