Cómo mejorar la seguridad en WordPress

Cómo mejorar la seguridad en WordPress

WordPress es el sistema de gestión de contenidos (CMS) más popular: el 43,2% de todos los sitios web funcionan con este software. Por desgracia, su popularidad atrae a todo tipo de hackers que se aprovechan de las vulnerabilidades de seguridad de la plataforma.

Esto no significa que WordPress tenga un sistema de seguridad malo, sino que los fallos también pueden producirse por que los usuarios no le dan la importancia suficiente a la seguridad. Por lo tanto, es mejor aplicar medidas preventivas antes de que alguien intente hackear tu web.

Discutiremos 22 métodos para mejorar la seguridad de WordPress y proteger tu sitio de varios ciberataques. El artículo incluirá las mejores prácticas y consejos, con o sin plugins de WordPress. Algunos métodos también son aplicables a otras plataformas además de WordPress.

Descarga la hoja de trucos de WordPress definitiva

Tabla de Contenidos

¿Por qué es importante la seguridad en WordPress?

Si tu sitio web es hackeado, corres el riesgo de perder datos importantes, activos y credibilidad. Además, el incidente puede poner en peligro los datos personales y la información de facturación de tus clientes.

Se prevé que para 2025 el coste de los daños causados por los delitos informáticos puede alcanzar los 10,5 billones de dólares al año. Sin duda, no querrás formar parte de esa estadística.

Según la base de datos de vulnerabilidades de WPScan, estos son algunos de los tipos más comunes de vulnerabilidades de seguridad de WordPress:

  • Falsificación de solicitudes en sitios cruzados (CSRF): obliga al usuario a ejecutar acciones no deseadas en una aplicación web de confianza.
  • Ataque de denegación de servicio distribuido (DDoS): incapacita los servicios en línea llenándolos de conexiones no deseadas, lo que hace que un sitio sea inaccesible.
  • Bypass de autenticación: permite a los hackers acceder a los recursos de tu sitio web sin tener que verificar su autenticidad.
  • Inyección SQL (SQLi): obliga al sistema a ejecutar consultas SQL maliciosas y manipula los datos de la base de datos.
  • Cross-site scripting (XSS): inyecta código malicioso que convierte el sitio en un transportador de malware.
  • Inclusión de archivos locales (LFI): obliga al sitio a procesar archivos maliciosos colocados en el servidor.

Mejores prácticas para mejorar la seguridad en WordPress

En esta sección, revisaremos seis consejos generales para WordPress que no requieren conocimientos técnicos avanzados ni inversiones de alto riesgo. Incluso un principiante podrá realizar estas sencillas tareas, como actualizar el software de WordPress y eliminar los temas que no se utilizan.

1. Actualizar regularmente la versión de WordPress

WordPress publica regularmente actualizaciones de software para mejorar el rendimiento y la seguridad. Estas actualizaciones también protegen tu sitio de las ciberamenazas.

Actualizar la versión de WordPress es una de las formas más sencillas de mejorar la seguridad de WordPress. Sin embargo, casi el 50% de los sitios de WordPress funcionan con una versión antigua, lo que los hace más vulnerables.

Para comprobar si tienes la última versión de WordPress, abre tu área de administración de WordPress y ve a Escritorio → Actualizaciones en el panel del menú de la izquierda. Si aparece que tu versión no está actualizada, te recomendamos que la actualices lo antes posible.

Actualizaciones de WordPress

Debes estar pendiente de las fechas de lanzamiento de las futuras actualizaciones para asegurarte de que tu sitio no funcione con una versión obsoleta de WordPress.

También aconsejamos actualizar los temas y plugins instalados. Los temas y plugins desactualizados pueden entrar en conflicto con el software central de WordPress recién actualizado, causando errores y siendo propensos a las amenazas.

Sigue estos pasos para deshacerte de los temas y plugins obsoletos:

  1. Accede a tu panel de administración de WordPress, y ve a Escritorio → Actualizaciones.
  2. Desplázate hacia abajo hasta las secciones Plugins y Temas, y comprueba la lista de aquellos que se deban ser actualizados. Ten en cuenta que se pueden actualizar todos a la vez o por separado.
  3. Haz clic en Actualizar Plugins.

Tip de Experto

La activación de las actualizaciones automáticas facilita el trabajo, pero puede bloquear tu web debido a la incompatibilidad con plugins o temas antiguos. Si activas esta opción, asegúrate de hacer una copia de seguridad con regularidad para poder volver a la versión anterior en caso de error.

Editor

Mantas S.

Site Availability Engineer

2. Utilizar credenciales de inicio de sesión de WP-Admin seguras

Uno de los errores más comunes que se cometen es utilizar nombres de usuario fáciles de adivinar, como «admin», «administrator» o «test». Esto hace que tu sitio corra un mayor riesgo de sufrir ataques de fuerza bruta. Además, los atacantes también se dirigen a los sitios de WordPress que no tienen contraseñas seguras.

Por lo tanto, recomendamos que el usuario y la contraseña sean únicos y de mayor complejidad.

Sigue estos pasos para crear una nueva cuenta de administrador de WordPress con un nuevo nombre de usuario:

  1. En el panel de control de WordPress, ve a Usuarios → Añadir nuevo.
    Añadir nuevo usuario como administrador en WordPress
  2. Crea un nuevo usuario y asígnale el rol de Administrador. Añade una contraseña y pulsa el botón Añadir nuevo usuario una vez que hayas terminado.

Incluye números, símbolos y letras mayúsculas y minúsculas en tu contraseña. También recomendamos utilizar más de 12 caracteres, ya que las contraseñas más largas son mucho más difíciles de descifrar.

