presentation
documents
installation
download
faq

Bienvenue sur le site de Apache::ProxyFilter

ProxyFilter est un firewall applicatif basé sur Apache et Perl permettant de protéger les applications Web contre des attaques de niveau applicatif, telles que l'injection de données SQL, de caractères Unicode, les manipulations de paramètres, de cookies et d'entêtes HTTP, les attaques par cross site scripting (XSS), etc...

Pourquoi ?

La sécurité des applications Web est critique : celles-ci sont généralement publiquement accessibles et la moindre vulnérabilité peut être exploitée par n'importe quel hacker dans le monde. Ces vulnérabilités sont dues à des négligences dans le code de l'application elle-même (oubli de vérifier les données transmises par l'utilisateur avant de les utiliser) ou à des failles dans le logiciel serveur. Dans le cas d'une application Web tierce, vous êtes dépendant du développeur de l'application pour qu'il corrige les vulnérabilités avant qu'un hacker ne parvienne à les exploiter.

Les attaques permettant d'exploiter ces vulnérabilités se font au niveau applicatif, souvent à l'aide d'un simple navigateur Web et d'URLs bien pensées : elles emprûntent le canal "sûr" du port 80 et ne sont donc pas bloquées par les firewalls et IDS conventionnels.

Comment ?

ProxyFilter joue le rôle d'un proxy inverse (reverse proxy) : situé sur une machine dédiée devant le serveur Web, il reçoit et filtre toutes les requêtes en provenance du client avant de les transmettre au serveur. De même, il filtre la réponse du serveur avant de la transmettre au client.

Les éléments qui peuvent être vérifiés / filtrés sont :

  • Les entêtes HTTP de la requête
  • Les paramètres GET et le contenu POST de la requête
  • Les entêtes HTTP de la réponse
  • Le contenu de la réponse (en projet)

ProxyFilter détermine si une requête/réponse est valide sur la base de régles qui sont définies par l'utilisateur avec une syntaxe claire dérivée du langage XML. Les modes de fonctionnement blacklist (passant par défaut) et whitelist (bloquant par défaut) sont supportés et il est même possible de mélanger ces deux modes dans diverses parties de l'application.

Pour réaliser son travail, ProxyFilter s'appuie sur Apache, mod_perl et LWP. Il peut être utilisé conjointement à d'autres modules tels que mod_ssl, mod_proxy ou mod_rewrite. Pour en appprendre plus sur ProxyFilter, nous vous invitons à visiter le reste de ce site.

Site officiel de Apache::ProxyFilter : https://proxyfilter.sourceforge.io