4 Ruta ExpertoLección 7 de 8 8 min de lectura

Seguridad avanzada y mantenimiento

  1. 1. La arquitectura de Éclair
  2. 2. Desarrollo local y pruebas
  3. 3. Personalizar las plantillas del tema
  4. 4. Nginx, VPS, proxy y CDN: desplegar Éclair
  5. 5. Rendimiento de Éclair: mantener 100 sobre 100
  6. 6. Migrar desde WordPress o Wix
  7. 7. Seguridad avanzada y mantenimiento
  8. 8. Industrializar Éclair en una agencia
Índice
  1. Lo que comprobó la auditoría de seguridad ofensiva
  2. Las protecciones de los datos, en detalle
  3. ECLAIR_SECRET: ¿por qué y cuándo?
  4. Control de integridad y manifest.php
  5. Registros acotados y acceso perdido
  6. ¿Cómo actualizar Éclair sin romper nada?
  7. Copias de seguridad externas y permisos de los archivos
  8. Seguridad avanzada: HSTS, administración y cortafuegos
  9. Vigilancia y revocación de los accesos MCP
  10. Para recordar
  11. Para saber más
  12. Preguntas frecuentes

La seguridad avanzada de Éclair empieza donde terminan los ajustes del día a día: entender qué protege tus datos, recuperar un acceso perdido, actualizar sin romper nada y vigilar el sitio a largo plazo. Esta lección está pensada para quien administra uno o varios sitios, tanto en un hosting compartido como en un VPS.

Lo que sabrás hacer

Entender las protecciones

Lo que comprobó la auditoría ofensiva y lo que Éclair hace solo.

Actualizar sin riesgos

El procedimiento completo, por FTP o por SSH.

Mantener una rutina

Copias externas, integridad, registros y accesos MCP.

Lo que comprobó la auditoría de seguridad ofensiva

Toda seguridad avanzada empieza con una pregunta: ¿qué se ha probado de verdad? Éclair fue atacado a propósito: condiciones de carrera entre peticiones, fuerza bruta, redirecciones, inyecciones, archivos trampa. La auditoría encontró 17 vulnerabilidades (2 graves, 7 medias y 8 leves), todas corregidas, y después se repitieron sus 13 escenarios de ataque sobre la versión corregida: todos quedaron neutralizados. Gran parte de ellos se ejecuta ahora con cada php tests/run.php, por ejemplo:

Ataque repetidoComprobación automática
sitio subido y olvidado, instalado por un desconocidoinstalador bloqueado pasadas 2 horas
dirección del sitio falsificadanunca se usa para redirigir a los visitantes
contraseñas probadas en paralelobloqueo por red; el propietario, desde su dispositivo habitual, nunca queda bloqueado
caché envenenada con una cabecera falsificadacabeceras independientes del protocolo declarado
archivo de datos llamado desde la web404, y línea <?php exit; ?> al principio del archivo
archivo trampa de recuperación por FTPrechazado y borrado si no tiene la línea de protección

Las protecciones de los datos, en detalle

ECLAIR_SECRET: ¿por qué y cuándo?

La clave de la caja fuerte se deriva del secreto del sitio, guardado en data/keys.php. Quien consiguiera una copia solo de data/ (un archivo manual de la carpeta, un volumen Docker, una carpeta de datos mal protegida) podría, por tanto, descifrar tus claves de API. La constante ECLAIR_SECRET añade un segundo secreto, guardado fuera de data/: entonces hacen falta los dos.

<?php
// eclair-config.php, junto a index.php
defined('ECLAIR') || exit;
define('ECLAIR_SECRET', 'une-longue-phrase-secrète-propre-à-ce-site');

Defínela antes de guardar tus claves de API. Si la añades, la cambias o la pierdes después, las claves ya guardadas se vuelven ilegibles: basta con volver a introducirlas en Ajustes › Asistente IA, porque nada más depende de ella. Guarda esta frase en tu gestor de contraseñas, una por sitio. El archivo eclair-config.php está protegido: el servidor rechaza cualquier .php distinto de index.php, y el control de integridad lo reconoce.

Control de integridad y manifest.php

En Seguridad › Integridad de los archivos, Analizar ahora compara cada archivo de Éclair con su huella original, guardada en app/manifest.php, y busca archivos sospechosos.

ResultadoSignificadoQué hacer
Archivos modificadoscontenido distinto del originalnormal si tienes plantillas personalizadas; si no, vuelve a poner el archivo del ZIP y busca la causa
Archivos que faltanborrados o mal subidosvuelve a subirlos desde el ZIP
Archivos desconocidospresentes en app/, assets/ o en la raíz, pero ausentes del manifiestoa menudo, un resto de una versión antigua: bórralo
Archivos sospechososen media/, algo que no es ni una imagen ni una tipografía; en data/ o cache/, un script o un .php sin línea de proteccióntrátalo como una intrusión

Lanza el análisis después de cada actualización, cada mes y en cuanto algo te extrañe. Ante un archivo sospechoso: descarga una copia de seguridad, guarda una copia del archivo para analizarlo, bórralo, cambia las contraseñas y busca por dónde entró el intruso.

Registros acotados y acceso perdido

Los registros data/logs/security.php y data/logs/errors.php guardan una línea JSON por evento. Cada campo se trunca a 300 caracteres y, por encima de 1 MB, solo se conservan los últimos 256 KB: un atacante no puede hacerlos crecer sin límite. La página Seguridad muestra el Registro de seguridad (inicios de sesión, fallos, bloqueos, verificación en dos pasos, copias de seguridad, ajustes modificados) y los Últimos errores técnicos.

