Buscar..


Observaciones

Los sitios web de WordPress son frecuentemente hackeados. Este tema es para técnicas y prácticas que aumentan la seguridad de su instalación de WordPress más allá de lo que se logra en una instalación básica.

Además de este tema, otro buen lugar para leer acerca de cómo asegurar una instalación de WordPress es la página del Codex de WordPress de Hardening .

Deshabilitar el editor de archivos

El editor de archivos que viene con WordPress es un riesgo de seguridad. Si un atacante obtiene acceso de administrador a su sitio web de WordPress, podrá insertar fácilmente código malicioso en los archivos de temas y complementos. También es un riesgo para los clientes que no saben lo que están haciendo. Una vez colocados dos puntos en el editor de archivos, se puede romper un sitio y hacerlo inaccesible desde el navegador.

En su archivo wp-config.php WordPress, deshabilite el editor de archivos agregando la siguiente línea de código.

define( 'DISALLOW_FILE_EDIT', true );

Esa línea tendrá el efecto deseado cuando se agregue también al archivo functions.php su tema, pero es mejor agregarlo a wp-config.php .

Si está utilizando WordPress CLI para instalar WordPress, puede usar el siguiente comando para crear un archivo wp-config.php con la edición de archivos deshabilitada.

/* declare variables beforehand or substitute strings in */
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU --extra-php <<PHP
define( 'DISALLOW_FILE_EDIT', true );
PHP

Este método es útil si instala WordPress con una secuencia de comandos.

Mueve wp-config.php

La información más confidencial de una instalación de WordPress se almacena en el archivo wp-config.php . Si un pirata informático obtiene acceso a este archivo, tendrá el control total de su sitio web.

Por defecto, wp-config.php se almacena en la carpeta de instalación de WordPress. Para hacer que este archivo sea más difícil de robar, puede sacarlo de la carpeta accesible desde la web. Si lo mueve solo una carpeta arriba, WordPress lo encontrará automáticamente. Si mueve wp-config.php a una ubicación diferente, cree un archivo vacío llamado wp-config.php en la carpeta de instalación de WordPress. Luego agregue lo siguiente:

define('ABSPATH', dirname(__FILE__) . '/');
// '../../wp-config.php' defines location two folders above installation folder.
// Substitute with actual location of wp-config.php file as necessary.
require_once(ABSPATH . '../../wp-config.php');

Es posible que deba hacer php ejecutable en la carpeta donde coloca wp-config.php. Debe hacer php ejecutable en la menor cantidad de carpetas posible. Un buen sistema coloca la instalación de WordPress en /path/to/wordpress/install/ y la configuración en /path/to/wordpress/config . Asegúrate de que la carpeta de configuración no sea accesible desde la web y no coloques ninguna otra información confidencial que se coloque en /path/to/ o superior en la jerarquía de carpetas. En ese caso, escribiría una línea similar a la siguiente en su php.ini :

open_basedir = "/path/to/wordpress/install/;/path/to/wordpress/config"

Esta técnica es controvertida y algunas personas no creen que mejore la seguridad. Se puede leer una amplia discusión sobre el tema en esta pregunta de WordPress StackExchange .

Establecer un prefijo personalizado para las tablas de WordPress

Cuando instala WordPress en su servidor, la secuencia de comandos de instalación colocará un prefijo delante de todos los nombres de las tablas de WordPress MySQL. Este prefijo se establece en 'wp_' por defecto. La tabla de publicaciones de WordPress se llamará wp_posts por ejemplo. Al cambiar el prefijo de la tabla, puede crear cierta seguridad por oscuridad. De esta manera, cuando un pirata informático intente ataques de inyección de SQL, tendrá que adivinar el prefijo de su tabla en lugar de simplemente usar 'wp_'. Puedes configurar este prefijo para que sea lo que quieras.

Establecer Prefijo en Nueva Instalación de WordPress

Si utiliza la famosa instalación de 5 minutos, cambie el prefijo en el campo durante la instalación.

introduzca la descripción de la imagen aquí

Si realiza la instalación a través de la CLI de WordPress use el siguiente comando:

// set other variables above, or substitute your strings in.
WP_DBPREFIX=foo
wp core config --dbname="$MYSQL_DBNAME" --dbuser="$MYSQL_USERNAME" --dbpass="$MYSQL_PASS" --dbprefix="$WP_DBPREFIX"_ --locale=en_AU

Cambiar prefijo en una instalación existente

Cambiar el prefijo es un poco más difícil. Primero use un programa FTP como FileZilla para editar el archivo wp-config.php . Cambie la entrada $table_prefix = 'wp_'; a $table_prefix = 'foo_'; sustituyendo 'foo' por su prefijo deseado.

A continuación tendremos que editar la base de datos. Si tiene acceso a phpMyAdmin, inicie sesión y haga lo siguiente:

  • Seleccione la base de datos de WordPress introduzca la descripción de la imagen aquí
  • Seleccione todas las tablas y en el menú desplegable seleccione reemplazar el prefijo de la tabla. introduzca la descripción de la imagen aquí
  • En "De" escriba 'wp_'. En "Para" escriba su prefijo, 'foo_' en este ejemplo y presione "Enviar". introduzca la descripción de la imagen aquí
  • Las tablas ahora deberían verse así: introduzca la descripción de la imagen aquí

Si no puede usar phpMyAdmin, use el siguiente comando MySQL:

RENAME table `wp_comments` TO `foo_comments`

Tendrá que ejecutar ese comando para cada tabla, sustituyendo 'comentarios' por los otros nombres de tabla.

A continuación necesitamos cambiar algunas entradas en algunas tablas. Ejecute esta consulta en la tabla 'foo_options'

SELECT * FROM  foo_options WHERE option_name LIKE '%user_roles%'

Debe aparecer una entrada con option_name de 'wp_user_roles'. En esa entrada, cambie la entrada ' wp_user_roles ' de wp_user_roles a foo_user_roles .

Luego abre la tabla 'foo_usermeta' y encuentra cada entrada con 'wp_' en la parte delantera. introduzca la descripción de la imagen aquí y cambiarlo a 'foo_'. La cantidad de entradas que debe cambiar dependerá de cuántos usuarios tenga. introduzca la descripción de la imagen aquí

Eso debería ser todo lo que necesita para cambiar el prefijo en una instalación existente



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow