Guía · 3 min de lectura

Lista de refuerzo de WordPress con correcciones para copiar y pegar

Lo que más importa son las actualizaciones. Después, estos pequeños cambios cierran las puertas que los atacantes prueban primero.

Actualizado el · HackGrade

El código y la configuración se mantienen en inglés.

1. Mantén todo actualizado

Activa las actualizaciones automáticas de plugins y temas (Plugins → Activar actualizaciones automáticas). Elimina lo que no uses: los plugins desactivados también se pueden explotar.

2. Desactiva el editor de archivos integrado

Añade esto a wp-config.php, encima de /* That’s all, stop editing! */:

wp-config.php
define( 'DISALLOW_FILE_EDIT', true );

3. Bloquea XML-RPC (si no lo usas)

Jetpack y algunas apps móviles usan XML-RPC. Si tú no, bloquéalo en el servidor:

.htaccess
<Files "xmlrpc.php">
  Require all denied
</Files>
nginx
location = /xmlrpc.php { deny all; }

4. Deja de mostrar nombres de usuario

Oculta la lista de usuarios de la API REST a los visitantes sin sesión iniciada (como plugin must-use en wp-content/mu-plugins/):

PHP
<?php
add_filter( 'rest_endpoints', function ( $endpoints ) {
    if ( ! is_user_logged_in() ) {
        unset( $endpoints['/wp/v2/users'], $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
    }
    return $endpoints;
} );

Comprueba también que los archivos de autor (/?author=1) no revelan nombres de inicio de sesión. Configura el “Mostrar este nombre públicamente” de cada usuario con algo distinto del nombre de acceso.

5. Nada de PHP en uploads

La carpeta uploads solo debería contener archivos multimedia. Pon esto en wp-content/uploads/.htaccess:

.htaccess
<FilesMatch "\.(php|phtml|phar)$">
  Require all denied
</FilesMatch>
nginx
location ~* ^/wp-content/uploads/.*\.(php|phtml|phar)$ { deny all; }

6. Protege wp-config.php y los accesos

  • Haz que wp-config.php solo lo pueda leer su propietario (permisos 600 o 640, según tu hosting).
  • No dejes nunca copias wp-config.php.bak, .old o .zip en la raíz web.
  • Usa autenticación de dos factores y limita los intentos de inicio de sesión de las cuentas de administrador.
  • Mantén WP_DEBUG_DISPLAY desactivado en producción, para que los errores nunca se muestren en pantalla.

Fuentes

Guías relacionadas

Gratis · Al instante · Sin registro

Conoce tu nota antes que nadie.

Análisis pasivo. Nada se ataca sin tu permiso.

Empieza gratis. Planes de pago desde 12 $ al mes, o un informe único por 29 $. Ver precios