Une sécurité du panneau conçue pour qu'un site ne puisse pas atteindre le suivant
Quelque part sur un serveur très sollicité, un site exécutera une extension périmée. La qualité de la sécurité d'un panneau décide de ce qui se passe ensuite. Dashmox est conçu pour que la réponse soit : presque rien.
Comment c'est assemblé
Le panneau auquel vous vous connectez n'a aucun privilège root.
Dashmox est constitué de deux programmes. Le panneau, qui répond à votre navigateur, s'exécute sous un compte ordinaire sans privilèges. Tout ce qui exige root est demandé à un agent distinct.
- L'agent n'écoute que sur un socket local restreint, jamais sur le réseau.
- Il accepte une liste fixe d'opérations typées, et jamais une commande shell qu'on lui aurait transmise.
- Il détermine lui même chaque chemin et chaque compte Linux à partir d'un identifiant interne, si bien qu'une requête ne peut pas le faire pointer ailleurs.
- Chaque requête est autorisée sur le panneau au regard de la ressource qu'elle touche.
- Votre navigateur l'atteint sur le port propre du panneau, jamais sur celui où répondent les sites de vos clients.
Chaque site
Une protection active avant même que vous ne songiez à l'activer.
Son propre compte
Chaque site s'exécute sous son propre utilisateur Linux avec son propre pool PHP et son propre socket, et ne peut pas lire les fichiers d'un autre site.
Le courrier tenu à l'écart
Le courrier est stocké sous un compte dédié, à l'extérieur du site, si bien qu'un site compromis ne peut pas lire les boîtes aux lettres de son client.
Aucun script depuis les téléversements
Rien ne s'exécute depuis un dossier où une application écrit, si bien qu'un fichier téléversé ne peut pas devenir un programme.
PHP ne peut pas exécuter de commandes
Les fonctions dont un interpréteur de commandes web a besoin sont désactivées, et c'est à cela que servent la plupart des sites compromis.
Les scanneurs éconduits
Les chemins que réclament les scanneurs de vulnérabilités, et les fichiers qui ne sont jamais du contenu web, sont refusés d'emblée.
Les tentatives de devinette de mot de passe ralenties
Les tentatives de connexion répétées contre les pages de connexion d'un site sont limitées en débit, site par site.
Les noms inconnus refusés
Un nom pour lequel ce serveur ne détient pas de certificat est refusé au moment où la connexion sécurisée s'établit, plutôt que d'obtenir une réponse du premier site venu.
Vous et vos clients
Se connecter, et garder la main.
La connexion à deux facteurs
Des codes provenant de n'importe quelle application d'authentification. Scannez un code pour la configurer, ou saisissez la clé à la main. Des codes de secours à usage unique, stockés uniquement sous forme d'empreintes.
Un stockage robuste des mots de passe
Les mots de passe font l'objet d'une empreinte Argon2id. Il n'y a pas de mot de passe par défaut : le premier compte est créé au moyen d'un jeton à usage unique.
Des règles pour tout le serveur
Fixez les exigences de mot de passe et de connexion pour tous ceux qui se connectent à votre serveur.
Un pare feu qui ne vous coupera pas l'accès
Une règle qui couperait l'adresse depuis laquelle vous vous connectez est refusée en la nommant, et les ports sur lesquels le serveur doit répondre restent ouverts.
Des mises à jour signées
Une mise à jour est refusée si Dashmox ne l'a pas signée. Elle s'installe quand vous appuyez sur le bouton, prend d'abord un instantané du panneau, et tente de tout remettre en place si elle échoue.
Votre hébergement survit à votre licence
Une licence qui expire fait passer le serveur à la formule gratuite. Elle ne met jamais hors service un site, une boîte aux lettres ou une zone.
À quoi cela sert
L'attaque autour de laquelle tout cela est construit.
Non pas quelqu'un qui s'introduit dans votre serveur. Quelqu'un qui s'introduit dans un site qui s'y trouve.
Un serveur d'hébergement est une machine qui exécute du code écrit par d'autres, mis à jour selon le calendrier d'autres encore. Une extension passe un an sans mise à jour. Un thème comporte un téléversement de fichier que personne n'a testé. Un mot de passe est réutilisé. Rien de tout cela n'est inhabituel et rien n'est de votre faute, et sur un serveur très sollicité c'est une question de quand plutôt que de si.
La question utile n'est donc pas comment l'empêcher. C'est ce que détient un attaquant une fois la chose faite. Il exécute du code sous l'identité de ce site : il lit ses fichiers, écrit dans ses dossiers, ouvre des connexions. Tout ce qui suit dépend de ce que la machine laisse ce compte toucher.
Trois réponses comptent, et Dashmox est conçu pour que les trois soient non.
- Peut il lire les sites, le courriel ou les sauvegardes d'un autre client ? Chaque site est son propre compte Linux, avec son propre service PHP et son propre socket. Les fichiers d'un autre client ne lui sont pas lisibles, pas plus que ses boîtes aux lettres, ses identifiants de base de données ou ses clés privées TLS.
- Peut il atteindre quelque chose qui s'exécute en root ? Le panneau auquel vous vous connectez n'a aucun privilège root. Le seul programme qui en a écoute sur un socket local que le compte d'un site ne peut pas ouvrir.
- Peut il devenir root ? Les répertoires qui le permettraient, ceux qui contiennent la configuration du serveur web et les services du système, ne lui sont pas accessibles en écriture.
Ce ne sont pas des arguments. Le 29 septembre 2026, sur un serveur exécutant la version 0.97.128 et hébergeant trente cinq sites, quinze sondages ont été effectués depuis le compte Linux d'un site contre celui d'un autre : le registre qui recense chaque compte, le socket privilégié, la clé de contrôle du DNS, les identifiants de sauvegarde, les sauvegardes d'un autre client, les fichiers d'environnement des conteneurs, les clés privées TLS et le courrier d'un autre client, la configuration propre du panneau, le fichier des mots de passe du système, le répertoire personnel d'un autre client, et deux tentatives d'écriture dans les répertoires du serveur web et du gestionnaire de services. Les quinze ont été refusés. L'exécution vérifie d'abord que le compte pouvait lire sa propre racine web, car un sondage lancé sous le mauvais compte se voit tout refuser et ne prouve rien.
La moitié privilégiée
Ce que le programme root fera réellement.
Il répond à une liste de tâches nommées. Cette liste ne comporte aucune entrée pour exécuter une commande.
Scinder un panneau en deux ne sert que si la moitié privilégiée est étroite. Un programme root qui accepte « exécute ceci » est un panneau doté de root, avec une étape de plus.
L'agent de Dashmox accepte 136 opérations nommées et rien d'autre. Chacune est une tâche de forme définie : créer ce site, lui émettre un certificat, écrire cet enregistrement DNS, restaurer cette sauvegarde. Une requête qui nomme quelque chose d'absent de la liste est refusée avant d'être lue.
- Il prend des identifiants, pas des chemins. Une requête désigne un site par son identifiant interne et l'agent détermine lui même le répertoire et le compte Linux. Il n'existe aucun champ où envoyer un chemin, donc rien à faire pointer ailleurs.
- Il ne reçoit jamais de ligne de commande. Lorsqu'il doit exécuter un programme, il construit lui même les arguments à partir de valeurs qu'il a déjà vérifiées.
- Il n'écoute que sur un socket local, appartenant à root, dans un répertoire où le compte d'un site ne peut pas entrer. Il n'est présent sur le réseau à aucune adresse.
- Le panneau autorise d'abord. Chaque requête est vérifiée au regard de la personne qui la fait et de la chose qu'elle touche avant que l'agent ne soit sollicité.
Le nombre mérite d'être énoncé clairement car c'est la mesure honnête de la frontière. Une liste plus courte ferait un panneau plus réduit. Ce qui compte, c'est que la liste existe, que chaque entrée soit une tâche et non une instruction, et qu'y ajouter quelque chose soit une modification que quelqu'un doit faire volontairement.
Mises à jour
Une mise à jour doit prouver qu'elle vient de nous.
Une mise à jour est la chose la plus dangereuse qu'un panneau fasse, car c'est le seul moment où la machine remplace volontairement son propre code. Un panneau qui installe tout ce qu'on lui remet possède une porte dérobée munie d'une barre de progression.
- La signature est vérifiée sur l'archive elle même, et non sur une description de celle ci. Une signature apposée sur une liste de sommes de contrôle ne vaut que le lien entre la liste et les octets, alors Dashmox signe les octets.
- Contre une clé intégrée à la version que vous exécutez déjà. La clé n'est pas téléchargée, si bien qu'un service compromis pourrait cesser de répondre sans pouvoir signer quoi que ce soit que votre serveur accepterait.
- Rien ne s'installe tout seul. Le panneau annonce qu'une mise à jour est disponible. Un administrateur appuie sur le bouton. C'est tout, avec toutes les formules, y compris la gratuite.
- Il prend un instantané avant de commencer, et remet en place la version précédente, sa configuration et sa base de données si la nouvelle ne démarre pas en bonne santé. Une mise à jour échouée ne consomme pas son numéro de version : la version corrigée s'installe sous le même numéro.
- Une version endommagée est refusée plutôt que contournée. Si un fichier de la version installée ne correspond pas à ce que cette version garantit, le panneau le signale, nomme le fichier et vous indique quelle archive fournir.
Les correctifs de sécurité ne sont pas une fonctionnalité payante. Chaque installation reçoit l'offre de chaque version, quelle que soit sa formule.
En être honnête
Ce contre quoi cela ne vous protège pas.
Une page de sécurité qui n'énumère que des forces est une publicité. Voici les limites, dans les mêmes mots que ceux que nous employons en interne.
- Un site compromis reste compromis. Rien ici ne sauve le site qui exécutait l'extension périmée. Ses fichiers, sa base de données et les sessions de ses visiteurs appartiennent à celui qui est entré. Ce qui est borné, c'est jusqu'où cela s'étend.
- Root reste root. Quiconque se connecte à votre serveur en root, ou détient une clé qui le permet, a franchi tout cela. De même pour quiconque détient le compte propriétaire et son deuxième facteur.
- Votre fournisseur est en dessous de vous. Celui qui exploite le matériel ou l'hyperviseur peut atteindre le disque. C'est vrai de tous les panneaux chez tous les hébergeurs.
- Nous ne corrigeons pas les applications que vous installez. Dashmox vous indique quand l'une a une mise à jour et l'installe lorsque vous le demandez. Les tenir à jour vous revient.
- Le courriel est la réserve habituelle. Le courrier est stocké à l'écart du site et envoyé par TLS, et un message en transit entre deux autres serveurs n'est pas à nous de protéger.
La comparaison qui vaut la peine n'est pas avec un produit en particulier. Elle est avec la forme : un panneau dont l'interface web s'exécute en root n'a aucune frontière à décrire, car une faille n'importe où en son sein est une faille avec root. C'est l'agencement que Dashmox existe pour éviter, et la raison pour laquelle la réponse à « que peut atteindre un site compromis » est une liste de refus plutôt qu'une parole rassurante.
Vos serveurs, sans que rien de ce qu'ils portent ne soit compté.
Le panneau entier est gratuit sur un serveur, sans limite de sites, de boîtes aux lettres, de zones DNS ou de comptes clients. Pro, jusqu'à cinq serveurs, n'est pas encore disponible.