Permisos de archivos de WordPress: la guía para configurar permisos seguros de sitios web y servidores web

Publicado: 2020-07-02

WordPress puede ejecutarse prácticamente en cualquier sistema operativo que ejecute PHP. Sin embargo, la gran mayoría de los sitios web de WordPress se ejecutan en Linux. Por lo tanto, es importante que comprenda los permisos de archivos de Linux.

Es crucial obtener los permisos de archivo correctos. Establecer permisos de archivo incorrectos puede abrir su sitio web para un ataque. Los permisos de archivo incorrectos pueden permitir que los usuarios no autorizados obtengan acceso a archivos y datos potencialmente confidenciales. Dichos datos se pueden usar como trampolín para un ataque más grande.

Como administrador de WordPress, los permisos de archivo pueden parecer un poco desalentadores, especialmente si es nuevo en Linux. ¡No temáis! Esta guía explica qué permisos de archivos en Linux son desde cero. También explica cómo se aplican los permisos de archivos de Linux a su sitio web de WordPress.

Tabla de contenidos

  • ¿Qué son los permisos de archivo?
    • Grupos de permisos
    • Tipos de permisos
  • Representación de permisos
  • Permisos de archivo de WordPress recomendados
  • Cómo arreglar los permisos de archivos de WordPress
    • En un servicio de alojamiento compartido
    • a través de FTP
    • a través de SSH
  • Consejo adicional: seguridad más allá de los permisos de archivos

¿Qué son los permisos de archivo?

Grupos de permisos

Todo comienza con quién . Como cualquier otro sistema operativo, Linux tiene un concepto de usuarios y grupos . Al definir quién tiene acceso a un archivo, cada archivo y directorio en un sistema Linux tiene tres grupos de permisos.

  • Dueño
    • Cada archivo o directorio tiene un propietario.
    • Los permisos de propietario se aplican solo al propietario del archivo o directorio. No afectarán las acciones de otros usuarios.
  • Grupo
    • A cada archivo o directorio se le puede asignar un grupo de usuarios a los que se les concede acceso.
    • Los permisos de grupo se aplican solo al grupo que se ha asignado al archivo o directorio. No afectarán las acciones de otros usuarios.
  • Otro
    • Cada archivo o directorio puede definir qué permisos tiene “todos los demás”. Es decir, al margen del propietario o del grupo que establezcamos.
    • Los demás permisos se aplican a todos los demás usuarios del sistema. Este es el grupo de permisos que más desea ver, ya que, sin saberlo, puede permitir el acceso a todos.

tipos de permisos

Ahora que sabemos cómo especificar quién tiene acceso a un archivo o directorio, debemos elegir qué tipo de permisos le damos a cada propietario , grupo y otros para los archivos o directorios. Los siguientes son los tipos de permisos que podemos otorgar a un grupo de permisos ( propietario , grupo , otro ):

  • Leer
    • El tipo de permiso de lectura se refiere a la capacidad de un usuario para leer el contenido del archivo.
  • Escribir
    • El permiso de escritura se refiere a la capacidad de un usuario para escribir y/o modificar el contenido del archivo.
    • Es posible permitir que un usuario escriba en un archivo sin que tenga la capacidad de leer su contenido.
  • Ejecutar
    • El permiso de ejecución afecta la capacidad de un usuario para ejecutar un archivo, por ejemplo, un script.
    • El permiso de ejecución también permite a un usuario ver el contenido de un directorio.

Representación de permisos

Ahora que comprendemos cómo funcionan los permisos, veamos cómo se representaría realmente un permiso de Linux. Los permisos de archivo se almacenan como una serie de 3 números. Sin embargo, también se pueden representar como letras, lo que las hace un poco más fáciles de leer. Primero comprendamos qué significan estos números.

  1. Primer número
    • Permisos otorgados al propietario
  2. segundo numero
    • Permisos otorgados al grupo.
  3. tercer numero
    • Permisos otorgados a otros (todos los demás, excepto el propietario y el grupo )