Tip de Experto

Cuanto más larga sea la contraseña, más segura será. Sin embargo, las contraseñas seguras no tienen por qué ser largas y complejas: utiliza símbolos especiales y números en lugar de letras conocidas. Por ejemplo, 41@bAm@! en lugar de Alabama! es fácil de recordar y más difícil de descifrar. Otra opción es utilizar un patrón en el teclado en lugar de palabras reales, como qpzmwoxn. Mezcla estos dos elementos para crear una contraseña más fuerte.

Editor

Mantas S.

Site Availability Engineer

Si necesitas ayuda para generar una contraseña fuerte, utiliza herramientas online como LastPass y 1Password. También puedes utilizar sus servicios de gestión de contraseñas para almacenar contraseñas seguras. Así, no tendrás que memorizarlas.

Página de inicio de LastPass

Después de crear un nuevo nombre de usuario de administrador de WordPress, tendrás que eliminar el antiguo. Estos son los pasos para hacerlo:

  1. Inicia sesión con tus credenciales de usuario de WordPress recién creadas.
  2. Selecciona Usuarios → Todos los usuarios.
    Crear nuevo admin en WordPress
  3. Selecciona la antigua cuenta de administrador que quieres eliminar. Cambia el menú desplegable de Acciones en lote a Borrar y haz clic en Aplicar.

Para mantener tu sitio protegido, también es importante que compruebes la red antes de conectarte. Si te conectas sin saberlo a un Hotspot Honeypot, una red operada por hackers, te arriesgas a filtrar las credenciales de acceso a los operadores.

Incluso las redes públicas, como el WiFi de una biblioteca escolar, pueden no ser tan seguras como parece. Los hackers pueden interceptar tu conexión y robar datos sin cifrar, incluidas las credenciales de acceso.

Por eso recomendamos utilizar una VPN cuando te conectes a una red pública. Proporciona una capa de cifrado a la conexión, dificultando la interceptación de datos y protegiendo tus actividades en línea.

3. Configurar una lista de seguridad y una lista de bloqueo para la página de administración

Activar el bloqueo de la URL protege tu página de acceso de direcciones IP no autorizadas y de ataques de fuerza bruta. Para ello, necesitas un servicio de firewall de aplicaciones web (WAF) como Cloudflare o Sucuri.

Usando Cloudflare, es posible configurar una regla de bloqueo de zona. En ella se especifican las URLs que se quieren bloquear y el rango de IPs que pueden acceder a estas URLs. Cualquier persona fuera del rango de IP especificado no podrá acceder a ellas.

Sucuri tiene una función similar llamada lista negra de rutas de URL. En primer lugar, se añade la URL de la página de inicio de sesión a la lista negra para que nadie pueda acceder a ella. Luego, haces una lista segura de las direcciones IP autorizadas para acceder.

También puedes restringir el acceso a esta página configurando el archivo .htaccess de tu sitio. Ve al directorio raíz para acceder al archivo.

¡Importante! Antes de realizar cualquier cambio, te aconsejamos que hagas una copia de seguridad del antiguo archivo .htaccess. Si algo va mal, podrás restaurar tu sitio fácilmente.

Añadiendo esta regla a tu .htaccess, limitarás el acceso a tu wp-login.php a una sola IP. Así, los atacantes no podrán entrar en tu página de inicio desde otras ubicaciones.

# Block IPs for login Apache 2.2
<files /wp-login.php>
order deny, allow
allow from MYIP
allow from MYIP2
deny from all
</files>
# Block IPS for login Apache 2.4
<Files "wp-login.php">
Require all denied
</Files>

Esta regla debe colocarse después de # BEGIN WordPress and # END WordPress como se muestra a continuación

Código para limitar el acceso a wp-login a una sola IP

Esta regla se aplica incluso si no tienes una IP estática, ya que puedes restringir los inicios de sesión al rango común de tu ISP.

También puedes usar esta regla para restringir otras URLs autenticadas, como /wp-admin.

Tip de Experto

Ten en cuenta que las listas de bloqueo sólo son eficaces contra las amenazas conocidas. Los hackers pueden diseñar malware específicamente para evadir la detección de las herramientas que utilizan un sistema de listas de bloqueo. Aunque las listas seguras ofrecen una seguridad más robusta, también pueden ser más complejas de implementar, especialmente si quieres que lo haga un tercero: necesitarán información sobre todas las aplicaciones que utilizas.

Editor

Mantas S.

Site Availability Engineer

4. Usar temas de WordPress de confianza

Los temas de WordPress anulados son versiones no autorizadas de los temas premium originales. En la mayoría de los casos, estos temas se venden a un precio inferior para atraer a los usuarios. Sin embargo, suelen tener un montón de fallas de seguridad.

A menudo, los proveedores de temas anulados suelen ser hackers que modifican el tema premium original e insertan código malicioso, como malware y enlaces de spam. Además, estos temas pueden contener puertas traseras para otros exploits que pongan en peligro tu sitio de WordPress.

Dado que los temas anulados se distribuyen de forma ilegal, sus usuarios no reciben ningún tipo de soporte por parte de los desarrolladores. Por lo que, si causan algún problema en el sitio, tendrás que ingeniártelas para solucionarlo y asegurar tu sitio de WordPress por tu cuenta.

Para evitarlo, te recomendamos que elijas un tema de WordPress de su directorio oficial o de desarrolladores de confianza. Busca opciones en mercados de temas oficiales como ThemeForest si quieres comprar un tema premium.

