Aller au contenu principal

Isolez facilement vos sites web avec le programme minimultimis

· 9 minutes de lecture
Antonio M.

minimultimis est un outil simple, en ligne de commande, qui donne au client la main sur son hébergement, tout en assurant un cloisonnement solide entre ses sites.

Le client le manipule à partir de son compte admin.

Avant de présenter l’outil, quelques rappels…

Le piratage sur les périodes 2024-2025 et 2025-2026

Pour la France

Pour la France, une hausse de 45% des déclarations CNIL.

Synthèse sur une année.

Statistiques Frenchbreachs

Source frenchbreachs

Attaques IA dans le monde

En 2025, l'utilisation de l'Intelligence Artificielle par les cyberattaquants a franchi un cap critique, passant d'une curiosité technologique à un outil industriel de masse. Les rapports récents (notamment de l'ANSSI, Microsoft, et Verizon) montrent que l'IA n'est plus seulement une menace théorique, mais le moteur principal de l'automatisation des attaques.

Une tendance inquiétante se confirme :
14 % des violations majeures en 2025 ont été jugées totalement autonomes. Cela signifie qu'après le lancement initial, l'IA a pris seule des décisions pour naviguer dans le réseau, escalader les privilèges et exfiltrer les données sans intervention humaine.

Rapidité : Le temps moyen de détection pour une intrusion assistée par IA est tombé à seulement 11 minutes dans certains cas de botnets adaptatifs.

Extrait d'une synthèse sur les attaques IA (Gemini).

Les incidents cyber alimentés par l’IA ont augmenté de 72 % par rapport à 2024, selon une analyse sectorielle complète (DeepStrike, 2025)

Source allaboutai

Démonstration

Test et vidéo fait à 100% par l’IA sur un serveur de démo.

Questions Fréquemment Posées (QFP)

À quel besoin répond minimultimis ?

Isoler sites et applications web les uns des autres afin de réduire l’impact d’un éventuel piratage ou bien, juste limiter les accès d’une personne autorisée.
En 2026, avec l’aide de L’IA, on ne compte plus le nombre de sites piratés et qui ont donné lieu à des fuites massives de données.

Que fait minimultimis ?

  • isole les applications
  • facilite l’ajout d’application en personnalisant son environnement

Que ne fait pas minimultimis ?

Tout ce qu’il ne fait pas.

Plus sérieusement, en cas de piratage, il ne protège pas du vol ou de la compromission des données SQL, il rend plus ardu au pirate ses tentatives d’étendre ses méfaits aux autres sites.

Par sécurité, il ne permet pas de supprimer une configuration apache ou de lister et supprimer une base ou un utilisateur SQL.

Quelles contraintes amène minimultimis ?

  • davantage de comptes système et ftp
  • impose des chemins prédéfinis

Historique des comptes utilisateurs sur OVH Cloud « Managed Infrastructure Services » et pourquoi en est-on arrivé là.

  • MISV1 et MISV2 Au départ un compte avec quelques privilèges sudo était mis à disposition du client, aucune isolation.
  • MISV > 2 Deux comptes sont mis à disposition du client, un dédié à la configuration des services et aux actions privilégiées, l’autre à la publication des sites et applications web.
  • MISV6 sécurité précédente et ajout de minimultimis.

La philosophie de la sécurité sur minimultimis.

Premier principe : imposer au maximum les éléments habituellement variables tels qu’identifiants, mots de passe, chemins, etc. Donc la première sécurité est d’imposer des éléments prédictibles et connus afin de se protéger de la variabilité / fragilité des entrées utilisateur.

Second principe : associer un site ou une application web à un utilisateur local et confiner ce dernier uniquement à son répertoire de travail.

Troisième principe : dédier une instance php à cette application, instance accessible que par cette dernière. On ajoute à cela l’interdiction d’utilisation de fonctions dangereuses et le confinement d'accès aux répertoires de travail de l’utilisateur.

Quatrième principe : par le caractère structuré et imposé : normaliser les éléments constitutifs de l’environnement de travail du client.

Cinquième principe : tracer les actions effectuées par minimultimis et notifier les plus sensibles.

Quid du fonctionnement sur les infras multi-serveurs ?

Dans minimultimis il ya multi, donc oui, les changements sont intelligemment reflétés sur le(s) éventuel(s) slave(s).

J’ai un vieux serveur, supporte-t-il minimultimis ?

Seuls les serveurs en MISV5 et MISV6 sont éligibles à minimultimis, concrètement les serveurs en Debian 12 et 13.

Quelles versions PHP sont compatibles minimultimis ?

Normalement toutes, mais sur php 5.6, des ajustements sont certainement à prévoir.

Mon serveur est récent mais minimultimis n’est pas disponible !

Contactez le support Kokiris, celui-ci se fera un plaisir de le mettre à votre disposition.

minimultimis est-il gratuit ?

Bien entendu.

Mais surtout…pourquoi un nom aussi nul ?

Pourquoi pas…

Usage

Usage: minimultimis.sh [OPTION]...
DESCRIPTION
Creates and manages dedicated system users, PHP-FPM configurations,
Apache vhosts, FTP accounts and MariaDB databases per application.
Each site is confined to its own user space.
OPTIONS
[1] user create
create a new account
OPTIONS: username
[2] user delete
delete an account
OPTIONS: username
[3] user list
list users accounts
OPTIONS: usernames
[4] php create
create php configuration
OPTIONS: username + phpversion
[5] php delete
delete php configuration
OPTIONS: username + phpversion
[6] php list
list php configuration
OPTIONS: username + phpversion
[7] ftp create
create a new ftp account
OPTIONS: real username
[8] ftp delete
delete an existing ftp account
OPTIONS: ftp username
[9] ftp list
list existing ftp accounts
OPTIONS: no options
[10] mysql create
create a new mysql account
OPTIONS: existing user name + existing user password + mysql host + new database name
# privilege acccount with his password is needed for creating a new user and his database !
[11] mysql delete
deletion not implemented (DANGEROUS) !
[12] mysql list
list mysql accounts on database
OPTIONS: existing user name + existing user password + mysql host
[13] apache create
create an apache vhost
OPTIONS: domain + domain alias (ex www) + php version + full username

EXAMPLES
# USER #
# create user
minimultimis.sh user create utilisateur1
# delete user
minimultimis.sh user delete utilisateur1
# list users accounts
minimultimis.sh user list
# PHP #
# create php-fpm configuration
minimultimis.sh php create utilisateur1 8.2
# delete php-fpm configuration
minimultimis.sh php delete utilisateur1 8.2 # php list php-fpm configurations
minimultimis.sh php list 8.2
# FTP #
# create ftp user
minimultimis.sh ftp create utilisateur1
# delete ftp user
minimultimis.sh ftp delete ftp-utilisateur1
# list ftp accounts
minimultimis.sh ftp list
# MySQL / MARIADB #
# create a new mysql user and his database
minimultimis.sh mysql create utilisateur1 password localhost database-name
# list mysql users
minimultimis.sh mysql list utilisateur1 password localhost
# APACHE #
# create a new apache vhost configuration
minimultimis.sh apache create "domain" "domain alias" "php version" "full username"

minimultimis par l’exemple : Déploiement d’un Wordpress.

Attention :

  • seul le compte admin du client permet l'utilisation de minimultimis.
  • le mot de passe de l’utilisateur admin est requis pour l’utilisation de sudo.

Je déploie un Wordpress accessible sur le domaine jaimelescms.fr et tournant sous php 8.4.

Connexion et création de l’utilisateur dédié.

Après m’être connecté en admin (dans l’exemple, mon code client est ab12345678).

sudo /usr/local/bin/minimultimis.sh user create jaimelescms

Je note l’identifiant, le HOME et le mot de passe.

Je crée maintenant la configuration php.

Création de la configuration PHP dédiée.

sudo /usr/local/bin/minimultimis.sh php create ab12345678-jaimelescms 8.4

Je note l’adresse du socket et je crée maintenant la configuration apache.

Création de la configuration Apache dédiée.

sudo /usr/local/bin/minimultimis.sh apache create jaimelescms.fr www.jaimelescms.fr 8.4 ab12345678-jaimelescms

Je note l’adresse du fichier de configuration du vhost et par prudence j’en vérifie la configuration avec mon éditeur préféré.

nano /home/adminab12345678/sites-enabled/apache/jaimelescms.fr.conf

Comme c’est un nouveau site, une base SQL est nécessaire, alors je la crée.

Création de l’utilisateur et de la base SQL dédiée.

Pour cela, munissez-vous de l’identifiant et du mot de passe utilisateur SQL que nous vous avons communiqué à la livraison du serveur, ils seront nécessaires à la création du nouvel utilisateur et de sa base.

Le script créera tout seul le nouvel utilisateur, son mot de passe ainsi qu’une base préfixée par le nom que vous lui aurez fourni en argument, ici, « jaimelescmsdb ».

sudo /usr/local/bin/minimultimis.sh mysql create ab12345678 motdepasseducompteutilisateur localhost jaimelescmsdb

Vous pourrez ensuite en tester l’accès par PMA ou bien en ligne de commande.

 mysql -uab12345678-jaimelescmsdb -p -h localhost
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 1936490
Server version: 11.8.3-MariaDB-0+deb13u1 from Debian-log -- Please help get to 10k stars at https://github.com/MariaDB/Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ’help;’ or ’\h’ for help. Type ’\c’ to clear the current input statement.

MariaDB [(none)]> show databases ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| jaimelescmsdb |
+--------------------+
2 rows in set (0.001 sec)

MariaDB [(none)]>

Si j’ai besoin, je crée maintenant l’accès ftp.

Création de l’utilisateur ftp dédié.

sudo /usr/local/bin/minimultimis.sh ftp create ab12345678-jaimelescms

Notez bien l’identifiant et le mot de passe.

Maintenant, je dépose mon Wordpress.

Déposez en scp, sftp ou ftp votre nouveau Wordpress.

Exemple de hierarchie sur le serveur de démonstration.

 tree --charset=ascii -L 3  /home/ab12345678/sites/
/home/ab12345678/sites/
|-- ab12345678-jaimelescms
| `-- htdocs
| |-- index.php
| |-- license.txt
| |-- readme.html
| |-- wp-activate.php
| |-- wp-admin
| |-- wp-blog-header.php
| |-- wp-comments-post.php
| |-- wp-config-sample.php
| |-- wp-content
| |-- wp-cron.php
| |-- wp-includes
| |-- wp-links-opml.php
| |-- wp-load.php
| |-- wp-login.php
| |-- wp-mail.php
| |-- wp-settings.php
| |-- wp-signup.php
| |-- wp-trackback.php
| `-- xmlrpc.php
`-- ab12345678-jeprefereleserp
`-- htdocs
|-- favicon.ico
|-- fichinter
|-- filefunc.inc.php
|-- fourn
|-- ftp
|-- holiday
|-- hrm
|-- knowledgemanagement
|-- langs
|-- loan
|-- opensurvey
|-- takepos
|-- theme
|-- ticket
|-- user
|-- variants
|-- version.inc.php
|-- viewimage.php
`-- zapier

Futures implémentations

  • ajout du chroot sftp/scp
  • plus de sécurité systemd