• WordPress

Cómo proteger un sitio WordPress contra amenazas reales

  • Felix Rose-Collins
  • 23 min read

Introducción

La mayoría de los ataques a WordPress no son obra de alguien que vaya a por tu sitio web. Suelen ser bots automatizados que rastrean Internet en busca de puntos débiles comunes, como un plugin desactualizado, un inicio de sesión poco seguro o una configuración que se ha dejado abierta. Si tu sitio web parece fácil de piratear, los bots pueden empezar a intentarlo en cuestión de minutos.

No necesitas tener conocimientos de ingeniería de seguridad para protegerlo. Solo necesitas unas cuantas medidas básicas de protección que funcionen bien juntas. Bloquea los ajustes clave de WordPress. Añade reglas de servidor. Mantén todo actualizado. Haz que las copias de seguridad y la supervisión sean imprescindibles. Así detectarás los problemas a tiempo y te recuperarás rápidamente, en lugar de descubrir los daños semanas más tarde.

Esta guía es práctica. Empezamos con conceptos básicos de gran impacto y luego pasamos a un refuerzo más profundo.

Ataques de seguridad comunes en sitios de WordPress {#common-security-attacks-on-wordpress-sites}

La mayoría de los ataques a WordPress siguen un patrón familiar. Los bots exploran primero los puntos de entrada habituales y luego pasan a lo que sea más fácil de explotar.

Common Security Attacks on WordPress Sites

Estos son los riesgos más comunes con los que te encontrarás en sitios web de WordPress reales.

Fuerza bruta {#brute-force}

La fuerza bruta funciona porque es fácil de automatizar y sigue dando resultados. En lugar de adivinar una contraseña, los bots prueban miles de nombres de usuario y contraseñas por minuto en las páginas de inicio de sesión. El relleno de credenciales es aún más eficaz porque utiliza credenciales filtradas de otras brechas de seguridad. Si las credenciales filtradas coinciden, se obtiene acceso de administrador al instante.

Cuando esto ocurre, verás picos de tráfico, redireccionamientos repetidos y muchos intentos de inicio de sesión fallidos en los registros de autenticación de los plugins o del servidor. Incluso sin que haya habido una filtración, esto consume recursos de la CPU, ralentiza tu sitio y satura tus registros.

Plugins y temas vulnerables {#vulnerable-plugins-and-themes}

Los problemas del núcleo de WordPress ocurren, pero los plugins y los temas suelen ser el verdadero problema. Los atacantes los tienen como objetivo porque la detección de versiones es fácil y el código de explotación se propaga rápidamente.

Conoce Ranktracker

La plataforma todo en uno para un SEO eficaz

Detrás de todo negocio de éxito hay una sólida campaña de SEO. Pero con las innumerables herramientas y técnicas de optimización que existen para elegir, puede ser difícil saber por dónde empezar. Bueno, no temas más, porque tengo justo lo que necesitas. Presentamos la plataforma todo en uno Ranktracker para un SEO eficaz

¡Por fin hemos abierto el registro a Ranktracker totalmente gratis!

Crear una cuenta gratuita

O inicia sesión con tus credenciales

Las señales de alerta incluyen plugins abandonados, copias gratuitas de herramientas premium y actualizaciones retrasadas. El impacto va desde la ejecución remota de código hasta el robo de bases de datos y las inyecciones de spam SEO.

Inyección de malware {#malware-injection}

El malware suele esconderse en lugares en los que se puede escribir o que pasan desapercibidos. Puede tratarse de un script malicioso colocado en wp-content/uploads/, un archivo de plugin modificado silenciosamente con código PHP desordenado, o código inyectado en la base de datos para que se propague a través de plantillas o entradas.

Entre los signos típicos se incluyen redireccionamientos exclusivos a dispositivos móviles, usuarios de administrador misteriosos, tareas cron extrañas, tareas programadas inusuales, picos de solicitudes salientes y advertencias de abuso de Search Console o del proveedor de alojamiento. A menudo conduce a infecciones repetidas, spam y riesgo de inclusión en listas negras.

Ataques de spam SEO {#seo-spam-attacks}

El spam SEO no siempre es visible para los humanos. Los atacantes añaden enlaces ocultos, páginas de spam o contenido que solo ven los rastreadores. Pueden inyectar spam en la base de datos, añadir mapas del sitio no autorizados o modificar el archivo .htaccess para servir contenido diferente a los bots.

Las primeras pistas suelen aparecer en los resultados de búsqueda: URL indexadas extrañas y caídas repentinas de tráfico. Tu dominio empieza a posicionarse por spam, y las páginas reales pierden visibilidad. La limpieza lleva más tiempo porque el spam suele estar disperso por toda la base de datos.

Inyección SQL {#sql-injection}

La inyección SQL se produce cuando un plugin o código personalizado envía datos inseguros a la base de datos. Los signos comunes incluyen extrañas cadenas de consulta en las URL, alertas de SQLi en los registros del cortafuegos y picos repentinos de carga en la base de datos. Puede dar lugar al robo de datos, cambios en el contenido y acceso persistente si los atacantes alteran los usuarios o la configuración.

Falsificación de solicitudes entre sitios {#cross-site-request-forgery}

La falsificación de solicitudes entre sitios (CSRF) se produce cuando estás conectado a WordPress y un plugin no ejecuta las comprobaciones de seguridad adecuadas. Un atacante puede engañarte para que hagas clic en un enlace que desencadena acciones como crear usuarios, cambiar correos electrónicos o actualizar la configuración.

Una señal de alerta es cualquier cambio administrativo que se produzca justo después de un clic y que no hayas realizado a propósito. Los registros pueden parecer normales porque se ejecuta a través de tu sesión, pero puede cambiar silenciosamente los permisos y dar lugar a una toma de control.

Cross-Site Scripting {#cross-site-scripting}

El Cross-Site Scripting (XSS) se produce cuando un plugin o un tema muestra contenido de usuario sin limpiarlo primero. El XSS almacenado es peor porque el código malicioso se guarda y puede ejecutarse más tarde, incluso en el área de administración, lo que permite a los atacantes cambiar la configuración, añadir usuarios o instalar plugins.

Es posible que veas scripts extraños en las entradas o en la configuración, redireccionamientos solo para usuarios registrados o cambios que no has realizado. Esto puede provocar el secuestro de sesiones y una infección persistente almacenada en la base de datos.

Fundamentos de seguridad básicos {#baseline-security-essentials}

Empieza por lo básico: elimina los puntos de entrada fáciles y haz que tu configuración sea más difícil de vulnerar por defecto.

Elige un alojamiento seguro para WordPress {#choose-a-secure-wordpress-hosting}

Puedes reforzar la seguridad de WordPress y aun así sufrir daños por un alojamiento débil. El alojamiento controla el entorno en el que se ejecuta tu sitio, y ese entorno afecta en gran medida a la seguridad.

Esto es lo que debe incluir un alojamiento centrado en la seguridad.

  • Aislamiento y valores predeterminados seguros

Si tu sitio web se aloja en un servidor saturado donde las cuentas pueden afectarse entre sí, ya empiezas con un riesgo adicional. Busca un aislamiento sólido de las cuentas, permisos de archivo sensatos y una configuración que no deje servicios de riesgo abiertos por defecto.

  • Protección a nivel de servidor

Un buen proveedor de alojamiento se encarga de las reglas del cortafuegos, el filtrado de bots, la aplicación de parches de seguridad y las configuraciones reforzadas. No deberías tener que iniciar sesión en un servidor y ajustar la configuración solo para que sea lo suficientemente seguro.

  • Copias de seguridad y restauraciones rápidas

Cuando algo sale mal, la rapidez es fundamental. Las copias de seguridad automáticas y las restauraciones rápidas salvan tu negocio.

  • Visibilidad

Los registros de acceso, los registros de errores y las métricas de rendimiento te ayudan a detectar ataques de fuerza bruta, problemas de PHP y picos de recursos antes de que se conviertan en interrupciones del servicio.

  • SSL

Los certificados SSL cifran los inicios de sesión y las sesiones para que los datos permanezcan privados durante la transmisión. El alojamiento seguro facilita la configuración de los certificados y su rotación automática para evitar problemas de caducidad.

Conoce Ranktracker

La plataforma todo en uno para un SEO eficaz

Detrás de todo negocio de éxito hay una sólida campaña de SEO. Pero con las innumerables herramientas y técnicas de optimización que existen para elegir, puede ser difícil saber por dónde empezar. Bueno, no temas más, porque tengo justo lo que necesitas. Presentamos la plataforma todo en uno Ranktracker para un SEO eficaz

¡Por fin hemos abierto el registro a Ranktracker totalmente gratis!

Crear una cuenta gratuita

O inicia sesión con tus credenciales

En las plataformas de WordPress gestionadas, ya existen muchas protecciones para detener las amenazas comunes antes de que lleguen a WordPress. Por ejemplo, el alojamiento gestionado de Cloudways incluye características de seguridad a nivel de plataforma como cortafuegos, copias de seguridad automatizadas, complementos WAF opcionales y SafeUpdates. Aun así, sigues siendo responsable de las actualizaciones y del control de acceso, pero partes de una base más segura.

Cloudways también ofrece migración de sitios web asistida por expertos, y la primera migración está incluida sin coste alguno.

Instala un certificado SSL {#install-an-ssl-certificate}

¿Alguna vez has visto el pequeño icono de un candado junto a la URL de un sitio web? Significa que tu sitio utiliza HTTPS. Indica a los visitantes que la conexión de tu sitio es segura y que sus datos están a salvo. Sin él, los hackers podrían interceptar datos confidenciales como la información de inicio de sesión o los datos de pago.

El SSL (Secure Sockets Layer) encripta los datos entre tu sitio web y sus visitantes. Protege ese tráfico para que las contraseñas y los datos de los clientes no se transmitan en texto sin cifrar. Tanto si gestionas un blog, una tienda o un portafolio, instalar un certificado SSL ya no es opcional; es esencial.

Elige tu opción SSL

La mayoría de los proveedores de alojamiento ofrecen una opción SSL gratuita que puedes activar con un par de clics. En Cloudways, puedes activar un certificado Let’s Encrypt gratuito directamente desde la plataforma.

Si necesitas un certificado orientado a empresas o una validación específica, también puedes adquirir uno de proveedores como DigiCert o Sectigo.

Genera una CSR

Una solicitud de firma de certificado (CSR) es la solicitud que tu servidor envía al proveedor de certificados. Normalmente verás una opción «Generar CSR» dentro del panel de control de tu alojamiento.

Añade los datos básicos, como tu dominio, el nombre de la organización y la ubicación, y luego genera la CSR. Tu proveedor la utiliza para emitir el certificado.

Verificar la propiedad del dominio

Antes de que se emita un certificado, tendrás que demostrar que eres el propietario del dominio. Dependiendo del proveedor, esto suele implicar una de estas acciones: confirmar un correo electrónico de verificación, añadir un registro DNS o subir un pequeño archivo de verificación. Una vez superada esta comprobación, se emite el certificado.

Instala el certificado

Instala o sube el certificado en el panel de control de tu alojamiento web. Busca una sección como «Gestión de SSL» o «Configuración de seguridad» y sigue las instrucciones para asociarlo al dominio correcto.

Install the certificate

Forzar HTTPS

Una vez instalado el SSL, asegúrate de que todo el tráfico se redirija a HTTPS de forma predeterminada. Esto garantiza que los visitantes siempre accedan a la versión segura de tu sitio.

Puedes hacerlo con un plugin como Really Simple SSL, o puedes forzar el uso de HTTPS para el panel de administración de WordPress con esta configuración en wp-config.php:

Actualiza los enlaces internos

Si tu sitio web sigue haciendo referencia a antiguas URL HTTP en la configuración o en la base de datos, los navegadores pueden mostrar advertencias de contenido mixto. Actualiza esos enlaces internos para que todo se cargue a través de HTTPS.

Más allá de la seguridad, SSL genera confianza y puede ayudar con el SEO. Es una mejora rápida que indica a los visitantes que te tomas en serio la privacidad.

Mantén actualizados WordPress, los temas y los plugins {#keep-wordpress-themes-and-plugins-updated}

Las actualizaciones son sinónimo de seguridad. La mayoría de las versiones corrigen vulnerabilidades conocidas. Una vez que una vulnerabilidad se hace pública, los bots escanean en busca de sitios que aún utilizan la versión antigua, y es ahí donde se producen las infecciones.

Actualiza el núcleo de WordPress

Las actualizaciones del núcleo suelen incluir correcciones de seguridad, incluso cuando la versión parece menor.

Update WordPress Core

Sigue estos pasos para actualizar el núcleo de WordPress:

  • Ve al panel de administración de WordPress → Actualizaciones.
  • En WordPress, haz clic en «Actualizar ahora » si hay una actualización disponible.
  • Una vez finalizada, abre tu sitio web y comprueba que se carga y que puedes iniciar sesión.

Una rutina de actualización práctica

  • Habilita las actualizaciones automáticas, al menos para las versiones menores.
  • Utiliza un entorno de pruebas para las actualizaciones importantes.
  • Reserva un periodo de mantenimiento mensual para la aplicación de parches y las comprobaciones de regresión.

Si eliges una plataforma de alojamiento como Cloudways, la función SafeUpdates programa las actualizaciones del núcleo de WordPress, los plugins y los temas a través de un flujo de trabajo de copia de seguridad y entorno de pruebas antes de aplicar los cambios al entorno de producción.

Actualizar temas

Sigue estos pasos para actualizar un tema de WordPress:

  • Ve al panel de administración de WordPress → Actualizaciones.

Updates

  • Si las actualizaciones de temas aparecen en la lista, marca las casillas y haz clic en «Actualizar temas».
  • Una vez finalizado el proceso, comprueba que la página de inicio, los menús y las páginas clave se carguen correctamente.

Elimina los plugins y temas que no utilices

Los plugins y temas inactivos permanecen en tu servidor. Elimínalos para reducir los riesgos de seguridad y reducir tu superficie de ataque.

themes

Lista de comprobación de limpieza:

  • Elimina los plugins y temas que no utilices. La desactivación deja archivos residuales.
  • Prueba primero las eliminaciones en el entorno de pruebas, en el caso de los plugins relacionados con formularios, almacenamiento en caché, SEO o comercio electrónico.
  • Conserva solo el tema activo y una copia de seguridad.
  • Después de la limpieza, comprueba que el inicio de sesión, los formularios, el proceso de pago y la búsqueda funcionen correctamente.
  • Revisa mensualmente los plugins y temas instalados.

Sigue estos pasos para eliminar un plugin de WordPress que no utilices:

  • En el panel de administración de WordPress, ve a PluginsPlugins instalados.
  • Busca el plugin que no necesites.
  • Haz clic en Desactivar. A continuación aparecerá la opción Eliminar.
  • Haz clic en Eliminar y confirma si se te solicita.

A continuación, sigue estos pasos para eliminar un tema que no utilices:

  • En el panel de administración de WordPress, ve a AparienciaTemas.
  • Haz clic en el tema que no necesitas.
  • Haz clic en Eliminar y confirma si se te solicita.

Elige temas y plugins de confianza

No todos los plugins son de fiar, aunque sus funciones parezcan estupendas. Busca actualizaciones recientes y constantes, documentación clara, soporte activo y compatibilidad con las versiones actuales de WordPress.

Comprobaciones rápidas antes de la instalación:

  • Evita los plugins y temas abandonados.
  • Evita los plugins y temas pirateados.
  • Ten cuidado con las descargas fuera del mercado, a menos que confíes en el proveedor.
  • Omite cualquier cosa que no se haya actualizado recientemente o que no sea claramente compatible con tu versión actual de WordPress.

Operaciones prácticas de seguridad {#practical-security-operations}

Estos son los pasos habituales que reducen el riesgo diario, minimizan el ruido de los bots y te ayudan a detectar problemas a tiempo.

Los atacantes se centran en la página de inicio de sesión porque es predecible y siempre accesible. Bloquea los puntos de acceso de administración para que los bots se topen con un muro y las contraseñas robadas no se conviertan en acceso instantáneo.

Utilice la autenticación de dos factores {#use-two-factor-authentication}

La autenticación de dos factores impide la mayoría de los ataques de relleno de credenciales y la apropiación mediante la reutilización de credenciales. Al habilitarla para las cuentas de administrador, se bloquean los inicios de sesión incluso si se roba una contraseña.

Para habilitar la 2FA en tu sitio de WordPress, elige un plugin de 2FA de confianza y una aplicación de autenticación en tu teléfono. Entre las opciones habituales de plugins de 2FA se incluyen miniOrange 2FA, WP 2FA, Wordfence Login Security y Two Factor.

Habilita la autenticación de dos factores:

  • En tu panel de control de WordPress, ve a PluginsAñadir nuevo.
  • Busca un plugin de 2FA, luego instálalo y actívalo.
  • Abre el menú del plugin desde la barra lateral izquierda, normalmente en Seguridad o como un elemento independiente.
  • Busca «Autenticación de dos factores » o «2FA» y, a continuación, selecciona «Aplicación de autenticación».
  • Escanea el código QR en tu aplicación de autenticación o introduce la clave de configuración.
  • Introduce el código de un solo uso para confirmar y, a continuación, haz clic en Habilitar o Activar.
  • Descarga los códigos de recuperación y guárdalos en tu gestor de contraseñas.

Aplicar la 2FA a los roles de administrador:

  • Abre la configuración del complemento, normalmente en «Configuración » o en «Seguridad » → «2FA».
  • Activa «Requerir 2FA».
  • Aplícalo a los roles de Administrador y Editor, y añade Gerente de tienda si gestionas una tienda de comercio electrónico.
  • Guarda los cambios después de haber registrado al menos dos cuentas de administrador en dispositivos distintos.

2FA

Cambia la URL de inicio de sesión predeterminada {#change-the-default-login-url}

La mayoría de los sitios de WordPress utilizan las mismas URL predeterminadas: /wp-login.php para el inicio de sesión y /wp-admin/ para el panel de administración. Los bots conocen estas URL, por lo que las prueban una y otra vez.

Cambiar la URL de inicio de sesión no detendrá a un atacante decidido, pero puede reducir el spam de inicio de sesión automatizado y los intentos de fuerza bruta.

Sigue estos pasos para cambiar la URL de inicio de sesión predeterminada en WordPress:

  • Ve a PluginsAñadir nuevo.
  • Instala un plugin para cambiar la URL de inicio de sesión y, a continuación, actívalo.
  • Abre la configuración del plugin en Ajustes o Seguridad.
  • Establece una nueva URL de inicio de sesión y guarda los cambios.
  • Cierra la sesión y prueba la nueva URL en una ventana de incógnito.

Utiliza un nombre de usuario de administrador único {#use-a-unique-admin-username}

** **«admin» es la primera opción que se prueba en todas las listas de fuerza bruta. Usarla les da a los atacantes la mitad de lo que necesitan.

Sigue estos pasos para utilizar un nombre de usuario de administrador único en WordPress:

  • Ve a UsuariosAñadir nuevo.
  • Crea un nuevo usuario con un nombre de usuario único. No utilices tu nombre de dominio, nombre de marca ni prefijo de correo electrónico.
  • Establece el rol en Administrador y, a continuación, crea la cuenta.
  • Cierra sesión y vuelve a iniciar sesión con el nuevo usuario administrador.
  • Ve a UsuariosTodos los usuarios.
  • Busca la antigua cuenta de administrador y cambia su rol a uno inferior o elimínala. Si la eliminas, asigna su contenido al nuevo administrador cuando WordPress te lo solicite.

Limita los intentos de inicio de sesión {#limit-login-attempts}

No permitas que los bots prueben contraseñas de forma ilimitada. Tras varios intentos fallidos, bloquea la IP durante un tiempo.

Opciones sencillas primero

  • Instala un plugin que gestione la limitación de velocidad, como Wordfence, Limit Login Attempts Reloaded o Loginizer.
  • Habilita la limitación de velocidad en el panel de control del firewall de tu proveedor de alojamiento, si está disponible.

Configuración avanzada del servidor

Ejemplo de limitación de velocidad en Nginx (recomendado si controlas la configuración de Nginx):

Añade esto en tu contexto HTTP de Nginx:

A continuación, añade un límite para el punto final de inicio de sesión dentro de tu bloque de servidor:

Consejo: Aumenta «rate» o «burst» si se bloquea a usuarios legítimos. Prueba a fondo.

Utiliza contraseñas de administrador seguras {#use-strong-admin-passwords}

Las contraseñas de administrador no tienen por qué ser fáciles de recordar. Deben ser difíciles de adivinar. Utiliza un gestor de contraseñas para generar contraseñas largas y aleatorias, y asegúrate de que cada cuenta de administrador tenga una única y exclusiva. De ese modo, si se produce una brecha de seguridad en un servicio, el acceso de administrador a WordPress no se verá afectado.

Consejos de configuración:** **

  • Desactiva la reutilización de contraseñas en la política de tu organización si puedes.
  • Cambia las contraseñas de administrador inmediatamente cuando un miembro del equipo abandone la empresa.

Sigue estos pasos para cambiar una contraseña de administrador en WordPress:

  • Ve a UsuariosTodos los usuarios.
  • Edita el usuario administrador.
  • Haz clic en «Establecer nueva contraseña» y, a continuación, en «Actualizar usuario».

Utiliza los plugins de seguridad recomendados para WordPress {#use-recommended-wordpress-security-plugins}

Los plugins de seguridad no lo solucionan todo, pero pueden ofrecerte una protección rápida y una visibilidad mucho mejor. Lo que buscas son registros que puedas utilizar realmente cuando algo parezca fuera de lugar.

Un buen plugin de seguridad incluye:

  • Supervisión de la integridad de los archivos para detectar cambios inesperados
  • Protección de inicio de sesión y aplicación de la autenticación de dos factores
  • Análisis de malware con una ruta clara de limpieza y recuperación
  • Alertas y registros de auditoría que realmente puedes revisar
  • Reglas básicas de firewall

Una vez que sepas lo que buscas, instala un plugin de confianza como Wordfence, Sucuri o All In One WP Security. Estas herramientas añaden protección de inicio de sesión, detección de cambios en archivos y registros, y pueden bloquear muchas amenazas comunes, incluidos los intentos de fuerza bruta.

Sigue estos pasos para instalar un plugin de seguridad de WordPress:

  • Ve a PluginsAñadir nuevo.
  • Busca el plugin de seguridad.
  • Haz clic en Instalar ahora y, a continuación, en Activar.
  • Abre el plugin desde la barra lateral izquierda y ejecuta su asistente de configuración, si lo tiene.

Consejos de configuración:

  • Utiliza un único plugin de seguridad principal para evitar conflictos y duplicados.
  • Desactiva las funciones que no vayas a utilizar, especialmente los análisis exhaustivos en sitios web con mucho tráfico.
  • Si tu proveedor de alojamiento ofrece funciones de limitación de velocidad o bloqueo, utilízalas para protegerte contra los ataques de fuerza bruta siempre que sea posible.

Solución de problemas:

  • Si te bloquean el acceso al panel de administración de WordPress, comprueba las reglas del cortafuegos y reduce primero el modo estricto.
  • Añade tu IP a la lista blanca para no bloquear a tu propio equipo.
  • Revisa los registros antes de desactivar la protección para ver qué ha provocado el bloqueo.

Utiliza un cortafuegos y un escáner de malware {#use-a-firewall-and-malware-scanning}

Los cortafuegos detienen los ataques antes de que lleguen a WordPress. Los análisis de malware comprueban a continuación si tus archivos y tu base de datos han sido manipulados.

Si no controlas la configuración del servidor, utiliza el panel de control del cortafuegos de tu proveedor de alojamiento o un plugin de seguridad como Wordfence o Sucuri para limitar la frecuencia de los inicios de sesión y restringir o bloquear el XML-RPC.**

Configuración del cortafuegos

Utiliza capas. WAF en el perímetro, reglas de servidor para el tráfico abusivo y análisis de malware para la limpieza.

Firewall setup

En plataformas gestionadas, puedes habilitar el cortafuegos de aplicaciones web integrado con bloqueo por IP o por país. Por ejemplo, Cloudways ofrece el complemento opcional Cloudflare Enterprise para el filtrado en el perímetro y la protección contra bots.

Análisis de malware

Busca cambios inesperados en los archivos e inyecciones en la base de datos (enlaces de spam, scripts ocultos).

Programa comprobaciones periódicas para:

  • Modificaciones de archivos y código PHP desconocido en wp-content/uploads
  • Spam en la base de datos o código inyectado
  • Tareas cron sospechosas y conexiones salientes

Cloudways ofrece un complemento de protección contra malware con tecnología de Imunify360 para el análisis a nivel de servidor y la limpieza automatizada.

Siga estos pasos para eliminar el malware de WordPress:

  • Activa el modo de mantenimiento.
  • Identifica el punto de entrada (plugin vulnerable, credenciales débiles).
  • Rotar todas las claves secretas (contraseñas de administrador/base de datos, salts, claves SSH).
  • Restaurar desde una copia de seguridad limpia.
  • Soluciona la causa raíz antes de volver a poner el sistema en producción.

Fortalecimiento técnico avanzado {#advanced-technical-hardening}

El refuerzo técnico avanzado consiste en reforzar la configuración de WordPress más allá de lo básico. Estos pasos se centran en la configuración, los controles del servidor y las políticas de acceso que reducen la exposición y limitan los daños si se ve comprometida una cuenta de inicio de sesión o un plugin.

Protege el archivo wp-config.php {#secure-the-wp-config-php-file}

El archivo wp-config.php contiene credenciales de la base de datos y claves secretas. Trátalo como una caja fuerte.

Establece permisos estrictos con el siguiente comando:

chmod 400 wp-config.php.

Esto impide que otros usuarios y procesos lean o modifiquen el archivo. Utiliza 440 si tu servidor web necesita acceso de lectura para el grupo.

Si el sitio deja de funcionar con 400, cambia a 440 y asegúrate de que la propiedad del grupo coincida con la del servidor web.

Para mayor protección, si tu configuración lo permite, mueve wp-config.php un nivel por encima de la raíz web. WordPress seguirá cargándolo automáticamente.

Limita los roles y permisos de los usuarios {#limit-user-roles-and-permissions}

Asigna a los usuarios solo los permisos que necesitan (principio del mínimo privilegio). Esto evita que una cuenta pirateada se haga con el control de todo tu sitio.

Sigue estos pasos para limitar los roles y permisos de los usuarios en WordPress:

  • Ve a UsuariosTodos los usuarios.
  • Haz clic en el usuario que quieras revisar.
  • En el menú desplegable «Rol», elige el rol más bajo que necesite, por ejemplo, Suscriptor, Colaborador, Autor o Editor.
  • Haz clic en «Actualizar usuario».

Repite este proceso para cada cuenta con privilegios de administrador y retira dichos privilegios a quienes no los necesiten. Elimina o desactiva las cuentas inactivas que ya nadie utilice.

Si necesitas un acceso especial, utiliza roles personalizados y revisa las capacidades antes de asignarlos. Audita los roles cada trimestre y elimina el acceso de administrador innecesario. Esto limita lo que un atacante puede hacer con un inicio de sesión robado.

Desactiva la edición de archivos desde el panel de control {#disable-file-editing-from-the-dashboard}

Desactiva el editor integrado de temas y plugins. De esta forma, una cuenta de administrador comprometida no podrá introducir rápidamente código malicioso en los archivos de tu sitio.

Sigue estos pasos para desactivar la edición de archivos desde el panel de control de WordPress:

  • Conéctate a tu sitio mediante SFTP o el gestor de archivos de tu proveedor de alojamiento.
  • Edita el archivo wp-config.php en la raíz de WordPress y añade:
  • Guarda el archivo.
  • Comprueba «Apariencia» en el panel de administración de WordPress. El Editor de temas desaparecerá. El Editor de plugins también desaparecerá.

Si tu equipo depende de las ediciones en el panel de control, traslada ese flujo de trabajo a implementaciones basadas en Git o SFTP con cuentas restringidas.

Desactiva XML-RPC {#disable-xml-rpc}

XML-RPC es un punto de entrada habitual para ataques de fuerza bruta y abuso de pingbacks. Bloquéalo a nivel de WordPress o del servidor.

Opción A: Desactivar en WordPress

  • Añade lo siguiente a functions.php o a un plugin personalizado:
  • Guarda el archivo.
  • Abre el punto final xmlrpc.php en tu navegador visitando https://yourdomain.com/xmlrpc.php Verás un mensaje genérico de XML-RPC, pero las solicitudes XML-RPC ya no funcionarán.

Esto desactiva XML-RPC en la capa de WordPress. El punto final xmlrpc.php sigue siendo accesible, por lo que, para una protección total y para reducir la carga, bloquéalo en el servidor web o en el WAF.

Opción B: Bloquear en la capa del servidor web**

Bloquear XML-RPC en el servidor es la opción más eficaz, ya que detiene las solicitudes antes de que se ejecute PHP.

Nginx:

  • Abre el archivo de configuración de Nginx de tu sitio para el dominio.
  • Añade una regla para xmlrpc.php en el bloque del servidor.
  • Vuelve a cargar Nginx.

Apache:

  • Edita la configuración de Apache de tu sitio o el archivo .htaccess, si está permitido.
  • Añade la regla de bloque xmlrpc.php.
  • Vuelve a cargar Apache.

Esto impide que las solicitudes lleguen a WordPress, lo que reduce la carga y corta las rutas de ataque XML-RPC más comunes.

Nota: Si el plugin Jetpack o la aplicación móvil de WordPress necesitan XML-RPC, no lo bloquees por completo. En su lugar, limita la frecuencia de las solicitudes y, cuando sea posible, permite el acceso solo desde direcciones IP de confianza.

Copias de seguridad y supervisión {#backups-and-monitoring}

Prepárate para los fallos. Las copias de seguridad te permiten recuperarte rápidamente. La supervisión muestra qué ha cambiado.

Haz copias de seguridad de tu sitio web con regularidad {#back-up-your-website-regularly}

Las copias de seguridad no son opcionales. Son tu salida de emergencia cuando una actualización interrumpe la producción, un plugin se ve comprometido o una implementación defectuosa daña la base de datos.

Lo que quieres aquí es mantener una copia limpia de tu sitio que puedas restaurar rápidamente, sin tener que adivinar qué falta.

Copia de seguridad manual

Sigue estos pasos para hacer una copia de seguridad de tu sitio de WordPress:

  • Instala y activa un plugin de copias de seguridad desde PluginsAñadir nuevo.
  • Abre el plugin y ejecuta «Hacer copia de seguridad ahora» con los archivos y la base de datos seleccionados.
  • Guárdalo en un almacenamiento externo si está disponible.

Copia de seguridad automática

La mayoría de los alojamientos gestionados de WordPress incluyen copias de seguridad automáticas de forma predeterminada, que suelen realizarse a diario, se almacenan durante un periodo de retención renovable y están disponibles como puntos de restauración con un solo clic desde el panel de control del alojamiento.

Automated backup

Elige una programación en función de la frecuencia con la que cambia tu sitio.

  • Diariamente: para sitios activos con actualizaciones, comentarios o pedidos frecuentes.
  • Semanal: Para sitios de marketing con pocos cambios.
  • Mensualmente:** **Cuando el contenido rara vez cambia.

Una copia de seguridad completa incluye tu base de datos, la carpeta wp-content (especialmente las subidas) y los archivos de configuración, si tu configuración no los recrea automáticamente.

Prácticas recomendadas:

  • Guarde las copias de seguridad fuera del sitio. Así, un fallo del servidor tampoco las borrará.
  • Mantén varios puntos de restauración, no solo la última instantánea.
  • Prueba las restauraciones con regularidad. Las copias de seguridad no probadas no están garantizadas. Esperas que funcionen cuando sea necesario.

Si las restauraciones tardan mucho o fallan, la copia de seguridad suele estar sobrecargada. Comprueba el aumento del tamaño de la copia de seguridad, a menudo causado por archivos de registro o directorios de caché dentro de wp-content. Excluye los directorios de caché de las copias de seguridad cuando tu plataforma pueda regenerarlos de forma segura.

Supervisa tu sitio {#monitor-your-site}

El refuerzo de la seguridad ayuda, pero la supervisión detecta lo que se le escapa. Detecta los problemas a tiempo. Ten los registros a mano para rastrear lo que ha ocurrido.

Supervisión del tiempo de actividad

Las comprobaciones de disponibilidad te ayudan a detectar cuándo el sitio web deja de funcionar o sufre cambios indeseados, como una página de inicio pirateada, una actualización que provoca errores en PHP o un ataque que sobrecarga el servidor.

Herramientas de tiempo de actividad como UptimeRobot (con una generosa versión gratuita) o Pingdom realizan comprobaciones HTTP y de palabras clave en tu página de inicio y en las páginas clave.

Configuración práctica:

  • Supervisa tu página de inicio y una página importante a la que se pueda acceder sin iniciar sesión, como la de precios, la de pago o la página de destino principal.
  • Utiliza tanto comprobaciones de estado HTTP como de palabras clave para que no se te pase por alto una página pirateada que siga devolviendo una respuesta 200 normal.

Alertas de seguridad

Configura alertas para eventos que indiquen apropiación de cuentas, manipulación o desviaciones.

Los plugins de seguridad como Wordfence o Sucuri avisan de picos de inicio de sesión, cambios en los archivos y nuevos usuarios administradores.

Sigue estos pasos para configurar alertas en WordPress:

  • Ve a PluginsAñadir nuevo.
  • Instala y activa un plugin de seguridad que admita alertas.
  • Abre el plugin desde la barra lateral izquierda.
  • Busca «Alertas» o «Notificaciones» en la configuración del plugin.
  • Activa las alertas para:
    • Creación de nuevos usuarios de administrador
    • Cambios en los archivos del plugin o del tema
    • Picos de inicio de sesión o fallos repetidos
    • Actualizaciones críticas disponibles para el plugin
    • Problemas con el DNS o los certificados SSL
  • Envía las alertas críticas a Slack o PagerDuty. Reserva el correo electrónico para las notificaciones de baja prioridad.

Registros de actividad

Durante un incidente, los registros responden a las únicas preguntas que importan: qué cambió, cuándo cambió, quién lo cambió y desde dónde.

Configuración práctica:

  • Registra las acciones de administración, como la creación de usuarios, la instalación de complementos y los cambios en la configuración.
  • Conserva los registros durante el tiempo suficiente para investigar vulnerabilidades de evolución lenta.
  • Combina los registros de actividad con los registros de acceso al servidor para poder correlacionar direcciones IP y agentes de usuario.

Sigue estos pasos para habilitar los registros de actividad en WordPress:

  • Ve a ComplementosAñadir nuevo.
  • Instala y activa un plugin de registro de actividad.
  • Abre el plugin desde la barra lateral izquierda.
  • Activa el registro de acciones de administración, como la creación de usuarios, la instalación de plugins y los cambios en la configuración.
  • Establece el tiempo de conservación de los registros y, a continuación, guarda los cambios.
  • Si está disponible, habilita la exportación de registros o el reenvío a un almacenamiento externo.

Si los registros crecen demasiado rápido, reduce el volumen sin perder la información que necesitarás más adelante.

  • Reduzca el nivel de detalle para los eventos no críticos.
  • Rote los registros de forma agresiva.
  • Descargue los registros a un almacenamiento externo cuando esté disponible.

Reflexiones finales {#final-thoughts}

La seguridad de WordPress suele fallar por razones sencillas. Pequeñas brechas permanecen abiertas demasiado tiempo: actualizaciones omitidas, contraseñas débiles o un acceso de administrador excesivo.

Si solo vas a hacer una cosa, que sea la constancia. Actualiza el núcleo de WordPress, los temas y los plugins de forma regular. Activa la autenticación de dos factores (2FA) en las cuentas de administrador. Utiliza contraseñas largas y únicas, y evita nombres de usuario obvios. Mantén HTTPS en todas las páginas para que los inicios de sesión, las sesiones y los datos de los formularios permanezcan cifrados.

Una vez que tengas lo básico, añade protección adicional. Usa un cortafuegos para bloquear el tráfico malicioso antes de que llegue a tu sitio. Ejecuta análisis de malware y supervisa los cambios en los archivos para detectar problemas a tiempo. Mantén copias de seguridad externas, conserva varios puntos de restauración y prueba las restauraciones para que la recuperación sea predecible.

Con todo esto en marcha, tu sitio de WordPress será más difícil de comprometer, más fácil de supervisar y rápido de restaurar si algo sale mal.

Preguntas frecuentes {#frequently-asked-questions}

1. ¿Es seguro WordPress?

Sí, WordPress es seguro si sigues unas prácticas básicas: mantén actualizados el núcleo, los temas y los plugins; utiliza contraseñas seguras y únicas, y autenticación de dos factores (2FA) para los administradores; elige un alojamiento con aislamiento y cortafuegos; realiza copias de seguridad periódicas.

2. ¿Tiene WordPress seguridad integrada?

Sí. El núcleo de WordPress incluye funciones básicas sólidas como roles y permisos, protección de las acciones de administración, hash de contraseñas seguro y actualizaciones de seguridad periódicas. La mayoría de las vulnerabilidades en el mundo real provienen de plugins y temas obsoletos, credenciales débiles o servidores mal configurados, no de una instalación predeterminada del núcleo que se mantenga actualizada.

Conoce Ranktracker

La plataforma todo en uno para un SEO eficaz

Detrás de todo negocio de éxito hay una sólida campaña de SEO. Pero con las innumerables herramientas y técnicas de optimización que existen para elegir, puede ser difícil saber por dónde empezar. Bueno, no temas más, porque tengo justo lo que necesitas. Presentamos la plataforma todo en uno Ranktracker para un SEO eficaz

¡Por fin hemos abierto el registro a Ranktracker totalmente gratis!

Crear una cuenta gratuita

O inicia sesión con tus credenciales

3. ¿Ha sido hackeado mi sitio de WordPress?

Esté atento a señales de alerta evidentes, como redireccionamientos inesperados, nuevos usuarios de administrador que usted no haya creado, archivos de temas o plugins que cambien sin que se haya realizado una implementación, tareas programadas extrañas y picos repentinos de inicios de sesión. Compruebe los registros de su plugin de seguridad y los registros de acceso al servidor. Si utiliza Google Search Console, busque advertencias y URL indexadas que no le resulten familiares.

4. ¿Cómo puedo convertir mi sitio de WordPress a HTTPS?

Instala el certificado SSL en el panel de control de tu alojamiento. A continuación, actualiza la URL de inicio y la URL del sitio de WordPress a HTTPS y fuerza el uso de HTTPS para el área de administración y la interfaz pública. Si ves advertencias de contenido mixto, sustituye los enlaces HTTP codificados en la base de datos y los recursos del tema. Si utilizas un proxy o un equilibrador de carga, asegúrate de que WordPress reconozca la solicitud original como HTTPS para evitar bucles de redireccionamiento.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Empieza a usar Ranktracker... ¡Gratis!

Averigüe qué está impidiendo que su sitio web se clasifique.

Crear una cuenta gratuita

O inicia sesión con tus credenciales

Different views of Ranktracker app