{"id":20468,"date":"2026-08-09T08:33:19","date_gmt":"2026-08-09T06:33:19","guid":{"rendered":"https:\/\/webhosting.de\/per-site-cagefs-shared-hosting-sicherheit-architektur\/"},"modified":"2026-08-09T08:33:19","modified_gmt":"2026-08-09T06:33:19","slug":"seguridad-de-la-arquitectura-de-alojamiento-compartido-de-cagefs-por-sitio","status":"publish","type":"post","link":"https:\/\/webhosting.de\/es\/per-site-cagefs-shared-hosting-sicherheit-architektur\/","title":{"rendered":"CageFS por sitio: nueva arquitectura de seguridad para el alojamiento compartido"},"content":{"rendered":"<p><strong>CageFS por sitio<\/strong> Separa estrictamente los distintos sitios web dentro de una cuenta de alojamiento compartido, lo que limita el riesgo de propagaci\u00f3n lateral tras un ataque. Te explicar\u00e9 la nueva arquitectura de seguridad, te mostrar\u00e9 ejemplos pr\u00e1cticos de uso y te explicar\u00e9 c\u00f3mo puedes gestionar de forma segura varios proyectos en una misma cuenta.<\/p>\n\n<h2>Puntos centrales<\/h2>\n\n<ul>\n  <li><strong>Aislamiento de sitios web<\/strong>: Una separaci\u00f3n adicional dentro de una misma cuenta reduce los riesgos colaterales.<\/li>\n  <li><strong>CloudLinux<\/strong>: Ampliaci\u00f3n del concepto CageFS a nivel de dominio.<\/li>\n  <li><strong>WordPress<\/strong>: Ejecutar varias instancias de forma segura en paralelo.<\/li>\n  <li><strong>Recursos<\/strong>: Los l\u00edmites de CPU, RAM y E\/S complementan la separaci\u00f3n de vistas de archivos.<\/li>\n  <li><strong>Pr\u00e1ctica<\/strong>: Activaci\u00f3n por dominio y una estrategia clara de derechos y rutas.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheitsserverraum-8432.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Qu\u00e9 ofrece concretamente \u201ePer-Site CageFS\u201c<\/h2>\n\n<p>La extensi\u00f3n a\u00edsla cada uno de los <strong>Dominios<\/strong> dentro de un CageFS de usuario ya existente, para que cada sitio web solo vea sus propios archivos y procesos. De este modo, evito que un proyecto comprometido pueda acceder a los archivos de configuraci\u00f3n, las subidas o las claves de otros sitios que se encuentren en la misma cuenta. Seg\u00fan <strong>CloudLinux<\/strong> El blog (anuncio de la versi\u00f3n beta) explica que CageFS por sitio ampl\u00eda el aislamiento entre sitios web dentro de una misma cuenta de usuario, reduciendo as\u00ed el riesgo de movimientos laterales. Para m\u00ed, la ventaja es evidente: puedo segmentar claramente las cuentas de la agencia, las configuraciones multisitio y los entornos de prueba sin alterar la estructura de alojamiento. Esta explicaci\u00f3n ofrece una visi\u00f3n general r\u00e1pida del principio de CageFS: <a href=\"https:\/\/webhosting.de\/es\/cloudlinux-cagefs-sistema-de-archivos-aislamiento-seguridad-hostingshield\/\">Sistema de archivos CageFS<\/a>, sobre el que se basa el aislamiento por sitio.<\/p>\n\n<h2>Por qu\u00e9 el aislamiento de cuentas por s\u00ed solo no es suficiente<\/h2>\n\n<p>Una cuenta suele agrupar varias <strong>Proyectos<\/strong> \u2013 unas dos tiendas, tres blogs y un entorno de pruebas. Si un exploit ataca un plugin vulnerable, un atacante puede, sin necesidad de segmentaci\u00f3n adicional, acceder a los directorios adyacentes y colocar all\u00ed m\u00e1s cargas maliciosas. Es precisamente aqu\u00ed donde Per-Site CageFS a\u00edsla el sistema de archivos y los procesos de tal manera que cada sitio web funciona como si estuviera en su propio <strong>C\u00e1rcel<\/strong> funciona. Especialmente en el caso de instancias independientes de WordPress que comparten un mismo usuario de PHP, de lo contrario se crea una ventana de riesgo de escalada que yo cierro mediante el aislamiento de dominios. Esto reduce los da\u00f1os derivados, simplifica el an\u00e1lisis forense y permite planificar las recuperaciones con mayor rapidez.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheitskonferenz_8765.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>As\u00ed funciona t\u00e9cnicamente el aislamiento de sitios web<\/h2>\n\n<p>CloudLinux crea, mediante CageFS, un entorno virtual por usuario <strong>sistema de archivos<\/strong>; la capa \u00abPer-Site\u00bb ampl\u00eda esto a los l\u00edmites del dominio. Cada dominio activado dispone de un espacio de trabajo independiente dentro del CageFS del usuario, que incluye rutas restringidas, directorios temporales propios y ejecuci\u00f3n de scripts aislada. De este modo, los archivos wp-config.php, las carpetas de subida o los archivos de claves ajenos desaparecen del \u00e1mbito de visi\u00f3n del sitio web atacado. Las tareas cron, PHP y, en su caso, los comandos SSH acceden a las mismas bibliotecas del sistema, pero solo ven los recursos asignados <strong>Subconjuntos<\/strong> del sistema de archivos. Seg\u00fan la documentaci\u00f3n, la separaci\u00f3n se puede activar por dominio, lo que me permite un control muy preciso para las instancias en producci\u00f3n, de prueba y de desarrollo.<\/p>\n\n<h2>Comparaci\u00f3n: aislamiento de cuentas, CageFS por sitio y contenedores<\/h2>\n\n<p>Para tomar la decisi\u00f3n de forma estructurada, comparo tres opciones habituales <strong>Modelos<\/strong> en funci\u00f3n del nivel de aislamiento, el esfuerzo que requiere y la compatibilidad. El aislamiento por cuenta resuelve la separaci\u00f3n entre clientes, pero deja abiertas las fronteras internas entre sitios. CageFS por sitio cierra esta brecha desde el punto de vista del sistema de archivos y de los procesos. Los contenedores crean l\u00edmites estrictos, pero a menudo requieren m\u00e1s mantenimiento y ajustes. Esta gu\u00eda ofrece una clasificaci\u00f3n detallada del aislamiento de procesos: <a href=\"https:\/\/webhosting.de\/es\/proceso-aislamiento-alojamiento-chroot-cagefs-contenedores-jails-seguridad-comparacion\/\">Comparaci\u00f3n entre chroot, CageFS y jails<\/a>.<\/p>\n\n<table>\n  <thead>\n    <tr>\n      <th>Ac\u00e9rquese a<\/th>\n      <th>Separaci\u00f3n entre cuentas<\/th>\n      <th>Separaci\u00f3n entre sitios web dentro de la cuenta<\/th>\n      <th>Compatibilidad (PHP\/CGI\/SSH\/Cron)<\/th>\n      <th>Gastos de explotaci\u00f3n<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Aislamiento de cuentas (cl\u00e1sico)<\/td>\n      <td><strong>Alta<\/strong><\/td>\n      <td>Bajo<\/td>\n      <td>Muy buena<\/td>\n      <td>Bajo<\/td>\n    <\/tr>\n    <tr>\n      <td>CageFS por sitio<\/td>\n      <td><strong>Alta<\/strong><\/td>\n      <td>Media a alta<\/td>\n      <td>Muy buena<\/td>\n      <td>Bajo a medio<\/td>\n    <\/tr>\n    <tr>\n      <td>Contenedores por emplazamiento<\/td>\n      <td><strong>Muy alta<\/strong><\/td>\n      <td>Muy alta<\/td>\n      <td>De bueno a muy bueno<\/td>\n      <td>Media a alta<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n\n<p>En entornos de alojamiento compartido, CageFS por sitio ofrece una potente combinaci\u00f3n de control preciso <strong>Separaci\u00f3n<\/strong> y requiere pocos cambios, ya que los scripts suelen funcionar sin modificaciones. De este modo, protejo el punto d\u00e9bil m\u00e1s habitual: varios sitios web independientes bajo una \u00fanica cuenta de usuario.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheitsarchitektur-cagefs-blog-4719.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Pr\u00e1ctica: c\u00f3mo gestionar de forma segura varias instancias de WordPress<\/h2>\n\n<p>Separo cada instancia de WordPress en la que est\u00e9 activada la <strong>Aislamiento de dominios<\/strong> y configuro grupos de PHP-FPM espec\u00edficos para cada sitio web, de modo que los registros, el opcache y los l\u00edmites se puedan asignar correctamente. Adem\u00e1s, defino SALTs\/KEYS espec\u00edficos para cada sitio web en el archivo wp-config.php y evito cualquier acceso cruzado mediante los permisos de los archivos y los equivalentes de open_basedir. Almaceno las subidas estrictamente dentro de la ra\u00edz de documentos correspondiente y proh\u00edbo los directorios globales compartidos para subidas. Durante las implementaciones, mantengo las rutas temporales dentro de cada sitio y elimino inmediatamente los artefactos de compilaci\u00f3n, para que no queden puntos vulnerables innecesarios. Para las cach\u00e9s de Composer o NPM utilizo directorios locales del sitio <strong>Directorios<\/strong>, para evitar que se produzcan efectos cruzados.<\/p>\n\n<h2>El rendimiento y la gesti\u00f3n de recursos en sinergia<\/h2>\n\n<p>CageFS por sitio se ocupa de la vista de archivos; la <strong>Actuaci\u00f3n<\/strong> Me aseguro de establecer l\u00edmites para la CPU, la RAM, las E\/S y los procesos a nivel de cuenta o de grupo. De este modo, evito que un sitio genere una carga excesiva debido a plugins defectuosos y ralentice toda la cuenta. En muchas configuraciones, esto se incluye en cuotas de LVE o similares, que ajusto con precisi\u00f3n por grupo o por cuenta. Lo combino con la limitaci\u00f3n de solicitudes en el servidor web o el WAF, para que los picos de tr\u00e1fico se gestionen de forma ordenada. Esta combinaci\u00f3n de aislamiento y cuotas aumenta la seguridad del servicio y la previsibilidad <strong>Distribuci\u00f3n de la carga<\/strong>.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/techoffice_cagefs_1234.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Cadena de protecci\u00f3n: lo que no sustituye a CageFS por sitio<\/h2>\n\n<p>El aislamiento impide las vistas transversales, pero considero que las actualizaciones, <strong>Endurecimiento<\/strong> Se sigue aplicando de forma rigurosa el uso de PHP y contrase\u00f1as seguras. La autenticaci\u00f3n multifactorial (MFA) para los inicios de sesi\u00f3n de administrador, los permisos m\u00ednimos de los archivos y los filtros de subida de archivos siguen siendo obligatorios. Un WAF, los l\u00edmites de frecuencia y el registro continuo cubren v\u00edas adicionales que la mera separaci\u00f3n de acceso a los archivos no controla. Adem\u00e1s, compruebo peri\u00f3dicamente las tareas programadas (cronjobs) y los tokens de integraci\u00f3n, que los atacantes suelen pasar por alto. Para obtener m\u00e1s informaci\u00f3n sobre la interacci\u00f3n entre la segregaci\u00f3n de clientes y el endurecimiento de la seguridad, consulta esta gu\u00eda sobre <a href=\"https:\/\/webhosting.de\/es\/alojamiento-compartido-seguridad-inquilino-aislamiento-serverguard\/\">Seguridad del alojamiento compartido<\/a>, que pone de relieve esa corriente de pensamiento.<\/p>\n\n<h2>Configuraci\u00f3n y dificultades habituales<\/h2>\n\n<p>Activo el aislamiento de dominios de forma espec\u00edfica para cada <strong>sitio web<\/strong> y, a continuaci\u00f3n, compruebo el acceso a SSH, Cron y PHP en condiciones reales. Las rutas absolutas en los scripts de implementaci\u00f3n o en los plugins pueden causar problemas, por lo que prefiero utilizar rutas relativas o variables. Evito los enlaces simb\u00f3licos entre proyectos, ya que debilitan el principio de segregaci\u00f3n; prefiero a\u00f1adir las bibliotecas necesarias al repositorio de cada sitio web. Para las copias de seguridad, defino archivos separados y guardo los registros de cada dominio, para que la recuperaci\u00f3n y el an\u00e1lisis forense se realicen de forma clara. En cuanto a los permisos, se ha demostrado que 640 para los archivos y 750 para las carpetas funcionan bien, adem\u00e1s de <strong>Propietario<\/strong> adecuado para el pool de PHP correspondiente.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/sicherheit_shared_hosting_3647.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>An\u00e1lisis de la relaci\u00f3n coste-beneficio para agencias y aut\u00f3nomos<\/h2>\n\n<p>Calculo la mejora en materia de seguridad frente al tiempo de gesti\u00f3n y los posibles costes por interrupci\u00f3n que generar\u00eda un incidente transversal, en <strong>Euro<\/strong>-Base. A menudo, unas pocas horas de respuesta ante incidentes cuestan mucho m\u00e1s que un peque\u00f1o recargo mensual por un mejor aislamiento. En el caso de las cuentas de agencias con varios proyectos de clientes, la segmentaci\u00f3n reduce notablemente el riesgo de responsabilidad civil y de reputaci\u00f3n. Adem\u00e1s, los procesos de copia de seguridad y restauraci\u00f3n se desarrollan de forma m\u00e1s ordenada, ya que puedo restaurar sitios concretos con precisi\u00f3n. En general, CageFS \u00abpor sitio\u00bb ofrece una mayor fiabilidad <strong>Gesti\u00f3n operativa<\/strong> con procesos previsibles.<\/p>\n\n<h2>Lista de verificaci\u00f3n: Cu\u00e1ndo es obligatorio el CageFS por sitio<\/h2>\n\n<p>Activar\u00e9 el aislamiento de dominios en cuanto haya varios <strong>Instalaciones<\/strong> que se ejecutan en una misma cuenta y tienen ciclos de actualizaci\u00f3n diferentes. Otro aspecto importante: los equipos de proyecto independientes o los accesos de administrador externos, que aumentan el riesgo de intervenciones involuntarias. Los elevados vol\u00famenes de carga, los convertidores de archivos o el procesamiento de im\u00e1genes justifican a\u00fan m\u00e1s la separaci\u00f3n, ya que a menudo se convierten en puntos de vulnerabilidad. Los distintos requisitos de cumplimiento normativo (por ejemplo, clientes, mercados, protecci\u00f3n de datos) tambi\u00e9n abogan por una segmentaci\u00f3n m\u00e1s detallada. Quien gestione en paralelo los entornos de preparaci\u00f3n, pruebas y producci\u00f3n se beneficia de dominios de error claramente separados y de una clara <strong>Forense<\/strong>.<\/p>\n\n<h2>Requisitos y compatibilidad en la pr\u00e1ctica<\/h2>\n\n<p>Antes de poner en producci\u00f3n Per-Site CageFS, compruebo el entorno de ejecuci\u00f3n: el gestor de PHP utilizado (por ejemplo, PHP-FPM, lsapi), el servidor web activo, la integraci\u00f3n disponible con el panel de control y la forma en que se gestionan las tareas programadas y las sesiones SSH. En entornos compartidos t\u00edpicos, las aplicaciones siguen funcionando sin necesidad de modificar el c\u00f3digo. Me aseguro de que exista una ra\u00edz de documentos propia para cada dominio, de que las rutas sean \u00fanicas (p. ej., \/home\/user\/sites\/proyecto-a\/public) y de que se utilice un grupo dedicado de PHP-FPM para cada sitio web. Para las tareas cron, utilizo crontabs independientes para cada dominio o \u2014cuando el panel las agrupa\u2014 prefijos y rutas de registro claros, para que las tareas se mantengan dentro de su <strong>C\u00e1rceles<\/strong> trabajo.<\/p>\n\n<h2>Separar claramente las bases de datos, las cach\u00e9s y las sesiones<\/h2>\n\n<p>La vista de archivos es solo una parte. Llevo la separaci\u00f3n hasta la base de datos y las cach\u00e9s. Para cada sitio web, creo una base de datos propia y un usuario de base de datos propio con derechos m\u00ednimos. Para las cach\u00e9s de objetos o de p\u00e1ginas (por ejemplo, Redis, Memcached), utilizo instancias separadas para cada sitio web o, como m\u00ednimo, prefijos de clave y bases de datos o espacios de nombres dedicados. Las sesiones de PHP se almacenan en rutas propias de cada sitio web; configur\u00e9 el par\u00e1metro `session.save_path` por separado para cada grupo de FPM. Si utilizo una cola central o un backend de b\u00fasqueda, separo los \u00edndices y los temas por sitio. Este principio de \u201eseparaci\u00f3n hasta el \u00faltimo tramo\u201c evita que los incidentes se propaguen a trav\u00e9s de sistemas secundarios.<\/p>\n\n<h2>CI\/CD y despliegues en aislamiento<\/h2>\n\n<p>En los procesos de compilaci\u00f3n, aplico el aislamiento de forma predeterminada: cada sitio tiene su propia tarea de implementaci\u00f3n, que solo accede al directorio del sitio. Descomprimo los artefactos dentro de la ra\u00edz del dominio, a continuaci\u00f3n aplico las correcciones de propietario y grupo, y invalido \u00fanicamente las cach\u00e9s afectadas. Los comandos de WP-CLI se ejecutan en el contexto correspondiente de CageFS, de modo que no afectan a proyectos ajenos. Mantengo las variables de entorno separadas para cada sitio web, y los secretos permanecen en los archivos de configuraci\u00f3n propios del sitio o en el almac\u00e9n de secretos del panel. Para garantizar un tiempo de inactividad cero, utilizo cambios at\u00f3micos de enlaces simb\u00f3licos dentro de los l\u00edmites del dominio (p. ej., current\/releases), pero me aseguro de que los enlaces simb\u00f3licos no apunten a proyectos vecinos. Las comprobaciones posteriores a la implementaci\u00f3n (estado del sistema, an\u00e1lisis de errores 404\/500, comprobaci\u00f3n de permisos) son imprescindibles para cada sitio web.<\/p>\n\n<h2>Supervisi\u00f3n, registro y an\u00e1lisis forense<\/h2>\n\n<p>Separo los registros de forma sistem\u00e1tica: registros de acceso y de errores por dominio, registros propios de PHP y Cron, incluyendo rotaciones y retenci\u00f3n. De este modo, en caso de incidente, puedo reconstruir la cronolog\u00eda de un sitio concreto sin tener que revisar toda la cuenta. Adem\u00e1s, apuesto por comprobaciones de integridad de archivos (sumas de comprobaci\u00f3n de los directorios principales), registros de auditor\u00eda distribuidos para las acciones de administraci\u00f3n y sencillos archivos \u00abcanary\u00bb que detectan las manipulaciones de forma temprana. Para las alertas, a menudo bastan unos valores umbral: aumentos repentinos de los c\u00f3digos de error 500, tama\u00f1os de subida inusuales, un crecimiento pronunciado del uso de inodos o un n\u00famero excesivo de arranques de trabajadores PHP. Asocio estas se\u00f1ales a procedimientos de intervenci\u00f3n claros: bloquear el sitio, comprobar las copias de seguridad, proteger los artefactos y reiniciar en un \u00e1mbito aislado.<\/p>\n\n<h2>Casos especiales de WordPress: Multisite, plugins MU y flujos de subida de archivos<\/h2>\n\n<p>En el caso de WordPress Multisite, sopeso las opciones: una instalaci\u00f3n Multisite se beneficia menos de CageFS por sitio, ya que varios sitios comparten deliberadamente una base de c\u00f3digo y una estructura. Si necesito l\u00edmites m\u00e1s estrictos (equipos independientes, cach\u00e9s separadas, an\u00e1lisis forense claro), prefiero configurar instancias individuales y aislarlas. Los plugins de MU, los \u00abdrop-ins\u00bb o las bibliotecas globales \u00abmust-use\u00bb solo los distribuyo dentro de cada sitio y evito las carpetas compartidas. Los flujos de trabajo de medios (CDN, optimizaci\u00f3n de im\u00e1genes, convertidores) se ejecutan dentro de la \u00abjaula\u00bb del dominio; excluyo las subidas desde un sitio a los directorios de otro. Si un equipo desea compartir flujos de trabajo de activos, los replico por sitio o los encapsulo en un paquete que se integra en el repositorio correspondiente.<\/p>\n\n<h2>Ruta de migraci\u00f3n: del sistema monol\u00edtico a la cuenta segmentada<\/h2>\n\n<p>Muchas cuentas empiezan con un directorio \u00abpublic_html\u00bb muy grande y van creciendo con el tiempo. Yo sigo estos cinco pasos: 1) Hacer un inventario: \u00bfqu\u00e9 sitios web, dominios, tareas cron, bases de datos y claves de acceso hay? 2) Definir la estructura de rutas: para cada sitio web, su propia ra\u00edz, directorio temporal, registros y copias de seguridad. 3) Definir los grupos de PHP-FPM por dominio y establecer l\u00edmites. 4) Mover archivos, ajustar permisos y limpiar rutas absolutas e inclusiones. 5) Activar CageFS por sitio, realizar pruebas bajo carga y poner en marcha la monitorizaci\u00f3n. Mientras tanto, tengo preparada una estrategia de reversi\u00f3n (instant\u00e1neas, copias de seguridad independientes). Tras la migraci\u00f3n, compruebo si herramientas como WP-CLI, Composer, los procesos de im\u00e1genes y las tareas cron se ejecutan en el \u00e1mbito correcto y, si es necesario, ajusto las variables de ruta.<\/p>\n\n<h2>Im\u00e1genes de errores y resoluci\u00f3n de problemas<\/h2>\n\n<ul>\n  <li>Errores 403\/404 tras la activaci\u00f3n: en la mayor\u00eda de los casos, las reglas de reescritura o las inclusiones remiten a rutas fuera de la ra\u00edz del dominio. Corrijo las rutas a variantes relativas o utilizo variables.<\/li>\n  <li>Composer\/NPM falla: las cach\u00e9s globales no son visibles. Configuro directorios de cach\u00e9 locales para cada sitio y ajusto las variables HOME y TMP en la implementaci\u00f3n.<\/li>\n  <li>WP-CLI no encuentra el archivo wp-config.php: la ejecuci\u00f3n no se realiza en la ra\u00edz del dominio. Configuro correctamente el directorio de trabajo o indico la ruta de forma expl\u00edcita.<\/li>\n  <li>Cronjobs desactivados: los usuarios de Cron o las rutas no est\u00e1n configurados por dominio. Compruebo las variables de entorno, las rutas de los binarios y los destinos de los registros dentro del entorno aislado del sitio.<\/li>\n  <li>Las subidas fallan: session.save_path o tmp_dir apuntan a un directorio incorrecto. Asigno rutas temporales locales para cada grupo de FPM.<\/li>\n  <li>Falta una biblioteca compartida: el enlace simb\u00f3lico al proyecto adyacente est\u00e1 bloqueado. Replico la biblioteca en cada sitio o la incluyo como paquete en la implementaci\u00f3n.<\/li>\n<\/ul>\n\n<h2>Gobernanza y modelo de acceso<\/h2>\n\n<p>Aunque t\u00e9cnicamente todo est\u00e9 separado, sigue existiendo la cuesti\u00f3n de los accesos. Asigno accesos SSH\/SFTP espec\u00edficos para cada sitio web o limito el acceso al panel al dominio correspondiente. Los equipos de desarrolladores y agencias solo reciben las claves y los permisos que realmente necesitan. Para casos de emergencia, dispongo de un proceso de \u00abbreak-glass\u00bb (derechos ampliados temporalmente, registro completo de actividades y revocaci\u00f3n posterior). En las auditor\u00edas, documento por cada sitio web: rutas, grupos, l\u00edmites, responsables, asignaciones RBAC y copias de seguridad. De este modo, la segmentaci\u00f3n no solo es s\u00f3lida desde el punto de vista t\u00e9cnico, sino tambi\u00e9n organizativo.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/hosting-sicherheitskonzept-4812.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Brevemente resumido<\/h2>\n\n<p>CageFS por sitio complementa la separaci\u00f3n de usuarios existente con una <strong>sitio web<\/strong>-nivel, lo que reduce de forma efectiva el riesgo de movimientos laterales. Considero que se trata de una medida muy pr\u00e1ctica, ya que muchas cuentas agrupan varios proyectos independientes. La combinaci\u00f3n de la separaci\u00f3n de vistas de archivos y los l\u00edmites de recursos aporta orden en cuanto a rendimiento, seguridad y funcionamiento. Quien aloje varias instancias de WordPress o tiendas online ganar\u00e1 tiempo en la resoluci\u00f3n de errores, las copias de seguridad y la recuperaci\u00f3n tras incidentes. Con derechos claros, actualizaciones, autenticaci\u00f3n multifactorial (MFA) y registro de actividades, se crea una soluci\u00f3n s\u00f3lida <strong>Cadena de seguridad<\/strong>, lo que hace que el alojamiento compartido sea mucho m\u00e1s resistente.<\/p>","protected":false},"excerpt":{"rendered":"<p>CageFS por sitio refuerza la seguridad en el alojamiento compartido gracias a los aislados de CloudLinux y a un claro aislamiento de los sitios web dentro de una misma cuenta.<\/p>","protected":false},"author":1,"featured_media":20461,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[794],"tags":[],"class_list":["post-20468","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicherheit-computer_und_internet"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"110","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"Per-Site CageFS","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20461","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/20468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/comments?post=20468"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/posts\/20468\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/media\/20461"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/media?parent=20468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/categories?post=20468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/es\/wp-json\/wp\/v2\/tags?post=20468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}