Permisos de archivos y carpetas correctos para la seguridad de WordPress

Un punto importante para una correcta configuración de WordPress es que los archivos y las carpetas tengan los permisos correctos. Al configurar adecuadamente las carpetas, podemos evitar que se ejecuten scripts en directorios donde no es necesario. Por ejemplo, la carpeta wp-content/uploads no debería permitir la ejecución de archivos .php para evitar que se ejecuten scripts maliciosos subidos por atacantes.

Configuraciones en archivos como .htaccess y wp-config.php pueden ayudar a proteger contra ataques como la inyección de SQL, cross-site scripting (XSS) y ejecución remota de código.

Permisos correctos

  • Carpetas en 755 (drwxr-xr-x), propietario (usuario) puede leer, escribir y ejecutar; grupo y otros pueden leer y ejecutar, pero no pueden escribir.
  • Archivos en 644 (-rw-r--r--), propietario puede leer y escribir; grupo y otros solo pueden leer.
  • El archivo wp-config.php 600 (-rw-------), propietario puede leer y escribir, grupo y otros no tienen ningún acceso.
  • El archivo .htaccess podría tener 644.

Cómo cambiar los permisos

Podes cambiar los permisos de las carpetas y los archivos de tres maneras distintas:

  • Por FTP con una herramienta como Filezilla.
  • Por SSH a través de la consola.
  • A través del gestor de archivos del panel del servidor.

Podés ver más información sobre los permisos de archivos en Wikipedia.

Deshabilitar las listas de directorios

Cuando se escribe la dirección de una de las carpetas del sitio en el navegador, se mostrará el archivo llamado index.html, si existe. Si no existe, se le mostrará una lista de archivos en esa carpeta. Esto se conoce como exploración de directorios y es algo que los atacantes pueden usar para conocer la existencia de ciertos archivos, robar información o saber versiones de las herramientas que estamos usando.

Para corregir esto podemos agregar al .htaccess de la raíz la siguiente línea:

Options -Indexes

Evitar la ejecución de archivos en wp-uploads

Otra buena manera de mantener la configuración de nuestro servidor segura es deshabilitando la ejecución de archivos .php en directorios donde no es necesario, sobre todo en wp-uploads. Esto podemos hacerlo directamente creando un archivo .htaccess con la siguientes líneas en esta carpeta o cualquier otra que consideremos:

<Files *.php>
deny from all
</Files>

Sobre el autor