Contrôle d'accès
Sentinel peut restreindre l'accès au back office à une liste blanche d'adresses IP. Lorsque la liste blanche est activée, tout visiteur dont l'adresse ne figure pas dans la liste est redirigé vers la page 404 de la boutique — le panneau d'administration semble tout simplement ne pas exister.
Cette fonctionnalité est gratuite et disponible pour tous les utilisateurs de Sentinel.
Le même onglet contient aussi la règle des comptes employés inactifs, gratuite et locale, décrite ci-dessous.
Fonctionnement
- Vérification de la liste blanche : à chaque requête vers le back office, Sentinel résout l'adresse IP réelle du visiteur (compatible proxy et CDN, partagé avec les autres protections) et la compare à la liste blanche.
- Blocage furtif : si l'adresse ne correspond à aucune entrée, le visiteur est redirigé vers la page 404 de la boutique. Pas de formulaire de connexion, pas de message d'erreur — rien ne révèle qu'un back office existe à cette URL.
- Vérifié avant toute exécution : l'adresse est contrôlée à chaque requête du back-office, avant l'exécution du moindre contrôleur. Des identifiants soumis depuis une adresse bloquée ne sont même jamais vérifiés, et les routes qui répondent en JSON ou par une redirection sont filtrées elles aussi.
- Journalisation : chaque tentative bloquée est enregistrée dans les journaux de sécurité avec le type d'événement Accès au back office bloqué, incluant l'adresse IP, l'URI demandée et le user agent.
Le front office n'est jamais affecté : les clients peuvent naviguer et commander normalement, quelle que soit la liste blanche.
Réglages
La liste blanche se règle dans la carte Liste blanche d'IP du back office de l'onglet Contrôle d'accès de Sentinel > Configuration :
- Activer la liste blanche d'IP du back office : active ou désactive la protection.
- Une ligne par adresse : IP ou plage CIDR, Commentaire (facultatif), par exemple « Bureau » ou « VPN maison », et Supprimer, à cocher pour retirer l'adresse au prochain enregistrement. IPv4 et IPv6 sont acceptés, ainsi que les plages CIDR comme
203.0.113.0/24ou2001:db8::/32. - Une ligne vide pour ajouter une adresse : IP ou plage CIDR et Commentaire (facultatif).
- Enregistrer la liste blanche : enregistre en une fois l'interrupteur et toute la liste.
- Ajouter mon IP actuelle (%ip%), où %ip% est l'adresse depuis laquelle vous naviguez : affiché seulement tant que cette adresse n'est pas dans la liste, il enregistre l'interrupteur et la liste avec votre adresse en plus.
Rien n'est enregistré tant que vous ne cliquez pas sur l'un de ces deux boutons. Une fois la liste enregistrée, l'onglet affiche Les paramètres ont été enregistrés.
Seul un employé qui peut configurer le module Sentinel modifie la liste blanche ; les autres voient l'onglet en lecture seule. Voir Qui peut modifier les réglages.
Derrière un proxy ou un CDN
Si votre boutique est derrière Cloudflare, un CDN, un load balancer 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 avant d'activer la liste blanche. Déclarer le proxy est la seule manière pour Sentinel d'accepter un en-tête de transfert : un X-Forwarded-For non déclaré est ignoré, car n'importe quel visiteur peut le définir et pourrait sinon se faire passer pour une adresse autorisée.
Sans cela, tous les visiteurs atteignent votre serveur avec l'adresse du proxy :
- mettre « votre IP actuelle » en liste blanche reviendrait en réalité à whitelister le proxy, laissant passer tout le monde ;
- derrière Cloudflare, l'adresse edge change même d'une requête à l'autre, ce qui pourrait vous bloquer juste après l'activation.
Quand elle détecte Cloudflare ou un reverse proxy non déclaré dans la requête que vous effectuez depuis le back-office, cette carte propose Faire confiance à Cloudflare ou Faire confiance à ce proxy, qui le déclare en un clic. Le proxy déclaré est partagé avec les autres protections de Sentinel (brute-force, DDoS, double authentification), et la carte est disponible quel que soit le plan, gratuit compris.
Sous la liste blanche, l'onglet Contrôle d'accès 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).
Le bouton Ajouter mon IP actuelle (%ip%) affiche toujours l'adresse telle que le serveur la résout — si ce n'est pas celle que vous attendez, corrigez d'abord la configuration du proxy.
Protection anti-verrouillage
Se bloquer soi-même l'accès à son propre back office est le principal risque de ce type de fonctionnalité. Sentinel vérifie l'interrupteur et toute la liste avant de les enregistrer, et refuse l'enregistrement dans deux cas ; rien n'est alors enregistré, et la carte garde ce que vous avez saisi pour que vous puissiez le corriger :
- quand une entrée n'est ni une adresse IP ni une plage CIDR valide : Veuillez saisir une adresse IP valide ;
- quand l'interrupteur est activé et que la liste contient au moins une adresse, mais aucune qui corresponde à l'adresse depuis laquelle vous naviguez : Votre adresse IP actuelle (%ip%) doit être dans la liste blanche, sinon vous vous bloqueriez l'accès au back office. Ce refus empêche d'activer la liste blanche sans votre adresse, comme de retirer ou de modifier votre propre adresse pendant qu'elle est activée.
Tant que l'interrupteur est activé et que votre adresse n'est pas dans la liste affichée, la carte vous avertit : Votre adresse IP actuelle (%ip%) n'est pas dans la liste blanche. Ajoutez-la avant d'activer, sinon vous vous bloqueriez l'accès au back office.
Une liste vide ne bloque jamais : l'interrupteur peut être activé avec une liste vide, mais la liste blanche ne prend effet qu'à partir du moment où elle contient au moins une adresse. D'ici là, la carte indique Aucune adresse IP pour le moment. La liste blanche ne prend effet qu'à partir du moment où au moins une adresse est ajoutée.
L'accès en ligne de commande (bin/console) n'est jamais restreint.
Si vous vous retrouvez malgré tout bloqué (par exemple, votre FAI a changé votre adresse IP), supprimez la valeur SENTINEL_BO_WHITELIST_ENABLED de la table ps_configuration, ou demandez à votre hébergeur de le faire :
DELETE FROM ps_configuration WHERE name = 'SENTINEL_BO_WHITELIST_ENABLED';
Bonnes pratiques
- Préférez les plages CIDR aux adresses uniques si votre FAI ne fournit pas d'IP fixe.
- Ajoutez un commentaire à chaque entrée pour savoir plus tard pourquoi elle a été ajoutée.
- Si votre équipe travaille à distance, envisagez de faire passer l'accès au back office par un VPN avec une IP de sortie fixe et de ne mettre en liste blanche que cette adresse.
Comptes employés inactifs
Ouvrez Sentinel > Configuration > Contrôle d'accès, puis Comptes employés inactifs. La règle est désactivée par défaut. Activez Désactiver les comptes employés inactifs, choisissez les Jours sans utiliser le back-office (de 1 à 3650, 90 par défaut) et enregistrez. Il faut le droit de configurer Sentinel et le droit de modifier les employés. La règle s'applique aux employés de toutes les boutiques.
Quels comptes sont désactivés ?
Sentinel s'appuie sur la date de dernière connexion que PrestaShop enregistre pour chaque employé : elle est mise à jour la première fois que l'employé utilise le back-office dans la journée, qu'il vienne de se connecter ou qu'il soit resté connecté. Un compte est désactivé quand cette date remonte à plus de N jours. Un compte créé pendant que la règle est active compte depuis sa création.
Le contrôle a lieu au plus une fois par jour, quand quelqu'un utilise le back-office : sans navigation dans le back-office, rien ne se passe. Les visites de la boutique ne le déclenchent pas.
À l'activation de la règle
À l'activation, la carte propose de désactiver aussi tout de suite les comptes déjà inactifs depuis plus longtemps, y compris ceux qui ne se sont jamais connectés. Avant cette version de Sentinel, PrestaShop n'enregistrait pas la date sur certaines pages du back-office : un employé qui n'utilisait que ces pages peut sembler inactif, vérifiez donc la page Employés avant de faire ce choix. Sans ce choix, chaque compte dispose d'abord du délai complet à partir du jour de l'activation : personne n'est désactivé avant N jours.
Tant que la règle est active, un compte que vous réactivez à la main depuis la page Employés dispose lui aussi d'un nouveau délai de N jours à partir de sa réactivation.
Comptes et accès conservés
Le dernier SuperAdmin actif n'est jamais désactivé : si tous les SuperAdmins sont inactifs, celui qui a utilisé le back-office le plus récemment reste actif.
La désactivation empêche la connexion au back-office mais conserve le compte, ses données, son profil et ses droits. Réactivez-le depuis la page Employés de PrestaShop. Sentinel ne supprime jamais de compte.