Directorio de temas de WordPress

5. Instalar un certificado SSL

Secure Sockets Layer (SSL) es un protocolo de transferencia de datos que encripta los datos intercambiados entre el sitio web y los usuarios, lo que hace que sea mucho más difícil para los atacantes robar información importante.

Además, los certificados SSL aumentan la optimización del sitio web para los motores de búsqueda (SEO), lo que te ayuda a ganar visitantes y a aumentar el tráfico del sitio web.

Los sitios web con uno instalado utilizarán HTTPS en lugar de HTTP, por lo que es fácil identificarlos.

La mayoría de las empresas de alojamiento incluyen SSL en sus planes. Por ejemplo, Hostinger incluye certificados SSL ilimitados gratuitos de Let’s Encrypt en todos los planes de alojamiento web.

Una vez que tengas un certificado SSL instalado en tu cuenta de hosting, tienes que activarlo en tu sitio web de WordPress.

Plugins como Really Simple SSL o SSL Insecure Content Fixer se encargan de los aspectos técnicos y de la activación del SSL en unos pocos clics. La versión premium de Really Simple SSL también tiene una opción para activar headers HSTS (HTTP Strict Transport Security) que fuerzan el uso de HTTPS cuando se accede al sitio.

Una vez hecho esto, el último paso es cambiar la URL de tu sitio de HTTP a HTTPS. Para eso, ve a Ajustes → Generales y busca el campo Dirección del sitio (URL) para cambiar su URL.

Ajustes generales en WordPress

6. Eliminar los plugins y temas de WordPress no utilizados

Mantener plugins y temas no utilizados en el sitio puede ser perjudicial, especialmente si no han sido actualizados. Los plugins y temas desactualizados aumentan el riesgo de ciberataques, ya que los hackers pueden utilizarlos para acceder a tu sitio.

Sigue estos pasos para eliminar un plugin de WordPress no utilizado:

  1. Accede a PluginsPlugins instalados.
  2. Verás la lista de todos los plugins instalados. Haz clic en Borrar bajo el nombre del mismo.
Borrar plugins en WordPress

Ten en cuenta que el botón de eliminar sólo estará disponible después de desactivarlo.

Por otro lado, aquí están los pasos para eliminar un tema no utilizado:

  1. Desde tu panel de administración de WordPress, ve a AparienciaTemas.
  2. Haz clic en el tema que quieres eliminar.
  3. Aparecerá una ventana emergente con los detalles del tema. Haz clic en el botón Eliminar de la esquina inferior derecha.
Borrar tema en WordPress

Tip de Experto

Al eliminar un plugin o un tema popular de WordPress desde el panel de control de WordPress, es posible que no tengas la opción de utilizar un desinstalador personalizado, donde puedes elegir eliminar completamente todos los datos relativos a ese plugin o tema. En este caso, tendrás que hacerlo a través de un cliente FTP accediendo a tu base de datos y eliminando las entradas manualmente.

Editor

Mantas S.

Site Availability Engineer

Cómo utilizar los plugins de seguridad de WordPress

Otro método para mejorar la seguridad de WordPress es el uso de plugins.

Es una forma cómoda de proteger tu web, pero recuerda no instalar todos estos plugins a la vez, ya que demasiados plugins pueden ralentizar tu sitio.

En primer lugar, identifica tus necesidades para elegir los plugins más eficaces.

1. Habilitar la autenticación de dos factores para WP-Admin

Activa la autenticación de dos factores (2FA) para reforzar el proceso al iniciar sesión en WordPress. Este método de autenticación añade una segunda capa de seguridad de WordPress a la página de inicio de sesión, ya que requiere la introducción de un código único para completar el proceso.

Este código sólo está disponible a través de un mensaje de texto o una aplicación de autenticación de terceros.

Para aplicar 2FA en tu sitio, instala un plugin de seguridad de inicio de sesión como Wordfence Login Security. Además, necesitarás instalar una aplicación de autenticación de terceros como Google Authenticator en tu teléfono móvil.

Consejo Profesional

Si no estás seguro de cuál utilizar, elige el más actualizado y recomendado.

Una vez que hayas instalado el plugin y la aplicación de autenticación, sigue estos pasos para activar la autenticación de dos factores:

  1. Ve a la página del plugin en tu administración de WordPress. Si estás usando Wordfence Login Security, dirígete al menú Login Security en el panel del menú de la izquierda.
  2. Abre la pestaña Two-Factor Authentication.
    Autenticación en dos factores con Wordfence Login Security
  3. Utiliza la aplicación de tu teléfono móvil para escanear el código QR o introducir la clave de activación.
  4. Introduce el código generado en la aplicación de tu teléfono móvil en el campo disponible en la sección de códigos de recuperación.
  5. Pulsa el botón ACTIVATE para completar la configuración.

Además, descarga los códigos de recuperación proporcionados en caso de que pierdas el acceso al dispositivo que contiene la aplicación de autenticación.

2. Realizar copias de seguridad de WordPress con regularidad

Crear regularmente una copia de seguridad del sitio es una tarea de mitigación importante porque te ayudará a recuperar tu sitio después de incidentes, como ciberataques o daños físicos en el centro de datos. El archivo de copia de seguridad debe incluir todos los archivos de la instalación de WordPress, como la base de datos y los archivos del núcleo de WordPress.

Con WordPress, se puede hacer una copia de seguridad de un sitio utilizando un plugin como All-in-One WP Migration. Sigue estos pasos para crear una copia con este plugin:

  1. Instala y activa el plugin.
  2. Accede al menú de All-in-One WP Migration en el panel de menú de la izquierda.
  3. Seleccionar Copias de seguridad.
  4. Haz clic en Crear backup.
    Crear copia de seguridad con All-in-One WP Migration
  5. Una vez creada la copia, aparecerá en una lista en la página de copias de seguridad.
    Copia de seguridad creada
  6. Descarga y guárdala en el almacenamiento. Para ello, ve a All-in-One WP Migration → Exportar.
  7. Haz clic en el menú desplegable EXPORTAR A y selecciona Archivo. Esto generará una copia de seguridad de tu sitio.
    Exportar sitio con All-in-One WP Migration
  8. Una vez completado el proceso, haz clic en el enlace de descarga y guarda la copia de tu sitio en un lugar de almacenamiento seguro, preferiblemente no en una ubicación en el mismo servidor. Esto se debe a que las copias de seguridad almacenadas en tu servidor web son de acceso público, lo que las hace vulnerables a los ciberataques.

En caso de que ocurra un incidente, puedes restaurar tu sitio utilizando la herramienta de importación de All-in-One WP Migration.

Los usuarios de Hostinger también pueden crear copias de seguridad sin un plugin de WordPress utilizando la función de copia de seguridad de hPanel.

Tip de Experto

Yo no recomendaría almacenar las copias de seguridad en un computador personal. En su lugar, utiliza aplicaciones de almacenamiento como Google Drive. Pero si decides hacerlo, lo mejor sería almacenarlo en al menos tres lugares, como tu ordenador, una unidad flash USB y un almacenamiento externo como Dropbox.

Editor

Mantas S.

Site Availability Engineer

3. Limitar los intentos de inicio de sesión

WordPress permite a sus usuarios realizar un número ilimitado de intentos de inicio de sesión en el sitio. Sin embargo, esto es una oportunidad perfecta para los hackers de forzar la entrada usando varias combinaciones de contraseñas hasta que encuentren la correcta.

Por eso, poner un límite a los intentos fallidos de inicio de sesión es importante para prevenir este tipo de ataques en el sitio web. Limitar los intentos fallidos también puede ayudar a controlar cualquier actividad sospechosa que se produzca en tu sitio.

La mayoría de los usuarios sólo necesitan un único intento o unos pocos intentos fallidos, por lo que deberías sospechar de cualquier dirección IP dudosa que alcance el límite de intentos.

Una forma de limitar los intentos de inicio de sesión para aumentar la seguridad de WordPress es utilizando un plugin. Hay muchas opciones disponibles, incluyendo:

  • Limit Login Attempts Reloaded: configura el número de intentos fallidos para direcciones IP específicas, añade usuarios a la lista blanca o los bloquea por completo, e informa a los usuarios sobre el tiempo de bloqueo restante.
  • Loginizer: ofrece funciones de seguridad de inicio de sesión como la autenticación de dos factores, reCAPTCHA y preguntas con desafío para el inicio de sesión.
  • Limit Attempts by BestWebSoft: bloquea automáticamente las direcciones IP que superan el límite de intentos de inicio de sesión y las añade a una lista de rechazo.

Uno de los riesgos de implementar esta medida de seguridad es que un usuario confiable sea bloqueado en la administración de WordPress. Sin embargo, no deberías preocuparte por ello, ya que hay muchas formas de recuperar las cuentas de WordPress bloqueadas.

4. Cambiar la URL de la página de inicio de sesión de WordPress

Para dar un paso más en la protección contra los ataques de fuerza bruta, considera cambiar la URL de la página de acceso.

Todos los sitios web de WordPress tienen por defecto la misma URL para iniciar sesión: tudominio.com/wp-admin. El uso de esta URL hace que sea fácil para los hackers apuntar a tu página.

Plugins como WPS Hide Login y Change wp-admin Login permiten configurar esta URL de manera personalizada.

Si utilizas el plugin WPS Hide Login, estos son los pasos para cambiar la URL de tu página de inicio de sesión de WordPress:

  1. En tu panel de control, ve a AjustesWPS Hide Login.
  2. Completa el campo URL de acceso con tu URL personalizada.
  3. Haz clic en el botón Guardar cambios para finalizar el proceso.
Cambiar URL de acceso con el plugin WPS Hide Login

5. Cerrar la sesión de los usuarios inactivos automáticamente

Muchos usuarios se olvidan de cerrar la sesión y dejan sus sesiones en marcha. De este modo, dejan que otra persona que utiliza el mismo dispositivo acceda a sus cuentas de usuario y pueda hacer uso de datos confidenciales. Esto se aplica especialmente a los usuarios que utilizan ordenadores públicos en cibercafés o bibliotecas públicas.

Por lo tanto, es crucial configurar tu sitio web de WordPress para que los usuarios inactivos se desconecten automáticamente. La mayoría de los sitios bancarios utilizan esta técnica para evitar que los visitantes no autorizados accedan a sus sitios, garantizando que la información de sus clientes estén seguros.

El uso de un plugin de seguridad de WordPress como Inactive Logout es una de las formas más fáciles de cerrar las cuentas de los usuarios inactivos de forma automática. Además de dar de baja a los usuarios inactivos, este plugin también puede enviar un mensaje personalizado para avisar a los usuarios inactivos de que su sesión terminará pronto.

6. Supervisar la actividad de los usuarios

Identifica cualquier acción no deseada o maliciosa que ponga en peligro tu web mediante el seguimiento de las actividades en tu área de administración.

Recomendamos este método para aquellos que tienen varios usuarios o autores que acceden al sitio web. Esto se debe a que los usuarios pueden cambiar ajustes que no deberían, como alterar temas o configurar plugins.

