Hébergement web

CloudLinux et CageFS

Définition

CloudLinux est un système d’exploitation Linux conçu pour l’hébergement mutualisé. Avec LVE, il plafonne les ressources de chaque compte (processeur, mémoire, disque, processus) ; avec CageFS, un système de fichiers virtualisé, il enferme chaque utilisateur dans sa propre « cage » où il ne voit ni les fichiers ni l’existence des autres comptes.

CloudLinux et CageFS, Hébergement web

Sur un serveur mutualisé, des centaines de comptes partagent le même système. Deux risques en découlent : un site qui accapare les ressources au détriment des autres, et un site compromis qui sert de point d’appui pour atteindre ses voisins. CloudLinux, très répandu chez les hébergeurs qui utilisent cPanel, Plesk ou DirectAdmin, répond à ces deux problèmes avec deux composants distincts.

LVE : des limites par compte

LVE (Lightweight Virtual Environment) est une technologie du noyau qui place chaque compte dans un conteneur de ressources. La documentation de CloudLinux en décrit les principales limites :

  • SPEED : la part de processeur, en pourcentage d’un cœur ;
  • PMEM : la mémoire physique ; la dépasser peut faire tuer des processus et provoquer des erreurs 500 ou 503 ;
  • IO et IOPS : le débit disque et le nombre d’opérations par seconde ; les processus sont ralentis, pas arrêtés ;
  • EP (entry processes) : les entrées simultanées dans le conteneur, comme les requêtes PHP, les sessions SSH ou les tâches cron ; au-delà, le site renvoie une erreur 508 « Resource Limit Reached », sans toucher les autres sites ;
  • NPROC : le nombre total de processus et de threads.

Des limites d’inodes, c’est-à-dire de nombre de fichiers, peuvent aussi être fixées sur la partition /home.

CageFS : une cage par utilisateur

CageFS est un système de fichiers virtualisé : selon sa documentation, il isole chaque utilisateur dans sa propre cage, où il ne peut ni voir ni détecter les autres utilisateurs, ni même leurs noms. Le fichier /etc/passwd y est réduit, chaque utilisateur dispose de son propre /tmp, et seuls les programmes prévus par l’hébergeur sont disponibles. Un script malveillant déposé sur un site a donc beaucoup moins de prise sur le reste du serveur.

Comparatif d’un serveur mutualisé sans et avec CloudLinux. Sans isolation : les comptes voient la liste des utilisateurs du serveur et les dossiers partagés, un site compromis peut chercher des fichiers mal protégés chez ses voisins, et un site qui consomme trop ralentit tout le monde. Avec CageFS et LVE : chaque utilisateur vit dans sa cage avec son propre /tmp et une liste d’utilisateurs réduite, il ne voit pas les autres comptes, et ses limites de processeur, mémoire, entrées-sorties et processus ne touchent que son site.
CageFS cloisonne ce que chaque compte voit, LVE ce qu’il consomme.

CageFS sert aussi de base au sélecteur de versions PHP de CloudLinux, qui permet à chaque compte de choisir sa version et ses modules. Il complète, sans les remplacer, les mesures prises dans PHP lui-même et dans ses pools PHP-FPM, que nous détaillons dans notre article pour durcir PHP sur un hébergement.

Vidéo : « Isolate tenants from each other with CageFS » (Cloud Linux Inc, en anglais)

Pour WordPress

  • Une erreur 508 signifie que votre compte a atteint sa limite de processus simultanés : robots agressifs, extension lente, absence de cache de pages ou tâches planifiées qui s’empilent. Consultez l’utilisation des ressources dans le panneau, avant de changer d’offre.
  • Bloquer les robots inutiles et mettre en cache les pages réduit fortement le nombre de requêtes PHP qui comptent dans ces limites.
  • L’isolation ne protège pas votre propre site : elle limite la propagation d’un piratage entre comptes, mais un WordPress vulnérable reste exploitable. Les accès en SSH ou SFTP se font, eux aussi, depuis l’intérieur de la cage.

Choisir un hébergement mutualisé isolé de cette façon reste un bon critère, mais ce n’est qu’une couche parmi d’autres.

Sources

  1. CloudLinux OS documentation : CageFS (lien externe, nouvel onglet)
  2. CloudLinux OS documentation : Limits (lien externe, nouvel onglet)

Toutes les définitions

La sécurité WordPress, sans le bruit

Un e-mail quand ça compte : nouvelles attaques observées, mises à jour de l’extension et guides pratiques. Pas de spam, désinscription en un clic.

Commencez gratuitement, passez à Pro quand vous êtes prêt

La version gratuite masque déjà WordPress et déplace la page de connexion. Pro ajoute alias, double authentification et surveillance.