Alojamiento web

CloudLinux y CageFS

Definición

CloudLinux es un sistema operativo Linux pensado para el alojamiento compartido. Con LVE limita los recursos de cada cuenta (procesador, memoria, disco, procesos); con CageFS, un sistema de archivos virtualizado, encierra a cada usuario en su propia «jaula», donde no ve ni los archivos ni la existencia de las demás cuentas.

CloudLinux y CageFS, Alojamiento web

En un servidor compartido, cientos de cuentas comparten el mismo sistema. De ahí salen dos riesgos: un sitio que acapara los recursos en perjuicio de los demás, y un sitio comprometido que sirve de trampolín para llegar a sus vecinos. CloudLinux, muy extendido entre los proveedores que usan cPanel, Plesk o DirectAdmin, responde a ambos problemas con dos componentes distintos.

LVE: límites por cuenta

LVE (Lightweight Virtual Environment) es una tecnología del kernel que coloca cada cuenta en un contenedor de recursos. La documentación de CloudLinux describe sus límites principales:

  • SPEED: la parte de procesador, en porcentaje de un núcleo;
  • PMEM: la memoria física; superarla puede hacer que se maten procesos y provocar errores 500 o 503;
  • IO e IOPS: el caudal de disco y el número de operaciones por segundo; los procesos se ralentizan, pero no se detienen;
  • EP (entry processes): las entradas simultáneas en el contenedor, como las peticiones PHP, las sesiones SSH o las tareas cron; por encima del límite, el sitio devuelve un error 508 «Resource Limit Reached», sin afectar a los demás sitios;
  • NPROC: el número total de procesos e hilos.

También pueden fijarse límites de inodos, es decir, de número de archivos, en la partición /home.

CageFS: una jaula por usuario

CageFS es un sistema de archivos virtualizado: según su documentación, aísla a cada usuario en su propia jaula, donde no puede ver ni detectar a los demás usuarios, ni siquiera sus nombres. Dentro, el archivo /etc/passwd está reducido, cada usuario tiene su propio /tmp y solo están disponibles los programas que el proveedor ha previsto. Un script malicioso subido a un sitio tiene, por tanto, mucho menos margen sobre el resto del servidor.

Comparativa de un servidor compartido sin y con CloudLinux. Sin aislamiento: las cuentas ven la lista de usuarios del servidor y las carpetas compartidas, un sitio comprometido puede buscar archivos mal protegidos en sus vecinos y un sitio que consume demasiado ralentiza a todos. Con CageFS y LVE: cada usuario vive en su jaula con su propio /tmp y una lista de usuarios reducida, no ve las demás cuentas, y sus límites de procesador, memoria, entrada y salida y procesos solo afectan a su sitio.
CageFS acota lo que ve cada cuenta, y LVE, lo que consume.

CageFS es también la base del selector de versiones de PHP de CloudLinux, que permite a cada cuenta elegir su versión y sus módulos. Complementa, sin sustituirlas, las medidas tomadas en el propio PHP y en sus pools de PHP-FPM, que detallamos en nuestro artículo para endurecer PHP en un hosting.

Vídeo: «Isolate tenants from each other with CageFS» (Cloud Linux Inc, en inglés)

Para WordPress

  • Un error 508 significa que tu cuenta ha alcanzado su límite de procesos simultáneos: bots agresivos, un plugin lento, falta de caché de páginas o tareas programadas que se acumulan. Revisa el uso de recursos en el panel antes de cambiar de plan.
  • Bloquear los bots inútiles y cachear las páginas reduce mucho el número de peticiones PHP que cuentan para esos límites.
  • El aislamiento no protege tu propio sitio: limita la propagación de un hackeo entre cuentas, pero un WordPress vulnerable sigue siendo explotable. Los accesos por SSH o SFTP también se hacen desde dentro de la jaula.

Elegir un alojamiento compartido aislado de este modo sigue siendo un buen criterio, pero solo es una capa entre otras.

Fuentes

  1. CloudLinux OS documentation: CageFS (enlace externo, se abre en una pestaña nueva)
  2. CloudLinux OS documentation: Limits (enlace externo, se abre en una pestaña nueva)

Todas las definiciones

Seguridad de WordPress, sin ruido

Un correo cuando importa: nuevos ataques observados, actualizaciones de la extensión y guías prácticas. Sin spam, baja con un clic.

Empieza gratis y pasa a Pro cuando estés listo

La versión gratuita ya oculta WordPress y cambia la dirección de la página de acceso. Pro añade alias, verificación en dos pasos y supervisión.