Al supervisar sus actividades, sabrás quién es el responsable de esos cambios no deseados y si una persona no autorizada ha entrado en tu sitio web de WordPress.

La forma más fácil de rastrear la actividad de los usuarios es utilizando un plugin de WordPress, como:

  • WP Activity Log: monitorea los cambios en múltiples áreas del sitio web, incluyendo publicaciones, páginas, temas y plugins. También registra los archivos recién añadidos, los eliminados y las modificaciones de cualquier archivo.
  • Activity Log: supervisa varias actividades en tu panel de administración de WordPress y te permite establecer reglas para las notificaciones por correo electrónico.
  • Simple History: además de registrar la actividad en el administrador de WordPress, soporta múltiples plugins de terceros como Jetpack, WP Crontrol y Beaver Builder, registrando toda la actividad relacionada con ellos.

7. Comprobar si hay malware

El Instituto AV-TEST registra cada día más de 450.000 nuevas aplicaciones potencialmente no deseadas (PUA) y malware. Algunos programas maliciosos tienen incluso una naturaleza polimórfica, lo que significa que pueden modificarse a sí mismos para evitar la detección de seguridad.

Por lo tanto, es crucial escanear regularmente tu sitio ya que los atacantes siempre desarrollan nuevos tipos de amenazas.

Afortunadamente, hay muchos plugins que pueden escanear el malware y mejorar la seguridad de WordPress.

Nuestros expertos recomiendan los siguientes plugins de seguridad para instalar:

  • Wordfence: un popular plugin de seguridad para WordPress con actualizaciones de firmas de malware en tiempo real y notificaciones de alerta que informan si otro sitio ha bloqueado el tuyo por actividad sospechosa.
  • BulletProof Security: ayuda a proteger tu sitio web de WordPress con una función de cierre de sesión inactiva, carpetas de plugins ocultas que no son visibles en la sección de plugins de WordPress y herramientas de copia de seguridad y restauración de la base de datos.
  • Sucuri Security: uno de los mejores plugins de seguridad del mercado, que ofrece varios certificados SSL, escaneo remoto de malware y funciones de acción de seguridad post-hack.

Tip de Experto

Si tu sitio web de WordPress está infectado con malware, sigue estos puntos clave:

1. Asegúrate de tener siempre accesible tu área wp-admin, realiza un escaneo y deshazte del malware.

2. Comprueba que tus plugins, temas y el software principal de WordPress están actualizados.

3. Verifica tu base de datos de vulnerabilidades para ver si tus plugins o temas están listados allí como un riesgo.

4. Realiza otras medidas de seguridad en WordPress como el uso de un prefijo personalizado para tu base de datos.

Editor

Mantas S.

Site Availability Engineer

Cómo asegurar WordPress sin usar plugins

También es posible mejorar la seguridad sin utilizar plugins. La mayoría de estas tareas implican modificar el código pero, no te preocupes, te mostraremos cómo hacerlo paso a paso.

1. Desactivar el informe de errores de PHP

El informe de errores de PHP muestra la información completa sobre las rutas y la estructura de archivos de tu sitio web, por lo que es una gran característica para supervisar los scripts PHP de tu sitio.

Sin embargo, mostrar las vulnerabilidades en el backend es un grave fallo de seguridad de WordPress.

Por ejemplo, si muestra un plugin específico en el que ha aparecido el mensaje de error, los ciberdelincuentes podrían utilizar las vulnerabilidades de ese plugin.

Hay dos formas de desactivar los informes de error de PHP: a través del archivo PHP o del panel de control de tu cuenta de alojamiento.

Modificación del archivo PHP

Sigue estos pasos para modificar tu archivo PHP:

  1. Abre el archivo wp-config.php de tu sitio web utilizando un cliente FTP como FileZilla o el administrador de archivos de tu proveedor de alojamiento.
  2. Añade el siguiente fragmento de código al archivo. Asegúrate de añadirlo antes de cualquier otra directiva PHP.
    error_reporting(0);
    @ini_set(‘display_errors’, 0);
  3. Haz clic en Guardar para aplicar el cambio.

Cambio de la configuración de PHP mediante el panel de control

Si no quieres codificar, desactiva el informe de errores de PHP a través del panel de control de tu proveedor de alojamiento. A continuación, se explica cómo hacerlo a través de hPanel:

  1. Desde tu panel de control de hPanel, dirígete a la sección Avanzado. Luego, haz clic en Configuración de PHP.
  2. Ve a la pestaña Opciones de PHP, desmarca la opción displayErrors.
    Imagen que muestra displayErrors desmarcado en hPanel
  3. Haz clic en Guardar.

2. Migrar a un hosting más seguro

Aplicar muchas medidas para proteger WordPress no importará demasiado si el entorno de alojamiento es propenso a los ciberataques. Tu proveedor de hosting debe garantizar un espacio seguro para todos los datos y archivos de tu sitio web en su servidor, por lo que es fundamental elegir el que tenga un excelente nivel de seguridad.

