Web Application Firewall. Web Application Firewall bloque les adresses IP abusives, les plages CIDR, des pays entiers et les robots malveillants, limite le débit des clients trop agressifs, protège la connexion au back office contre la force brute et arrête les schémas d'attaque courants (SQLi / XSS / LFI / sondage). Une liste blanche de confiance, avec garde-fou contre l'auto-blocage, vous met à l'abri, et chaque requête bloquée est consignée. Aucun code, aucune modification du thème.
Web Application Firewall bloque les adresses IP abusives, les plages CIDR, des pays entiers et les robots malveillants, limite le débit des clients trop agressifs, protège la connexion au back office contre la force brute et arrête les schémas d'attaque courants (SQLi / XSS / LFI / sondage). Une liste blanche de confiance, avec garde-fou contre l'auto-blocage, vous met à l'abri, et chaque requête bloquée est consignée. Aucun code, aucune modification du thème.
1. Installation
- Dans le back office, allez dans Modules → Gestionnaire de modules → Téléverser un module et sélectionnez le ZIP du module.
- Une fois l'installation terminée, cliquez sur Configurer pour ouvrir l'assistant.
.local, .test, localhost) sont toujours autorisés. Dès qu'une nouvelle version est disponible, elle est signalée directement dans le module.Si, à la place de la confirmation, vous lisez « Upload failed », PrestaShop a peut-être désactivé le module sans vous le dire : vos réglages et vos données restent en place. Comment mettre à jour un module, et que faire en cas de « Upload failed ».
2. Configuration : étape par étape
Le module est organisé en onglets : Règles et liste blanche, Journal des blocages, Protection de la connexion et Réglages. Les sections ci-dessous suivent l'onglet Réglages, où chaque protection a son propre interrupteur.
Général interrupteur général
L'interrupteur on/off de tout le pare-feu, et la façon dont l'adresse IP du visiteur est lue.
- Activer le pare-feu : interrupteur général. Désactivé, rien n'est filtré sur le front office.
- Derrière un proxy / CDN : à activer uniquement si votre boutique se trouve vraiment derrière un proxy ou un CDN de confiance. Sinon, les en-têtes de proxy sont falsifiables et un attaquant pourrait se donner l'IP ou le pays de son choix.
- En-tête de proxy de confiance : l'en-tête qui porte la véritable IP du visiteur, Auto (Cloudflare → X-Real-IP → X-Forwarded-For), CF-Connecting-IP, X-Real-IP ou X-Forwarded-For.

Blocage par IP / CIDR
Bloquez des adresses IP isolées ou des plages CIDR entières.
- Activer la liste noire IP / CIDR : met en service le blocage par IP et par plage.
- Les entrées de la liste noire et de la liste blanche se gèrent dans l'onglet Règles et liste blanche. Une IP ou une plage en liste blanche passe outre tous les autres contrôles.

Blocage par pays
Autorisez ou refusez les visiteurs selon leur pays (codes ISO à deux lettres).
- Activer le blocage par pays : met en service le filtre géographique.
- Mode : Liste de blocage (bloquer les pays listés) ou Liste d'autorisation (n'autoriser que les pays listés).
- Codes pays : codes ISO à deux lettres séparés par des virgules, par exemple
RU, CN, KP. - Chemin de la base GeoIP : chemin facultatif vers votre propre fichier MaxMind GeoLite2
.mmdb. Aucune base GeoIP n'est fournie avec le module (restrictions de licence) : apportez la vôtre, ou appuyez-vous sur l'en-tête pays d'un CDN (CF-IPCountry par exemple) en activant l'option « derrière un proxy / CDN ».

Robots malveillants / user-agents
Bloquez les aspirateurs de contenu, les scanners et les clients suspects d'après leur User-Agent.
- Activer le blocage par user-agent : met en service le filtre sur le User-Agent.
- Bloquer les user-agents vides : refuse les requêtes qui n'envoient aucun User-Agent.
- Fragments de user-agent à bloquer en plus : un fragment par ligne ; ils s'ajoutent à une liste interne raisonnable d'aspirateurs et de scanners connus.

