Du WAFing… a grasp of Web Application Firewalling

Introduction

Dans cet article nous discutons de la fonction (de base) d’un WAF ou pare-feu d’applications web. Comme son nom l’indique il s’agit de sécuriser l’application (son accès) et ne se préoccupe pas nécessairement d’autres aspects de sécurité, d’un point de vue toujours réseau, d’autres applicatifs (niveau 7 OSI) ou de transport (niveau 4 et 5 OSI).

Mots clés : waf, firewall, application, web, http, https, ssl, tls, owasp, osi

Principe général de fonctionnement d’un WAF

Le WAF s’interpose entre le client (de l’application) et l’application. Il est naturellement plus près de l’application sur le chemin de trafic qui la sépare des clients en provenance de différents réseaux plus ou moins de confiance (ou sécurisés). Son objectif est « d’intercepter » tout l’échange applicatif et d’en assurer un contrôle total.

Le schéma de la figure décrit cette situation:

Le WAF garantit que la sécurité du serveur Web n’est pas compromise en examinant les paquets de requête https/https (http sécurisé par les moyens de chiffrement des données et d’authentification des clients et serveurs participants à la communication) ; il sait par design interpréter les échanges protocolaires http et https.

Sur ce point, les échanges protocolaires http sur basent sur un modèle simple client http (navigateur web ou similaire) et serveur dans lequel le client envoie des requêtes (d’actions) et le serveur y répond mais peuvent correspondre à des modèles de trafic plus complexes (dans d’autres contextes, de développement par exemple).

Pour son opération et en plus du modèle d’échange de données, le protocole http se sert de moyens (ou d’autres protocoles) de sécurisation des données (chiffrement) et des communications (authentification) tels que le SSL et TLS, et de transport de données tels que le TCP ou QUIC (UDP).

Dans la pratique, le WAF peut correspondre à une machine physique, une machine virtuelle (supportée ou pas par une plateforme de virtualisation), une instance du cloud, une unité ou cluster, ou une simple application embarquée. Il se place en général au plus près du serveur mais peut être « distribué » sur tout le chemin de trafic qui sépare le serveur de son client.

Rôle d’un WAF

De la compréhension de base de l’enjeu d’une communication http entre le client et serveur nous pourrions envisager le rôle suivant du WAF sachant qu’en pratique, le rôle du WAF peut s’étendre aisément à d’autres aspects partant du principe que c’est un pare-feu à la base :

  • Protéger les données sensibles (prévention fuite) : le WAF est en contrôle total du chemin de trafic, du flux des données par ses moyens propres ou grâce à l’entremise d’autres systèmes.
  • Gestion (bloquer, autoriser, alerter, etc.) de l’entrée et sortie du flux applicatif : rejoint l’idée précédente de contrôle de l’aspect donnée mais également des échanges au sens des requêtes et réponse à ces requêtes.
  • Vérifier le contenu des pages web en html, html dynamique (tel que ajax, javascript), css. En plus de savoir interpréter les échanges http, le WAF est capable d’interpréter les structures de données diverses transportées par http.
  • Vérifier les protocoles de transfert de données http, https, ssl, tls. Le WAF dispose de moyens (certificats, etc.) lui permettant d’interpréter les protocoles de sécurisation des communications en http.
  • Terminaison ssl (capacité accrue uniforme, standardisé au plus haut, etc.). Le WAF dans ce rôle, permet de décharge l’application de la gestion des tunnels SSL d’un côté, et d’un autre côté, l’uniformisation des tunnels SSL pour tous les clients SSL et ce, quelque soit la configuration du serveur, entre autres capacités ajoutées.
  • Authentification des accès client ssl (ldap, etc.)
  • Réponse à d’autres menaces liées au : forgeage de jeton de session, cookies, champs de formulaires, etc.

Conformité aux normes

Un aspect important du fonctionnement d’un WAF est l’alignement de son opération avec les normes, standards et recommandations en vigueur. Nous citons en particulier les suivants :

  • De sécurité (directement dans son rôle)
    • OWASP top 10 des failles (telles que Cross-Site Forgery, Cross-Site Scripting, File Inclusion, and SQL injection, etc.) ; l’OWASP est un groupe de travail sur la prévention des failles mais également de certification du fonctionnement « aux normes » de l’implémentation
    • Zero Day Threats ou menaces plus liées aux bugs ou failles (virus) de fonctionnement que puissent recourir les systèmes mis en œuvre pour l’opération du WAF allant du matériel au logiciel, du client au serveur, en passant par les systèmes intermédiaires…
    • PCI DSS : ce sont des recommandations concernant la protection des données financières, de paiement des consommateurs, etc.
  • Ou connexes
    • Système : lié à son installation, à son système d’opération, utilisation de ressources systèmes, etc.
    • Réseau, partant du principe que le traitement des données s’articule en couches et qu’une continuité de la politique de sécurité est nécessaire au travers de ces couches.

Exemples d’implémentation de WAF

Une simple recherche internet sur le top des WAF free retourne une liste de produits ouverts au développement ou en version démo de produits déjà aboutis ayant fait leur preuve sur le marché. Nous citons l’exemple suivant de : Coraza (OWASP), Cloudfare, Zscaler, Cisco Umbrella, etc.

Quels critères de sélection (aide à la décision)

De plusieurs points de vue : de l’architecte, du financier, la décision de positionner un produit ou un autre peut privilégier des aspects économiques ou opérationnels plus ou moins techniques. Les critères techniques peuvent se décliner d’objectifs stratégiques de réponse à un besoin (d’intégration ou d’exploitation) de court terme, de performance ou de transition sur le moyen et long terme. Les critères financiers en termes de coûts initiaux, de rentabilité ou retour sur investissement sont prédominants et exigent souvent une adaptabilité technico-opérationnelle des solutions d’architecture. Plus encore, les critères qui découlent de l’usage en termes d’interactions humaines, de production, etc. peuvent venir augmenter, « maturer » la décision et la doter d’éléments factuels en complément ou en compromis des précédents.

Laisser un commentaire

Table of Contents