Si crees que tu actual empresa de hosting no es lo suficientemente segura, es hora de migrar a una nueva plataforma de alojamiento. Esto es lo que debes tener en cuenta cuando busques uno:

  • Tipo de hosting. Los tipos de alojamiento compartido y de WordPress tienden a ser más vulnerables a los ciberataques que otros tipos de alojamiento debido a que comparten recursos. Selecciona uno que también ofrezca VPS o alojamiento dedicado para aislar tus recursos.
  • Seguridad. Un buen proveedor de alojamiento monitorea su red en busca de actividades sospechosas y actualiza periódicamente el software y el hardware de sus servidores. También debe tener seguridad en el servidor y protección contra todo tipo de ciberataques.
  • Características. Independientemente del tipo de alojamiento, tener copias de seguridad automáticas y herramientas de seguridad para prevenir el malware es una característica imprescindible para salvaguardar tu sitio. En el peor de los casos, podrás utilizarlo para restaurar un sitio web con problemas.
  • Soporte. Elegir una empresa de alojamiento con un equipo de soporte 24/7 con excelentes conocimientos técnicos es esencial. Ayudarán a proteger tu información y a afrontar cualquier problema técnico y de seguridad que pueda surgir.

El alojamiento de WordPress de Hostinger ofrece los recursos y características esenciales necesarios para proteger tu sitio web en WordPress, como un firewall de aplicaciones web, por ejemplo Monarx. También ofrecemos VPS si prefieres mantener los recursos aislados.

3. Desactivar la edición de archivos

WordPress tiene un editor de archivos integrado que facilita la edición de los archivos PHP de WordPress. Sin embargo, esta característica puede convertirse en un problema si los hackers obtienen el control de la misma.

Por esta razón, algunos usuarios de WordPress prefieren desactivar esta función. Añade la siguiente línea al archivo wp-config.php para desactivar la edición de archivos:

define( 'DISALLOW_FILE_EDIT', true );

Si deseas volver a activar esta función, sólo tienes que eliminar el código anterior de wp-config.php utilizando un cliente FTP o el administrador de archivos de tu proveedor de alojamiento.

4. Restringir el acceso mediante el archivo .htaccess

El archivo .htaccess asegura que los enlaces de WordPress funcionen correctamente. Sin este archivo que establece las reglas correctas, obtendrás muchos errores 404 Not Found en tu sitio.

Además, .htaccess puede bloquear el acceso desde IPs específicas, restringir el acceso a una sola IP y deshabilitar la ejecución de PHP en carpetas particulares. A continuación, te mostraremos cómo utilizar .htaccess para reforzar la seguridad de tu WordPress.

¡Importante! Haz siempre una copia de seguridad de tu .htaccess existente antes de hacer cualquier cambio. Esto puede ayudarte a restaurar tu sitio fácilmente si algo va mal.

Desactivar la ejecución de PHP en carpetas específicas

Los hackers suelen subir backdoor scripts a la carpeta Uploads. Por defecto, esta carpeta sólo alberga los archivos multimedia subidos, por lo que no debería contener ningún archivo PHP.

Para asegurar tu sitio WordPress, desactiva la ejecución de PHP en la carpeta creando un nuevo archivo .htaccess en /wp-content/uploads/ con estas reglas:

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

Proteger el archivo wp-config.php

El archivo wp-config.php en el directorio raíz contiene la configuración del núcleo de WordPress y los detalles de la base de datos MySQL. Por lo tanto, el archivo suele ser el objetivo principal de un hacker.

Hay que proteger este archivo y garantizar la seguridad aplicando estas reglas .htaccess:

<files wp-config.php>
order allow,deny
deny from all
</files>

5. Cambiar el prefijo de la base de datos de WordPress por defecto

La base de datos de WordPress contiene y almacena toda la información crucial necesaria para que tu sitio funcione. Por lo tanto, los hackers suelen hacer ataques de inyección SQL. Esta técnica inyecta código dañino en la base y puede eludir las medidas de seguridad de WordPress y recuperar el contenido.

Más del 50% de los ciberataques consisten en una inyección SQL, lo que la convierte en una de las mayores amenazas. Los hackers ejecutan este ataque porque muchos usuarios olvidan cambiar el prefijo de la base de datos por defecto wp_.

Veamos dos métodos que puedes implementar para proteger tu base de datos de WordPress de los ataques de inyección SQL.

¡Importante! Antes de continuar, asegúrate de hacer una copia de seguridad de tu base de datos MySQL.

Cambiar el prefijo de tabla

  1. Desde tu panel de control de hPanel, accede al Administrador de archivos y abre el archivo wp-config.php. También puedes utilizar un cliente FTP para acceder al archivo.
  2. Busca el valor $table_prefix dentro del código.
    $table_prefix en wp-config.php
  3. Reemplaza el prefijo predeterminado de la base de datos de WordPress wp_ por uno nuevo. Utiliza una combinación de letras y números para crear un prefijo único.
    Reemplazar wp_ por un prefijo personalizado
  4. Haz clic en Save & Close.
  5. Volviendo al panel de control de hPanel, ve a la sección Bases de datos y haz clic en phpMyAdmin. Luego, abre la base de datos haciendo clic en Ingresar a phpMyAdmin.
    La página phpMyAdmin en hPanel.
  6. Si tienes varias bases de datos, busca el nombre de la base de datos en el archivo wp-config.php. Busca el siguiente bloque de código:
    // ** MySQL settings - You can get this info from your web host ** //
    /** The name of the database for WordPress */
    define( 'DB_NAME', 'MySQL Database' );
  7. Desde el panel de control de phpMyAdmin, ve a la pestaña SQL en la barra de menú superior.
    Menú SQL en phpMyAdmin
  8. Introduce la siguiente consulta en el editor de consultas SQL para cambiar el prefijo de tu base de datos de WordPress:
    RENAME table `wp_tablename` TO `wp_1secure1_tablename`;
  9. Recuerda cambiar wp_tablename con el nombre de tu tabla actual y wp_1secure1_tablename con el nuevo prefijo y nombre de la tabla. Repite esta línea en función del número de tablas que quieras renombrar y selecciona Ir.

