La page Règles de sécurité d'un site demande un nom d'utilisateur et un mot de passe avant que quiconque voie une partie du site, comme /admin, ou tout le site. Elle utilise l'authentification HTTP basic de Nginx : le navigateur affiche une demande de connexion, et seules les personnes qui ont l'un des noms d'utilisateur et mots de passe de la règle passent. Votre application n'a pas besoin d'en savoir quoi que ce soit.
Utilisez-la pour mettre à l'abri du public et des moteurs de recherche un espace d'administration, un outil comme Horizon ou phpMyAdmin sous un chemin, ou un site de staging.

Ajouter une règle de sécurité
- Ouvrez le site et cliquez sur Règles de sécurité dans sa barre latérale.
- Cliquez sur Ajouter une règle.
- Renseignez :
- Nom : pour vous-même, comme
Espace d'administration. - Chemin : le chemin à protéger, comme
/admin. Laissez-le vide pour protéger tout le site. - Utilisateurs : un Nom d'utilisateur et un Mot de passe pour chaque personne ou équipe autorisée. Cliquez sur Ajouter un utilisateur pour en ajouter, jusqu'à 10 par règle. Les noms d'utilisateur se composent de lettres, de chiffres, de
.,_,@et-; les mots de passe comptent au moins 8 caractères.
- Nom : pour vous-même, comme
- Cliquez sur Ajouter une règle.
La règle affiche un statut pendant son écriture sur le serveur, et devient active une fois celle-ci terminée. Un site peut avoir jusqu'à 20 règles, une par chemin.
Que protège un chemin ?
Une règle protège le chemin et tout ce qui se trouve en dessous. Avec le chemin /admin :
| Requête | Demande une connexion ? |
|---|---|
/admin et /admin/ |
Oui |
/admin/users, /admin/x/y |
Oui |
Les fichiers PHP en dessous, comme /admin/index.php |
Oui |
/adminx, /administrator |
Non |
Une règle au chemin vide protège chaque page du site. Let's Encrypt peut toujours atteindre le site pour délivrer et renouveler les certificats.
Modifier les utilisateurs et les mots de passe
Cliquez sur Modifier sur une règle pour changer son nom, son chemin ou ses utilisateurs. Les mots de passe ne sont jamais affichés : laissez le Mot de passe d'un utilisateur vide pour garder celui enregistré, ou saisissez-en un nouveau pour le remplacer. Un utilisateur que vous ajoutez a besoin d'un mot de passe. Retirez un utilisateur avec Supprimer à côté de lui ; une règle garde toujours au moins un utilisateur.
Cliquez sur Supprimer sur la règle elle-même, puis confirmez, pour l'effacer : le chemin, ou tout le site, est de nouveau ouvert à tous.
Comment les mots de passe sont-ils stockés ?
Vimonto Deploy ne garde qu'un hachage bcrypt de chaque mot de passe, jamais le mot de passe lui-même. Sur le serveur, chaque règle reçoit un fichier de mots de passe dans /etc/nginx/vimonto-auth/, et les règles vont dans security.conf, dans le dossier d'inclusion de la configuration Nginx du site, /etc/nginx/vimonto-conf/site-{id}/. La configuration est vérifiée avec nginx -t avant le rechargement de Nginx ; si Nginx la refuse, les règles précédentes restent actives et la règle s'affiche en échec.
Comme pour les redirections, la page affiche Toutes les règles ne sont pas actives avec Appliquer à nouveau quand une modification n'a pas atteint le serveur, et Ces règles ne s'appliquent pas à ce site quand la configuration Nginx propre au site n'inclut plus le dossier d'inclusion.
Règles de sécurité ou protection par mot de passe ?
La fonctionnalité de site Protection par mot de passe place elle aussi un nom d'utilisateur et un mot de passe devant tout le site. Une règle de sécurité peut faire de même, avec plusieurs utilisateurs, et peut aussi ne protéger qu'un chemin.
Une règle pour tout le site et la fonctionnalité Protection par mot de passe ne peuvent pas être utilisées ensemble : désactivez la fonctionnalité avant d'ajouter une règle sans chemin, ou supprimez cette règle avant d'activer la fonctionnalité. Les règles pour un chemin peuvent être combinées avec la fonctionnalité.
Les sites d'un load balancer n'ont pas de page Règles de sécurité ; utilisez-y la Protection par mot de passe, qui protège d'un coup tous les serveurs d'application derrière le load balancer.
Qui peut modifier les règles de sécurité ?
Chaque membre peut voir les règles et leurs noms d'utilisateur. Ajouter, modifier et supprimer des règles nécessite la permission de gérer les sites (propriétaire, administrateur, manager et développeur), et le site et son serveur doivent être actifs. Les modifications sont enregistrées dans le journal d'audit, sans les mots de passe.
Questions fréquentes
L'authentification basic est-elle sûre ?
Le mot de passe accompagne chaque requête : utilisez-la donc uniquement sur un site en HTTPS. Sur HTTPS, c'est un moyen simple et solide de tenir les gens et les moteurs de recherche à l'écart d'une partie d'un site.
Puis-je plutôt protéger un chemin dans mon application ?
Oui, avec la connexion propre à votre application. Une règle de sécurité est utile pour ce qui n'a pas de connexion propre, ou comme couche supplémentaire devant.
Un site cloné garde-t-il ses règles de sécurité ?
Oui. Quand vous clonez un site, ses redirections et ses règles de sécurité suivent, avec les mêmes utilisateurs et mots de passe.