🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo proteger archivos sensibles en Plesk (config.php, .env, etc.)

Actualizado el 24 de marzo de 2026

¿Por qué es tan importante proteger los archivos sensibles en Plesk?

Cuando tienes una web en Plesk, hay una serie de archivos que contienen las llaves de tu reino: credenciales de bases de datos, claves de cifrado, tokens de API y configuraciones internas. Hablamos de archivos como config.php, .env, wp-config.php o configuration.php. Si un atacante consigue leerlos, puede vaciar tu base de datos, secuestrar tu dominio o inyectar malware en tu sitio.

Proteger archivos Plesk no es un lujo, es una necesidad básica de ciberseguridad. La buena noticia es que no necesitas ser un experto en servidores para hacerlo. Con los pasos que te explico a continuación, puedes blindar tu panel y tus aplicaciones en menos de una hora.

Vamos a verlo todo paso a paso, con un lenguaje claro y sin tecnicismos innecesarios.


¿Qué archivos son los más críticos en Plesk?

Antes de proteger nada, tienes que saber qué es lo que estás protegiendo. Estos son los archivos que más suelen atacar los bots y los hackers:

  • config.php: Común en WordPress, Joomla o PrestaShop. Contiene el usuario y la contraseña de la base de datos.
  • .env: Típico de Laravel, Symfony o cualquier proyecto moderno. Guarda claves secretas, tokens y credenciales SMTP.
  • wp-config.php: La versión de WordPress del archivo anterior.
  • configuration.php: El de Joomla.
  • .git o .svn: Carpetas de control de versiones que pueden filtrar el historial completo de tu código.
  • Archivos de backup (backup.zip, dump.sql): Si quedan accesibles, cualquiera puede descargarlos.

La seguridad de estos archivos depende de tres capas: los permisos del sistema, la configuración del servidor web y las reglas de Plesk. Vamos a atacar las tres.


Paso 1: Ajusta los permisos de archivos y carpetas en Plesk

El primer escudo para proteger archivos Plesk es el sistema de permisos. En Linux, cada archivo tiene un propietario y un grupo, y se le asignan permisos de lectura, escritura y ejecución.

¿Qué permisos son seguros?

Para archivos sensibles como config.php o .env, lo recomendable es:

  • Propietario: lectura y escritura (6)
  • Grupo: solo lectura (4)
  • Otros: sin acceso (0)

Es decir, permisos 640. Si el archivo es de solo lectura y no necesita ser modificado por PHP, puedes usar 440 o incluso 400.

¿Cómo cambiar los permisos desde Plesk?

  1. Entra en tu panel de Plesk.
  2. Ve a Sitios web y dominios.
  3. Haz clic en Administrador de archivos de tu dominio.
  4. Navega hasta la carpeta donde está el archivo (normalmente httpdocs o public_html).
  5. Selecciona el archivo (por ejemplo, config.php).
  6. Haz clic en Permisos en la barra superior.
  7. Desmarca todas las casillas de Otros y deja solo lectura para Grupo.
  8. Guarda los cambios.

[TIP]
No te pases con los permisos restrictivos. Si pones 000 o 400 en un archivo que PHP necesita leer, tu web dará error 500. Prueba siempre con 640 primero.


Paso 2: Bloquea el acceso directo desde el navegador

Que un archivo tenga permisos adecuados no significa que el servidor web no lo sirva si alguien adivina la URL. Por ejemplo, si tu web es mipagina.com, cualquiera podría intentar acceder a mipagina.com/.env o mipagina.com/config.php.

Para evitar esto, necesitas reglas en el servidor. Plesk te permite hacerlo fácilmente con Apache y Nginx.

Añadir reglas de denegación en Apache

  1. En Sitios web y dominios, selecciona tu dominio.
  2. Entra en Apache y nginx Settings.
  3. En el campo Directivas de Apache adicionales, pega este código:
<FilesMatch "\.(env|config\.php|ini|log|sh|sql|json|lock)$">
    Require all denied
</FilesMatch>
  1. Guarda y aplica los cambios.

Este bloque deniega cualquier petición directa a esos archivos. El servidor responde con un error 403, que es exactamente lo que queremos.

Reglas para Nginx

Si tu servidor usa Nginx como proxy frontal, añade esto en el campo Directivas de Nginx adicionales:

location ~ \.(env|config\.php|ini|log|sh|sql|json|lock)$ {
    deny all;
    return 403;
}

[WARNING]
No bloquees config.php si tu aplicación necesita ejecutarlo a través de PHP. La regla anterior solo bloquea el acceso directo por URL, no la ejecución interna. Si tu web funciona mal, revisa que no estés bloqueando rutas de administración legítimas.


Paso 3: Protege el archivo .env con reglas específicas

El .env es especial porque no tiene extensión visible y a veces los servidores lo sirven como texto plano. Para proteger archivos Plesk de este tipo, añade una regla específica en Apache:

<Files ".env">
    Require all denied
</Files>

Y en Nginx:

location = /httpdocs/.env {
    deny all;
    return 403;
}

También puedes mover el .env fuera de la raíz web, pero eso ya requiere conocimientos más avanzados. Con la regla anterior es suficiente para la mayoría de casos.