Actualización de los valores de los prefijos en las tablas

Dependiendo del número de plugins de WordPress instalados, puede que tengas que actualizar algunos valores en la base de datos manualmente. Para ello, ejecuta consultas SQL separadas en las tablas que probablemente tengan valores con el prefijo wp_, entre las que se encuentran las tablas options y usermeta.

Utiliza el siguiente código para filtrar todos los valores que contengan el siguiente prefijo:

SELECT * FROM `wp_1secure1_tablename` WHERE `field_name` LIKE '%wp_%'

wp_1secure1_tablename contiene el nombre de la tabla en la que se quiere realizar la consulta. A su vez, field_name representa el nombre del field/column donde probablemente aparezcan los valores con el prefijo wp_.

A continuación, se explica cómo cambiar manualmente el valor del prefijo:

  1. Desde el panel de control de phpMyAdmin, busca una tabla con el valor del prefijo que quieres actualizar. Por ejemplo, abre wp_1secure1_usermeta.
    usermeta en phpMyAdmin
  2. Ir a la pestaña SQL en la barra de menú superior.
  3. Introduce el código anterior en el editor de consultas SQL para filtrar los valores que contienen wp_, y haz clic en Continuar. Asegúrate de modificar la información de acuerdo con los nombres de tus tablas y campos reales.
    Filtrar valores en SQL en phpMyAdmin
  4. Aparecerán los resultados del filtro. Haz clic en el botón Editar situado junto al campo deseado.
    Resultados del filtro en phpMyAdmin
  5. Cambia el valor del prefijo y haz clic en Continuar. Realiza los pasos 4 y 5 para todos los valores filtrados.
    Cambiar valores en phpMyAdmin
  6. Repite desde el paso 1 para el resto de las tablas de la base de datos para actualizar todos los valores con el prefijo wp_.

6. Desactivar XML-RPC

XML-RPC es una función de WordPress para acceder y publicar contenidos a través de dispositivos móviles, habilitar trackbacks y pingbacks, y utilizar el plugin Jetpack en tu WordPress.

Sin embargo, XML-RPC tiene algunos puntos débiles que los hackers pueden aprovechar. Esto les permite realizar múltiples intentos de acceso sin ser detectados por el software de seguridad, lo que hace que tu sitio sea propenso a ataques de fuerza bruta.

Los hackers también pueden aprovechar la función de pingback XML-RPC para realizar ataques DDoS. Permite a los atacantes enviar pingbacks a miles de sitios web a la vez, lo que puede colapsar los sitios objetivo.

Para determinar si XML-RPC está habilitado, ejecuta tu sitio a través de un servicio de validación XML-RPC y comprueba si recibes un mensaje de éxito. Esto significa que la función XML-RPC se está ejecutando.

Puedes desactivar la función XML-RPC utilizando un plugin o de forma manual.

Desactivar XML-RPC mediante un plugin

El uso de un plugin es la forma más rápida y sencilla de bloquear la función XML-RPC. Así desactivarás automáticamente algunas de las funcionalidades de XML-RPC, evitando que los hackers realicen ataques utilizando este fallo.

Desactivar XML-RPC manualmente

Otra forma de detener todas las peticiones XML-RPC entrantes es hacerlo manualmente. Localiza el archivo .htaccess en tu directorio raíz y pega el siguiente fragmento:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
 allow from 000.00.000.000
</Files>

Para permitir que XML-RPC acceda a una IP concreta, sustituye el 000.00.000.000 por la dirección IP o elimina la línea de código por completo.

7. Ocultar la versión de WordPress

Los hackers pueden entrar en tu sitio más fácilmente si saben qué versión de WordPress estás ejecutando. Pueden utilizar las vulnerabilidades de esa versión para atacar tu sitio, especialmente si se trata de una versión antigua de WordPress.

Por suerte, es posible ocultar la información utilizando el Editor de Temas de WordPress. Sigue los pasos para hacerlo:

  1. En el panel de control de WordPress, ve a Apariencia → Editor de archivos de temas.
  2. Elige tu tema actual y selecciona el archivo functions.php.
    Editor de archivos de temas en WordPress
  3. Para eliminar el número de versión de la cabecera y de los canales RSS, pega el siguiente código en el archivo functions.php:
    function dartcreations_remove_version() {
    return '';
    } add_filter('the_generator', 'dartcreations_remove_version');
  4. La etiqueta meta del generador de WordPress también muestra el número de versión de WordPress. Añade esta línea para deshacerte de él:
    remove_action('wp_head', 'wp_generator');
  5. Haz clic en Actualizar archivo para guardar los cambios.

8. Bloquear el Hotlinking

Hotlinking es el término utilizado cuando alguien muestra recursos de tu web, normalmente una imagen, en su página web. Cada vez que la gente visita un sitio web con hotlinks que dirigen a tu contenido, utiliza los recursos de tu servidor web, ralentizando tu sitio.

Para ver si tu contenido se ha enlazado a través de un hotlink, escribe la siguiente consulta en Google Images, sustituyendo tusitioweb.com por tu dominio:

inurl:tusitioweb.com -site:tusitioweb.com

Para evitar el hotlinking, utiliza un cliente FTP, un plugin de seguridad de WordPress, un CDN o edita la configuración del panel de control.

9. Gestionar los permisos de los archivos

Evita que los hackers accedan a tu cuenta de administrador determinando qué usuarios pueden leer, escribir o ejecutar tus archivos o carpetas de WordPress.

Puedes utilizar el administrador de archivos de tu alojamiento web, el cliente FTP o la línea de comandos para gestionar los permisos de archivos y carpetas.