Cada número corresponde a una combinación de uno o más tipos de permisos que discutimos anteriormente. Entender esto es mucho más fácil cuando se visualiza. Cada tipo de permiso tiene un peso que se suma para cada grupo de permisos .

Los permisos de archivos y directorios de Linux

¿Confundido? Puede tomar un tiempo y algo de práctica entenderlo. Mientras tanto, aquí hay una tabla de todos los posibles permisos de archivo que puede asignar a cada grupo de permisos .

Número Letras Descripción
0 (0+0+0) --- Sin acceso
1 (0+0+1) --X Ejecutar
2 (0+2+0) -w- Escribir
3 (0+2+1) -wx Escribir y ejecutar
4 (4+0+0) r-- Leer
5 (4+0+1) receta Leer y ejecutar
6 (4+2+0) rw- Lee y escribe
7 (4+2+1) rwx Leer, escribir y ejecutar

Para ver un ejemplo concreto, un permiso de archivo 644 significa

  • permiso del propietario para leer y escribir el archivo o directorio
  • el grupo tiene permiso para leer el archivo o directorio
  • otro tiene permiso para leer el archivo o directorio

Los permisos del archivador 644 explicados

Por lo general, verá estos valores representados sin espacios intermedios y con una o d adicional al principio. El denota un archivo regular. d denota un directorio. El siguiente es un ejemplo de esto usando el comando Linux ls -la para listar archivos en un directorio.

 $ ls-la
total 0
drwxr-xr-x 4 grupo de usuarios 128 25 de mayo 23:25 .
drwxrwxrwt 8 rueda raíz 256 25 de mayo 23:25 ..
drwxr-xr-x 2 grupo de usuarios 64 25 de mayo 23:25 directorio
-rw-r--r-- 1 grupo de usuarios 0 25 de mayo 23:25 archivo.txt

Permisos de archivo de WordPress recomendados

Establecer permisos de archivo de WordPress incorrectos podría resultar en otorgar acceso accidentalmente a otros usuarios de los que desea. En el peor de los casos, esto puede permitir que un atacante cambie el contenido de un archivo importante al que no debe tener acceso. También puede permitir que cualquier usuario de Internet lea archivos confidenciales dentro de su instalación de WordPress.

Esta es la razón por la que nunca debe establecer los permisos de archivo de WordPress en 777 (-rwxrwxrwx). Esto permitiría acceso completo de lectura, escritura y ejecución a cualquiera que esté en condiciones de controlar ese archivo. Podría ser un tercero que realiza cambios a través de FTP o SSH, o un atacante a través de un formulario de carga.

Por otro lado, debe tener cuidado de no hacer que las cosas sean demasiado restrictivas para que WordPress haga su trabajo. Dado que el propio WordPress, así como los temas y los complementos, a menudo necesitarán realizar cambios de forma segura en varios archivos. Por ejemplo, cuando WordPress se actualiza automáticamente para mantener su sitio a salvo de vulnerabilidades de seguridad.

Entonces, por el bien del argumento, un permiso de 444 (-r–r–r–) puede causar que su sitio web de WordPress no funcione correctamente. Con 444 WordPress solo podrá leer , por lo que las actualizaciones automáticas fallarán . Dicho esto, es posible ejecutar WordPress con permisos de solo lectura ( 444 o r–r–r–). Será una instalación muy sucre. Sin embargo, deberá tener en cuenta las limitaciones antes mencionadas.

Algunos proveedores de alojamiento administrado de WordPress admiten esto de forma inmediata. Aunque si desea ejecutar WordPress con dichos permisos, primero pruébelo en el entorno de ensayo.

Los permisos de archivo recomendados por WordPress son los siguientes.

Escribe Números Letras Descripción
directorios 755 drwx-wx-wx Directorios de instalación de WordPress
archivos 644 -rwxr--r-- Núcleo de WordPress, temas y complementos de WordPress (se pueden aplicar excepciones a algunos temas y complementos)
wp-config.php 600 -rw------- El archivo de configuración de WordPress
.htaccess 644 o
600
-rw-r--r--
-rw-------
Archivo de configuración del servidor HTTP Apache (es posible que no se aplique si está ejecutando Nginx o un servidor web que no sea el servidor HTTP Apache)