¿Contraseña olvidada, o móvil de la verificación en dos pasos perdido, y ningún otro administrador? Crea por FTP el archivo data/reset.php con exactamente estas tres líneas, poniendo tu correo y tu nueva contraseña en las dos últimas:

<?php exit; ?>
ton-adresse@email.fr
TonNouveauMotDePasse2026

En las 24 horas siguientes, inicia sesión con ese correo y esa contraseña, que debe cumplir las reglas habituales (10 caracteres como mínimo). La contraseña se sustituye, la verificación en dos pasos de la cuenta se desactiva, tus demás sesiones se cierran y el archivo se borra. Sin la primera línea, el archivo se rechaza y se elimina. Del mismo modo, si la instalación muestra «Instalación bloqueada», borra data/install-window.php: el plazo de 2 horas vuelve a abrirse.

¿Cómo actualizar Éclair sin romper nada?

Actualización de Éclair: sustituir app y assets, conservar data y media
Lo que sustituye una actualización y lo que nunca toca.
  1. Descarga una copia de seguridad: Seguridad › Descargar una copia de seguridad, con tu contraseña.
  2. Por FTP, borra las carpetas app/ y assets/ y después sube las de la nueva versión junto con index.php y .htaccess. Borrar primero evita que queden archivos antiguos, que el control de integridad señalaría como desconocidos.
  3. No toques ni data/ (contenidos, ajustes, cuentas, CSS personalizado), ni media/ (imágenes), ni eclair-config.php.
  4. En Ajustes › Avanzado, haz clic en Vaciar la caché: las páginas guardadas todavía apuntan a las versiones antiguas de los archivos estáticos.
  5. Lanza Analizar ahora: solo deben aparecer tus posibles plantillas personalizadas.

Por SSH, los pasos 2 y 3 caben en cuatro comandos, ya que el ZIP contiene una carpeta eclair/:

cd /var/www/eclair
unzip -q ~/eclair-cms-1.8.0.zip -d ~/eclair-new
rm -rf app assets
cp -r ~/eclair-new/eclair/app ~/eclair-new/eclair/assets ~/eclair-new/eclair/index.php ~/eclair-new/eclair/.htaccess .

Copias de seguridad externas y permisos de los archivos

No hay seguridad avanzada sin una copia de seguridad fuera del servidor. La copia ZIP contiene data/ y media/, sin las sesiones, los contadores, la carpeta ai/ (conversaciones y conexiones MCP), vault.php ni reset.php. Para restaurar, sustituye data/ y media/ por los del ZIP, vacía la caché, vuelve a introducir tus claves de API y vuelve a conectar Claude o ChatGPT. Guarda al menos una copia fuera del hosting y haz una antes de cada actualización.

En un VPS, automatiza la misma copia con tar, excluyendo los mismos elementos:

tar -czf /sauvegardes/eclair-$(date +%F).tar.gz -C /var/www/eclair \
  --exclude=data/sessions --exclude=data/limits --exclude=data/ai \
  --exclude=data/vault.php --exclude=data/reset.php data media

En cuanto a los permisos, Éclair solo escribe en data/, cache/ y media/. En un VPS, solo esas tres carpetas deben pertenecer al usuario de PHP; el código (app/, assets/, index.php) puede quedarse en solo lectura para él, y eclair-config.php, legible por PHP pero no por las demás cuentas. En un hosting compartido, deja las carpetas en 755, como pide el asistente de instalación.

Seguridad avanzada: HSTS, administración y cortafuegos

Vigilancia y revocación de los accesos MCP

La tarjeta Nivel de protección de la página Seguridad resume siete puntos: HTTPS obligatorio, dirección del sitio verificada, verificación en dos pasos para todos los administradores, dirección de administración personalizada, PHP 8.2 o superior, contraseñas en Argon2id y HSTS. Apunta al 100 %.

FrecuenciaAcción
cada mesleer el nivel de protección y el registro de seguridad, lanzar el análisis de integridad, guardar una copia fuera del servidor
con cada versiónseguir el procedimiento de actualización y volver a lanzar el análisis
cada trimestrerevisar las cuentas en Usuarios y revocar las aplicaciones MCP innecesarias
de forma continuauna vigilancia externa de disponibilidad que te avise si el sitio deja de responder

Para revocar el conector MCP, haz clic en Revocar el acceso junto a la aplicación, en Ajustes › Asistente IA. Desmarcar Permitir conexiones MCP desconecta todas las aplicaciones de golpe, igual que un cambio de contraseña o Cerrar sesión en mis otros dispositivos en tu perfil. Los tokens de acceso duran una hora y solo se guardan sus huellas.

Para recordar

Para saber más

Preguntas frecuentes

¿La copia de seguridad ZIP contiene mis claves de API?

No: vault.php y la carpeta ai/ quedan fuera. Después de una restauración, vuelve a introducir tus claves en Ajustes › Asistente IA y vuelve a conectar tus aplicaciones MCP.

¿Qué hago si el control de integridad señala un archivo sospechoso?

Trátalo como una intrusión, sin esperar. Los pasos se describen en la sección sobre el control de integridad: copia de seguridad, copia del archivo para analizarlo, borrado, contraseñas nuevas y búsqueda de la vulnerabilidad.

¿Qué pasa si pierdo eclair-config.php y ECLAIR_SECRET?

Solo las claves de API se vuelven ilegibles: el resto del sitio funciona. Crea de nuevo el archivo con una frase nueva y vuelve a introducir tus claves.

¿Hace falta un cortafuegos de aplicaciones para Éclair?

No es necesario: sus protecciones están integradas. Si añades uno, comprueba que deja pasar el editor, /_eclair/ y /.well-known/.

Todas las lecciones de la ruta