Por lo general, los permisos se establecen por defecto, los cuales pueden variar dependiendo de los diferentes archivos o carpetas. Específicamente para la carpeta wp-admin y el archivo wpconfig, asegúrate de autorizar sólo al Propietario para que pueda escribir.

La ventana de permisos del gestor de archivos Hostinger

Conclusión

Los ciberataques pueden adoptar diferentes formas, desde la inyección de malware hasta los ataques DDoS. Los sitios web de WordPress, en particular, son objetivos comunes para los hackers debido a la popularidad del CMS.

Por lo tanto, los propietarios deben saber cómo asegurar sus sitios. Para recapitular, aquí hay 22 métodos para hacer que tu sitio web de WordPress sea más seguro:

  1. Mantener tu sitio web actualizado.
  2. Utilizar credenciales de inicio de sesión de wp-admin seguras.
  3. Configurar la lista de seguridad y la lista de bloqueo para la página de administración.
  4. Utilizar un tema de WordPress de confianza.
  5. Instalar un certificado SSL para una transferencia de datos segura.
  6. Eliminar los temas y plugins de WordPress que no se utilizan.
  7. Habilitar la autenticación de dos factores.
  8. Crear copias de seguridad regularmente.
  9. Limitar el número de intentos fallidos de inicio de sesión.
  10. Cambiar la URL de tu página de inicio de sesión de WordPress.
  11. Cerrar automáticamente la sesión de los usuarios inactivos.
  12. Supervisar la actividad de los usuarios.
  13. Escanear regularmente tu sitio en busca de malware.
  14. Desactivar la función de notificación de errores de PHP.
  15. Migrar a un hosting más seguro.
  16. Desactivar la edición de archivos.
  17. Utilizar .htaccess para desactivar la ejecución de archivos PHP y proteger el archivo wp-config.php.
  18. Cambiar el prefijo de la base de datos de WordPress por defecto.
  19. Desactivar la función XML-RPC.
  20. Ocultar la versión de WordPress.
  21. Bloquear el hotlinking desde otros sitios web.
  22. Gestionar los permisos de archivos y carpetas.

Sin embargo, asegurar un sitio no es una tarea de una sola vez. Es necesario reevaluar continuamente, ya que los ciberataques están en constante evolución. El riesgo siempre estará ahí, pero puedes aplicar las medidas de seguridad para reducir esos riesgos.

Esperamos que este artículo te haya ayudado a entender la importancia de la seguridad de WordPress y cómo implementarla.

No dudes en dejar un comentario si tienes alguna duda o más consejos de seguridad para WordPress.

Cómo mejorar la seguridad de WordPress FAQ

¿WordPress necesita un firewall?

La configuración de un firewall es necesaria, ya que ayuda a proteger tu sitio contra intentos de piratería u otras formas de ciberataques, bloqueando el tráfico no deseado. Dado que WordPress no tiene un firewall incorporado, puedes configurarlo descargando un plugin como Sucuri.

¿Es fácil hackear WordPress?

WordPress es una plataforma segura. La seguridad de WordPress no solo tiene que ver con la tecnología, sino también con los factores humanos. No importa lo inteligente que sea tu seguridad web, tu sitio puede ser fácilmente atacado si no tomas ninguna medida de seguridad (el uso de contraseñas seguras, etc.).

¿Por qué mi WordPress no es seguro?

Si tu navegador muestra que tu sitio no es seguro, significa que no tiene un certificado SSL o que el SSL no está configurado correctamente. Considera instalar uno o cambiar a HTTPS para solucionar el problema.

¿Es necesario un plugin de seguridad para WordPress?

Sí, instalar un plugin de seguridad para WordPress como Jetpack y Sucuri puede ayudar a proteger tu sitio a largo plazo. Recuerda instalar solo los necesarios, ya que tener demasiados plugins puede afectar a tu sitio.

¿Cómo puedo proteger mi sitio sin plugins?

Empieza por asegurarte de que utilizas un hosting seguro. Si no, migra a uno más seguro inmediatamente. Luego, modifica la configuración para mejorar la seguridad, por ejemplo, gestionando los permisos de los archivos, deshabilitando los informes de errores de PHP y XML-RPC y restringiendo el acceso al archivo wp-config.php. Además, bloquea los hotlinks de otros sitios web.

​​ ¿Por qué se hackea tanto WordPress?

Muchos sitios de WordPress son hackeados porque el propietario no aplica suficientes medidas para proteger WordPress. Eso deja a esos sitios con varias vulnerabilidades que abren el camino a potenciales atacantes. Los atacantes también atacan regularmente los sitios web con WordPress porque es utilizado por casi la mitad de los sitios web existentes.

¿Por qué está siendo atacado mi sitio?

Tu sitio de WordPress puede que tenga vulnerabilidades de seguridad como plugins obsoletos, contraseñas débiles y acceso desprotegido al directorio wp-admin. Realiza un mantenimiento periódico y utiliza nuestra lista de comprobación de seguridad de WordPress para asegurarte de que has aplicado suficientes medidas de seguridad a tu sitio y protegerlo de cualquier posible ataque.

¿Cuál es el mejor plugin de seguridad para WordPress?

Recomendamos Wordfence o Sucuri como los mejores plugins de seguridad para WordPress. Ambos ofrecen características similares, incluyendo un escáner de malware, un firewall de aplicaciones web y la supervisión del tráfico. Sucuri es genial si es una tienda online, pero si estás buscando un plugin de seguridad para WordPress gratuito, entonces Wordfence es una gran opción.

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.