Cómo arreglar los permisos de archivos de WordPress

Si bien un entorno de alojamiento difiere de otro, siempre tendrá una forma de controlar los permisos de los archivos de WordPress.

Arreglando los permisos de archivos de WordPress a través de su panel de control de alojamiento compartido

Si está utilizando alojamiento compartido, es probable que tenga acceso a algún panel de control como cPanel o Plesk. En este caso, consulte con su proveedor de alojamiento sobre los pasos que debe seguir para modificar los permisos de archivo en su sitio de WordPress.

Corrección de permisos de archivos de WordPress a través de FTP

La reparación de los permisos de archivos de WordPress se puede hacer fácilmente a través de un cliente FTP como FileZilla o Cyberduck. La siguiente captura de pantalla es de Cyberduck. Simplemente haga clic derecho en el archivo o directorio para el que desea cambiar los permisos, haga clic en Información y luego haga clic en la pestaña Permisos .

El proceso es similar en Filezilla. Haga clic con el botón derecho en el archivo, seleccione Permisos de archivo y se le presentará un cuadro de diálogo similar.

Cambio de permisos de archivo con un cliente FTP

Corrección de permisos de WordPress a través de SSH

Si ya está utilizando un cliente SSH, puede ejecutar el comando chmod de Linux para modificar los permisos de los archivos. Tomando el mismo ejemplo anterior, para cambiar los permisos de wp-config.php de 644 a 600 , usaríamos los siguientes comandos:

 # cambie el directorio a la ubicación de su instalación de WordPress
$ cd /var/www/html
# enumera los detalles del archivo de wp-config.php
$ ls -la wp-config.php
-rw-r--r-- 1 www-data www-data 7368 2 de septiembre de 2019 wp-config.php
# cambiar los permisos de wp-config.php del actual 644 a 600
$ chmod 600 wp-config.php
# verificar su cambio
$ ls -la wp-config.php
-rw------- 1 www-data www-data 7368 2 de septiembre de 2019 wp-config.php

Los permisos de archivo de WordPress correctamente configurados significan un sitio web más seguro

Recapitulemos lo que se cubrió. Vimos que los permisos de archivo nos permiten especificar quién y cómo se puede acceder y/o modificar un archivo o directorio en un sistema Linux. También discutimos cómo cambiar los permisos tanto usando un cliente SFTP como a través de SSH. Sin embargo, lo más importante que discutimos es por qué debe tener cuidado de establecer correctamente los permisos de archivo en su sitio web de WordPress.

Aunque puede ser un proceso tedioso al principio, los permisos de archivo incorrectos pueden exponer archivos confidenciales en su sitio web de WordPress. Además, pueden permitir que un atacante escale una vulnerabilidad de baja gravedad a una más peligrosa dadas las circunstancias adecuadas.

Ahora que comprende mejor cómo funcionan los permisos de archivo en Linux y cómo afectan la seguridad de su sitio de WordPress, use esta información para reforzar cualquier permiso de archivo de WordPress que sea demasiado liberal.

Consejos de seguridad adicionales: más allá de los permisos de archivos de WordPress

Los permisos correctos de archivos de WordPress son un excelente lugar para comenzar a trabajar con respecto a la seguridad de WordPress. Sin embargo, están lejos de ser lo único de lo que preocuparse. Otras cosas que debe hacer para mejorar la postura de seguridad de su sitio web de WordPress son:

  • Mantenga un registro de todo lo que sucede en su sitio en un registro de actividad de WordPress,
  • Use un complemento de monitor de integridad de archivos de WordPress,
  • Hacer cumplir fuertes políticas de contraseñas de WordPress,
  • Agregue autenticación de dos factores a su sitio web de WordPress,
  • Instale un firewall de WordPress / use un servicio de firewall de WordPress en línea.