Aller au contenu principal

Protection brute-force

Fonctionnalité Pro

La protection brute-force et le bannissement automatique d'IP sont disponibles avec la licence Pro. Obtenez votre licence Pro pour accéder à cette fonctionnalité.

Sentinel détecte les tentatives de connexion échouées répétées sur le back-office PrestaShop et bannit automatiquement les adresses IP fautives pour une durée configurable.

Fonctionnement​

  1. Suivi des tentatives : chaque connexion échouée au back-office est enregistrée par adresse IP.
  2. Détection du seuil : lorsqu'une IP dépasse le nombre de tentatives configuré dans la fenêtre de temps, elle est bannie automatiquement.
  3. Blocage du back-office : une IP bannie reçoit une réponse HTTP 403 sur tout accès au back-office jusqu'à l'expiration du bannissement. Le front-office (boutique) reste entièrement accessible.
  4. Levée automatique : les bannissements temporaires expirent d'eux-mêmes — aucune action manuelle ni cron n'est nécessaire.

Seul l'accès au back-office est bloqué : les clients légitimes partageant la même IP (par exemple derrière un NAT) peuvent toujours naviguer et commander sur la boutique.

Réglages​

Les réglages se font dans la carte Protection brute-force de l'onglet Brute force de Sentinel > Configuration :

RéglageValeur par défautDescription
Activer la protection brute-forceActivéInterrupteur général
Nombre maximum de tentatives5Nombre de connexions échouées avant un bannissement
Fenêtre de temps (secondes)900 (15 min)Période sur laquelle les tentatives sont comptées
Durée du bannissement (secondes)3600 (1 h)Durée d'un bannissement automatique

Sous les champs, une phrase résume les réglages en clair, et les suit au fil de la saisie :

  • quand la protection est activée, Après %attempts% en %window%, l'adresse est bannie pendant %duration%., chaque durée dans la plus grande unité qui la divise : « Après 5 tentatives échouées en 15 minutes, l'adresse est bannie pendant 1 heure. » avec les valeurs par défaut ;
  • quand elle est désactivée, La protection brute-force est désactivée : les échecs de connexion ne sont pas comptés et aucune adresse n'est bannie.

Cliquez sur Enregistrer les paramètres pour enregistrer la carte.

Quand le plan de la boutique n'inclut pas la protection brute-force, la carte affiche à la place des réglages l'invitation au Pro décrite sous Brute force ; pendant une panne du service Sentinel, voir Quand le service Sentinel ne répond pas.

Seul un employé qui peut configurer le module Sentinel modifie ces réglages ; les autres voient l'onglet en lecture seule. Voir Qui peut modifier les réglages.

Réglages en vigueur​

La page Sentinel > Protection brute-force montre les réglages sans les modifier : sa carte Réglages en vigueur donne la même phrase et les valeurs enregistrées de Nombre maximum de tentatives, Fenêtre de temps (secondes) et Durée du bannissement (secondes). Son bouton Réglages ouvre l'onglet Brute force ; il n'apparaît que pour un employé qui peut configurer le module Sentinel.

IP de confiance​

Une adresse de la carte IP de confiance de l'onglet Général de Sentinel > Configuration n'est jamais comptée, bannie ni bloquée. Son bouton Ajouter mon IP actuelle (%ip%) ajoute en un clic l'adresse depuis laquelle vous naviguez : le garde-fou qui évite qu'un administrateur se bloque lui-même. C'est une seule liste, partagée avec la protection DDoS et avec la détection des menaces, et elle se modifie quel que soit le plan, gratuit compris.

Derrière un proxy ou un CDN​

Si votre boutique est servie par Cloudflare, un CDN ou un reverse proxy, déclarez-le dans la carte Derrière un proxy ou un CDN ? de l'onglet Général de Sentinel > Configuration. Sans cela, tous vos visiteurs apparaissent sous l'adresse du proxy, et les protections ne peuvent pas les distinguer.

  • Quand elle détecte Cloudflare ou un reverse proxy non déclaré dans la requête que vous effectuez depuis le back-office, la carte propose Faire confiance à Cloudflare ou Faire confiance à ce proxy, qui le déclare en un clic.
  • Ma boutique est derrière Cloudflare fait confiance aux plages publiées par Cloudflare sans avoir à saisir le moindre CIDR.
  • Autres reverse proxies accepte les adresses ou plages CIDR de vos propres proxies.

