Cómo proteger archivos sensibles en DirectAdmin con permisos
Introducción: ¿Por qué es importante proteger tus archivos en DirectAdmin?
Imagina que tu sitio web es como una tienda física. Los archivos sensibles, como los de configuración de la base de datos, las claves de API o los datos de clientes, son como la caja fuerte del fondo. Si dejas la puerta abierta o le pones una cerradura débil, cualquiera podría entrar y llevarse lo más valioso. En el mundo del hosting, esa "cerradura" son los permisos de archivos. Un mal ajuste puede exponer tu información a ataques, inyecciones de código o incluso al robo completo de tu sitio.
En esta guía completa sobre DirectAdmin permisos, te explicaré paso a paso cómo proteger archivos sensibles con permisos seguros. Aprenderás a configurar correctamente los niveles de acceso, identificar qué archivos son críticos y aplicar las mejores prácticas de seguridad archivos. No necesitas ser un experto técnico; solo sigue las instrucciones y tendrás tu sitio mucho más protegido. ¡Empecemos!
¿Qué son los permisos de archivos y por qué son clave en la seguridad?
Cada archivo y carpeta en tu servidor tiene un "dueño" y un conjunto de permisos que determinan quién puede leer, escribir o ejecutar ese archivo. En sistemas Linux (que es lo que usa DirectAdmin), estos permisos se representan con números del 0 al 7, agrupados en tres dígitos (por ejemplo, 644 o 755). Cada dígito corresponde a:
- Usuario (owner): Tú o el usuario principal del hosting.
- Grupo (group): Un conjunto de usuarios (por ejemplo, el grupo del servidor web).
- Otros (others): Cualquier persona que acceda al servidor (como visitantes de tu web).
El número indica el nivel de acceso:
- 4: Solo lectura.
- 5: Lectura y ejecución.
- 6: Lectura y escritura.
- 7: Lectura, escritura y ejecución.
¿Por qué es peligroso tener permisos incorrectos?
Si un archivo de configuración (como wp-config.php en WordPress) tiene permisos 777 (acceso total para todos), cualquier script malicioso o usuario no autorizado podría modificarlo, leer tus contraseñas o incluso borrar tu sitio. Por eso, DirectAdmin guía siempre recomienda usar el principio de "mínimo privilegio": dar solo los permisos necesarios para que el archivo funcione.
Identificando archivos sensibles en tu hosting
Antes de cambiar permisos, debes saber qué archivos son críticos. Aquí tienes una lista de los más comunes:
- Archivos de configuración del CMS:
wp-config.php(WordPress),configuration.php(Joomla),settings.php(Drupal). - Archivos de base de datos: Cualquier archivo
.sqlo de respaldo. - Archivos de claves y secretos:
.env(Laravel),config.phpcon credenciales de API. - Archivos de logs: Carpeta
/logso archivos comoerror.log. - Archivos de instalación:
install.php,upgrade.php(que deberías eliminar tras usarlos). - Archivos de administración:
admin.php,login.php(aunque estos suelen necesitar ejecución).
Regla general: Si el archivo contiene datos que no quieres que nadie vea o modifique, debe tener permisos restrictivos.
Cómo cambiar permisos en DirectAdmin paso a paso
DirectAdmin ofrece varias formas de modificar los permisos. Te mostraré las dos más prácticas: desde el Administrador de Archivos y mediante FTP/SFTP.
Desde el Administrador de Archivos de DirectAdmin
- Accede a tu panel de DirectAdmin. Normalmente es
https://tudominio.com:2222. - Ve a Administrador de Archivos (suele estar en la sección "Herramientas Avanzadas" o directamente en el menú principal).
- Navega hasta la carpeta donde está el archivo sensible (por ejemplo,
public_htmlpara WordPress). - Selecciona el archivo haciendo clic en la casilla junto a él.
- En la barra superior, haz clic en el botón "Cambiar permisos" (puede tener un ícono de candado o un engranaje).
- Se abrirá una ventana con tres columnas: Usuario, Grupo y Otros. Marca o desmarca las casillas según los permisos que quieras:
- Lectura (R) – Permite ver el contenido.
- Escritura (W) – Permite modificar o borrar.
- Ejecución (X) – Permite ejecutar el archivo (solo para scripts o programas).
- También puedes escribir el número directamente (por ejemplo, 644). Haz clic en Guardar.
[TIP] Para la mayoría de archivos sensibles, usa 644 (lectura y escritura para el usuario, solo lectura para grupo y otros). Para carpetas, 755 (lectura y ejecución para todos, escritura solo para el usuario).
Usando FTP/SFTP con un cliente como FileZilla o Cyberduck
- Conéctate a tu servidor usando SFTP (más seguro que FTP). Los datos de conexión los encuentras en DirectAdmin bajo "Acceso FTP".
- Navega hasta el archivo deseado.
- Haz clic derecho sobre el archivo y selecciona "Permisos de archivo..." (o similar).
- Se abrirá una ventana con casillas y un campo numérico. Ajusta según necesites.
- Haz clic en Aceptar.
[WARNING] Nunca uses permisos 777 (rwx para todos) en archivos de producción. Solo es aceptable temporalmente en carpetas de subida de archivos (como wp-content/uploads) y con mucho cuidado.
Permisos seguros recomendados para archivos y carpetas comunes
Aquí tienes una tabla práctica que resume los permisos ideales para diferentes elementos:
| Elemento | Permiso recomendado | Explicación |
|---|---|---|
| Archivos de configuración (wp-config.php, .env) | 600 o 640 | Solo el usuario puede leer/escribir. Grupo solo lectura (640) si es necesario. |
| Archivos PHP (index.php, funciones) | 644 | Lectura para todos, escritura solo para el usuario. |
| Carpetas de temas/plugins | 755 | Lectura y ejecución para todos, escritura solo para el usuario. |
| Carpeta de subidas (uploads) | 755 (carpeta) y 644 (archivos) | Permite que los visitantes vean imágenes, pero no modifiquen nada. |
| Archivos de logs | 600 | Solo el usuario debe poder leerlos. |
| Archivos de respaldo (.sql, .zip) | 600 o incluso 400 | Solo lectura para el usuario, nunca escritura para otros. |
| Archivos ejecutables (cron, scripts) | 755 | Ejecución para todos, escritura solo para el usuario. |
[INFO] Si usas un CMS como WordPress, algunos plugins de seguridad (como Wordfence) pueden sugerir cambios específicos. Siempre verifica dos veces antes de aplicar cambios masivos.
Cómo proteger archivos sensibles con .htaccess (medida extra)
Además de los permisos de archivo, puedes agregar una capa de seguridad usando el archivo .htaccess (si tu servidor usa Apache). Esto es especialmente útil para bloquear el acceso directo a archivos críticos.
Por ejemplo, para proteger wp-config.php, agrega estas líneas a tu .htaccess en la raíz:
<Files wp-config.php>
order allow,deny
deny from all
</Files>
Esto evitará que cualquier visitante pueda acceder al archivo directamente desde el navegador (por ejemplo, tudominio.com/wp-config.php). Puedes hacer lo mismo con otros archivos sensibles.
[WARNING] No bloquees archivos que tu sitio necesita para funcionar, como index.php o archivos de plugins. Prueba siempre después de hacer cambios.
Errores comunes al configurar permisos (y cómo evitarlos)
Error 1: Usar 777 en todo "por si acaso"
Problema: Dejas tu sitio completamente abierto a ataques.
Solución: Aplica el principio de mínimo privilegio. Solo usa 777 temporalmente en carpetas de subida y revísalo después.
Error 2: Cambiar permisos de toda la carpeta public_html a 755
Problema: Algunos archivos de configuración quedarán legibles para todos.
Solución: Cambia permisos de archivos individualmente. Usa comandos como find si sabes SSH, o hazlo manualmente desde el administrador.
Error 3: Olvidar proteger archivos de respaldo
Problema: Los backups suelen tener permisos 644 o 755 y pueden ser descargados por cualquiera.
Solución: Mueve los backups fuera del directorio público (por ejemplo, a /home/usuario/backups) o protégelos con .htaccess.
Error 4: No verificar después de instalar un CMS
Problema: Muchos instaladores automáticos dejan permisos inseguros.
Solución: Después de instalar WordPress, Joomla, etc., revisa y ajusta los permisos según esta guía.
Preguntas frecuentes (FAQ) sobre DirectAdmin permisos
¿Cuál es el permiso más seguro para wp-config.php?
Respuesta: 600 es lo ideal. Si tu servidor necesita que el grupo lea el archivo (por ejemplo, en configuraciones con múltiples usuarios), usa 640.
¿Puedo usar 777 en la carpeta uploads de WordPress?
Respuesta: Sí, pero solo temporalmente durante la instalación de plugins o temas. Después, cámbiala a 755 para la carpeta y 644 para los archivos dentro. Si tu sitio tiene problemas de subida, revisa el dueño del archivo (debe ser el usuario del hosting).
¿Qué hago si después de cambiar permisos mi web deja de funcionar?
Respuesta: Vuelve a los permisos anteriores (por ejemplo, 755 para carpetas y 644 para archivos). Luego, cambia de uno en uno para identificar cuál causó el problema. Generalmente, los archivos PHP necesitan al menos 644.
¿Cómo protejo archivos en HestiaCP (Syspanel)?
Respuesta: Si usas Syspanel (HestiaCP), el proceso es similar. Accede por el puerto 2106 (por ejemplo, https://tudominio.com:2106), ve al Administrador de Archivos y sigue los mismos pasos. Los permisos recomendados son idénticos.
¿Es necesario cambiar permisos si uso un CDN o Cloudflare?
Respuesta: Sí, porque el CDN solo oculta tu IP, pero los archivos siguen en tu servidor con los permisos que tengas. Un atacante podría acceder directamente si los permisos son débiles.
Conclusión: La seguridad de archivos es un hábito, no un evento
Proteger archivos sensibles en DirectAdmin con permisos seguros no es algo que haces una vez y olvidas. Es un proceso continuo: cada vez que instalas un plugin, actualizas un tema o subes un archivo de configuración, debes verificar los permisos. Con esta DirectAdmin guía, ya tienes las herramientas para hacerlo correctamente.
Recuerda los puntos clave:
- Usa permisos 600 o 640 para archivos de configuración y claves.
- Usa 755 para carpetas y 644 para archivos públicos.
- Nunca uses 777 en producción sin supervisión.
- Complementa con .htaccess para bloquear accesos directos.
- Revisa periódicamente tus archivos, especialmente después de actualizaciones.
Si sigues estos consejos, tu sitio será mucho más resistente a ataques comunes. Y si tienes dudas, recuerda que el soporte de tu hosting siempre puede ayudarte. ¡La seguridad empieza por ti!
[TIP] Guarda esta guía o imprímela. La próxima vez que instales un CMS, tenla a mano para configurar los permisos desde el primer día.