Limitation de débit
Freinez les clients qui envoient trop de requêtes en peu de temps.
- Activer la limitation de débit : met en service le limiteur.
- Requêtes maximum par fenêtre : combien de requêtes une IP peut envoyer avant d'être freinée.
- Fenêtre (secondes) : la fenêtre de temps glissante sur laquelle les requêtes sont comptées.
- Durée du blocage temporaire (secondes) : combien de temps l'IP fautive reste bloquée.

Blocage des schémas d'attaque
Repérez et bloquez les signatures d'attaque courantes dans les requêtes.
- Activer le blocage des schémas d'attaque : bloque les tentatives SQLi, XSS, LFI et les sondages.
- Ajoutez vos propres schémas, ou mettez en liste blanche des URL légitimes qui seraient sinon reconnues à tort, dans l'onglet Règles et liste blanche.

Protection de la connexion au back office
Défendez la connexion administrateur contre les tentatives de force brute.
- Activer la protection de la connexion : suit les échecs de connexion au back office par IP et par identifiant.
- Nombre d'échecs autorisés, Fenêtre des tentatives (secondes) et Durée du verrouillage (secondes) : après trop d'échecs dans la fenêtre, la source est verrouillée temporairement.
- N'autoriser le back office que depuis les IP en liste blanche : réserve l'accès administrateur aux IP de la liste blanche. Vérifiez d'abord que votre IP actuelle y figure (la page affiche votre IP et vous avertit si ce n'est pas le cas).

Maintenance et journal
Le mode verrouillage et le journal des requêtes bloquées.
- Mode verrouillage : seules les IP en liste blanche atteignent la boutique (fermeture d'urgence). Mettez votre IP en liste blanche avant.
- Consigner les requêtes bloquées : enregistre chaque requête bloquée (consultation et export dans l'onglet Journal des blocages).
- Conservation du journal (jours) : combien de temps les lignes du journal sont gardées.
- Supprimer toutes les données à la désinstallation : si l'option est active, retirer le module efface aussi ses règles et ses journaux.

3. Vérifier que tout fonctionne
- Dans l'onglet Règles et liste blanche, le bandeau affiche votre IP actuelle et vous dit si elle est en liste blanche : ajoutez-la avant d'activer le mode verrouillage ou l'accès au back office réservé à la liste blanche.
- Ajoutez un fragment de user-agent de test, puis demandez une page avec ce User-Agent : la requête doit être bloquée et apparaître dans le Journal des blocages.
- Ouvrez l'onglet Journal des blocages : les requêtes bloquées y figurent avec leur IP, leur pays, le motif et l'URI ; vous pouvez filtrer, exporter en CSV ou vider le journal.
- L'onglet Protection de la connexion liste les échecs de connexion au back office et permet de lever un verrouillage en un clic.
4. Questions fréquentes
Puis-je me bloquer moi-même ?
L'onglet Règles affiche toujours votre IP actuelle et vous avertit si elle n'est pas en liste blanche. Ajoutez-la avant d'activer le mode verrouillage ou l'accès au back office réservé à la liste blanche, et vous ne risquez rien.
Le blocage par pays a-t-il besoin d'un service extérieur ?
Non. Il lit l'en-tête pays d'un CDN quand vous êtes derrière un proxy ou un CDN, ou votre propre base MaxMind GeoLite2. Aucune donnée GeoIP n'est fournie avec le module et aucun appel ne sort de votre serveur.
Est-ce que cela ralentit ma boutique ?
Non. Les contrôles sont légers et s'exécutent tôt dans la requête ; les visiteurs légitimes ne s'aperçoivent de rien.
Dois-je modifier mon thème ?
Non. Le pare-feu passe par les hooks standard et fonctionne avec n'importe quel thème.