La page Sentinel > Protection brute-force vous le rappelle, avec un bouton Déclarer mon proxy qui ouvre l'onglet Général, affiché seulement pour un employé qui peut configurer le module Sentinel (voir Qui peut modifier les réglages).

Les en-têtes transmis ne sont pris en compte que lorsque la requête provient réellement d'un proxy déclaré : un visiteur ne peut pas falsifier son IP.

Liste noire​

Le formulaire Liste noire manuelle bannit définitivement une IP, avec un commentaire facultatif enregistré comme raison du bannissement pour vous rappeler pourquoi il est là. Les bannissements permanents n'expirent jamais et doivent être retirés manuellement.

Gestion des bannissements​

La page Protection brute-force liste tous les bannissements actifs (IP, type, raison, date de bannissement, expiration, nombre de tentatives) et permet de débannir une IP en un clic. Débannir lève le ban brute force ou l'entrée de la liste noire manuelle de l'adresse, et rien d'autre : un ban de limitation de débit de la même adresse reste en place, et se lève depuis la page Protection DDoS. Cliquer sur le nombre de tentatives ouvre la fenêtre Emails testés, qui liste les adresses email essayées depuis cette IP (issues des journaux de connexions échouées). Un bannissement dont l'adresse figure aussi dans les IP de confiance est signalé par un badge De confiance : cette adresse n'est plus bloquée.

Vue d'ensemble dans le dashboard​

Le dashboard Sentinel affiche un résumé brute-force : nombre de bans actifs, total d'IP bannies, tentatives échouées sur les dernières 24 h, et les bannissements les plus récents. Quand le plan de la boutique n'inclut pas la protection brute-force, une invitation à passer à Pro est affichée à la place ; pendant une panne du service Sentinel, voir Quand le service Sentinel ne répond pas. Le dashboard affiche aussi, à côté, le top des adresses email essayées lors des connexions échouées au back-office.

Le widget du tableau de bord PrestaShop affiche une section Protection active avec une carte par protection sous licence (brute force et DDoS), chacune affichant les bans actifs avec le nombre des dernières 24 h entre parenthèses — par ex. « 15 (3) ». Chaque carte renvoie vers sa page de gestion.

Ligne de commande​

Les bannissements peuvent aussi être gérés en CLI :

# Bannir une IP pour la durée configurée
php bin/console sentinel:brute-force ban 203.0.113.10

# Bannir une IP pour une durée personnalisée (secondes)
php bin/console sentinel:brute-force ban 203.0.113.10 --duration=7200 --reason="Activité suspecte"

# Mettre une IP en liste noire permanente
php bin/console sentinel:brute-force ban 203.0.113.10 --permanent

# Débannir une IP
php bin/console sentinel:brute-force unban 203.0.113.10

# Lister tous les bannissements (ajoutez --json pour une sortie machine)
php bin/console sentinel:brute-force list

# Purger les bannissements expirés et les tentatives obsolètes
php bin/console sentinel:brute-force purge

La commande unban est la solution de secours recommandée si un administrateur se retrouve bloqué hors du back-office. Elle lève tous les bannissements de l'adresse, quel que soit leur type, y compris un bannissement de la protection DDoS : l'adresse n'est plus bannie dès sa requête suivante, mais elle peut encore être ralentie tant que son réseau est attaqué, car la limite par réseau est partagée avec ses voisines. Une adresse IPv6 peut être saisie sous n'importe quelle notation.

Remarques sur la résolution de l'IP​

  • Les adresses IPv6 sont prises en charge et normalisées avant stockage et comparaison.
  • Proxies : par défaut, l'IP cliente est lue depuis REMOTE_ADDR. Les en-têtes transmis étant falsifiables, X-Forwarded-For n'est lu que si la requête vous parvient d'un proxy déclaré (préréglage Cloudflare ou Autres reverse proxies), et la chaîne est parcourue de droite à gauche afin d'ignorer les entrées ajoutées par un attaquant. CF-Connecting-IP n'est en outre accepté que si la requête provient d'une plage Cloudflare publiée.
  • C'est la déclaration d'un proxy qui active ce comportement durci. Tant que vous n'en déclarez pas, les installations mises à jour depuis une version antérieure conservent le traitement précédent du réglage hérité Faire confiance à X-Forwarded-For : les bans et les logs restent indexés sur la même adresse qu'avant.
  • Les entrées d'IP de confiance acceptent les adresses exactes et les plages CIDR (203.0.113.0/24, 2001:db8::/32). Les adresses IPv6 mappées en IPv4 correspondent à leur forme IPv4.

Suivant : Journaux de sécurité