Paso 4: Deshabilita la navegación de directorios

Aunque no es un archivo en sí, si un directorio como /backups o /logs no tiene un índice, Plesk podría mostrar el listado de archivos. Eso es una puerta abierta.

Cómo desactivar el listado de directorios en Plesk

  1. Ve a Sitios web y dominios → tu dominio.
  2. Entra en Apache y nginx Settings.
  3. Añade esta línea en Apache:
Options -Indexes
  1. Guarda.

Con esto, si alguien visita un directorio sin índice, verá un error 403 en lugar de la lista de archivos.


Paso 5: Usa contraseñas de protección de directorios

Plesk tiene una herramienta nativa llamada Protección de directorios que te permite poner una contraseña extra para acceder a ciertas carpetas.

Imagina que tienes una carpeta /admin o /private con archivos sensibles. Puedes protegerla así:

  1. En Sitios web y dominios, entra en Protección de directorios.
  2. Añade un nuevo directorio protegido.
  3. Crea un usuario y contraseña.
  4. Asigna ese usuario al directorio que quieras proteger.

La próxima vez que alguien intente entrar por navegador, verá un cuadro de autenticación HTTP. Sin la contraseña, no podrá ver nada.

[INFO]
Esta protección funciona a nivel de servidor web, así que PHP puede seguir leyendo los archivos sin problema. Es una capa extra muy útil para áreas de administración.


Paso 6: Configura un firewall de aplicación (ModSecurity)

Plesk incluye ModSecurity, un firewall de aplicación web que filtra peticiones maliciosas. Puedes activarlo y añadir reglas para bloquear intentos de lectura de archivos sensibles.

Cómo activarlo

  1. Ve a Sitios web y dominios → tu dominio.
  2. Entra en SeguridadModSecurity.
  3. Actívalo y elige el conjunto de reglas OWASP (recomendado).
  4. Guarda.

Esto no es específico para .env o config.php, pero añade una capa de detección de ataques comunes.


Paso 7: Revisa los logs de acceso

Proteger archivos Plesk no es solo poner barreras, también es saber si alguien ha intentado saltarlas. Plesk guarda logs de acceso del servidor web.

Puedes revisarlos en:

Sitios web y dominiosRegistros de acceso.

Busca peticiones a .env, config.php, backup.zip o rutas sospechosas. Si ves muchas, es señal de que un bot está escaneando tu web. Considera añadir un bloqueo por IP o un plugin de seguridad.


Paso 8: Copias de seguridad cifradas

Si haces copias de seguridad de tu web desde Plesk, asegúrate de que estén cifradas. En Herramientas y ajustesCopias de seguridad, puedes activar la opción de cifrado con una contraseña.

Esto no protege los archivos en el servidor, pero evita que si alguien roba un backup, pueda leer las credenciales de tus archivos sensibles.


Preguntas frecuentes (FAQ)

¿Puedo usar estos mismos pasos en otros paneles como Syspanel?

Sí, la mayoría de los pasos son válidos en cualquier panel basado en Linux. Si usas Syspanel (antes conocido como HestiaCP), el proceso es similar aunque la interfaz cambia. Recuerda que el acceso a Syspanel se hace por el puerto 2106 (por ejemplo, https://tu-servidor:2106). Los permisos y las reglas de Apache/Nginx funcionan igual.

¿Qué hago si mi web deja de funcionar después de aplicar las reglas?

Revisa si has bloqueado un archivo que PHP necesita ejecutar. Por ejemplo, no bloquees index.php ni wp-login.php. Empieza con reglas solo para .env, .log y .sql. Ve probando poco a poco.

¿Es suficiente con los permisos 640?

Es un buen comienzo, pero no es suficiente. Los permisos protegen a nivel de sistema operativo, pero el servidor web corre con el mismo usuario que PHP. Si el atacante explota una vulnerabilidad en tu aplicación, puede leer archivos con los permisos del usuario del sitio. Por eso necesitas las reglas de Apache/Nginx y ModSecurity.

¿Debo renombrar config.php?

Renombrar no sirve de nada porque la aplicación lo busca por nombre. Mejor céntrate en bloquear el acceso directo.

¿Qué pasa si tengo múltiples dominios en Plesk?

Debes aplicar las reglas en cada dominio por separado. Puedes usar Plantillas de hosting para que los nuevos dominios hereden la configuración de seguridad.


Resumen rápido de acciones

Para terminar, aquí tienes una lista de verificación rápida para proteger archivos Plesk:

  • Cambia los permisos de config.php y .env a 640.
  • Añade reglas de denegación en Apache y Nginx.
  • Desactiva el listado de directorios con Options -Indexes.
  • Activa la protección de directorios para carpetas sensibles.
  • Habilita ModSecurity con reglas OWASP.
  • Revisa los logs de acceso periódicamente.
  • Cifra tus copias de seguridad.

Con esto, tu web estará mucho más segura. No hace falta ser un experto en ciberseguridad para aplicar estas medidas. Son sencillas, rápidas y muy efectivas.

Si tienes dudas sobre algún paso, vuelve a leer la sección correspondiente o consulta con tu proveedor de hosting. La seguridad de tus archivos sensibles es cosa tuya, pero con estas herramientas tienes todo a tu favor.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel