Cómo proteger tu sitio WordPress – guía completa de seguridad para WordPress

Guía de Seguridad de WordPress

Tu sitio web se ve genial, tienes un tráfico excelente y, en general, estás satisfecho. Sin embargo, todo esto no sirve de nada si tu sitio es hackeado y pierdes contenido, clientes y el acceso a tu sitio.

Para evitar que esto ocurra, he redactado este concepto integral de seguridad para tu sitio web WordPress.

He revisado por completo el artículo Hardening WordPress para mostrarte cómo implementar todas las recomendaciones de seguridad en una sencilla guía paso a paso, y hacer que tu sitio WordPress sea a prueba de balas frente a los intentos de hackeo.

Vídeo: cómo proteger tu sitio web WordPress

Si prefieres ver un vídeo en lugar de leer este artículo sobre cómo proteger tu sitio WordPress, puedes ver este vídeo:

¿Quieres ver más vídeos como este?
Check out our canal de YouTube.

He dividido este artículo en tres pasos.

  • Primero, analizamos la base de un sitio WordPress seguro: el proveedor de hosting.
  • En el segundo paso, instalamos el plugin "WP STAGING" para crear una red de seguridad al instalar nuevos plugins o temas. También configuraremos un plugin de copia de seguridad para restaurar el sitio WordPress rápidamente, en el peor de los casos, debido a un ataque de hackeo exitoso.
  • En el último paso, configuraremos el plugin de seguridad "Solid Security" para evitar que los atacantes accedan a nuestro sitio.

Elegir el proveedor de hosting adecuado

Empecemos por la base de seguridad de tu sitio: el proveedor de hosting.

Hay muchísimos proveedores de hosting y la mayoría cumplen los requisitos mínimos para WordPress, pero elegir uno entre la multitud puede llevar mucho tiempo.

  1. PHP versión 7.4 o superior.
  2. MySQL versión 8.0 o superior, O MariaDB versión 10.5 o superior.
  3. Compatibilidad con HTTPS

[Esto es válido para WordPress 6.7 – marzo de 2025]

En cualquier caso, verifica que tu proveedor cumple estos requisitos.

Si no estás seguro de qué proveedor elegir, opta por uno de los proveedores de hosting recomendados por WordPress.org.

Bluehost proveedor de hosting WordPress
Bluehost
DreamHost proveedor de hosting WordPress
DreamHost
SiteGround proveedor de hosting WordPress
SiteGround

Si ya utilizas uno de los proveedores recomendados o has verificado los criterios de seguridad de tu proveedor, puedes seguir protegiendo tu sitio.

Actualizaciones seguras y creación de una copia de seguridad

Se recomienda actualizar el núcleo de WordPress y los plugins con regularidad para corregir problemas de seguridad y errores, ya que el software obsoleto deja de recibir actualizaciones de seguridad y tu sitio se vuelve mucho más vulnerable a intentos de hackeo maliciosos.

Por lo tanto, asegúrate de mantener actualizados el núcleo de WordPress, los plugins y los temas. Abre el Escritorio de WordPress y haz clic en "Actualizaciones". Obtendrás una vista general de las actualizaciones del sistema central de WordPress, los plugins y los temas.

Actualizaciones de WordPress
WordPress Updates

Algunos usuarios de WordPress tienen miedo de actualizar sus sitios WordPress. Temen que hacerlo dañe su sitio.

WordPress Critical Error

Tratamos este tema en un artículo aparte titulado "Por qué y cómo deberías desactivar las actualizaciones automáticas de WordPress."

Actualización segura con "WP STAGING"

Para evitar daños a tu sitio web durante las pruebas y los ajustes, puedes usar el plugin gratuito "WP STAGING".

Abre el área "Plugins" en el menú lateral y haz clic en "Añadir nuevo". A continuación, escribe "WP STAGING" en la barra de búsqueda. Instala y activa el plugin.

Plugin WP Staging
WP STAGING Plugin

Abre el plugin WP STAGING. A continuación, haz clic en "Create Staging Site", asígnale un nombre y haz clic en "Start Cloning". El plugin crea una copia de tu sitio. Después, puedes usar el botón "Open Staging Site" para acceder a tu sitio de staging y probar todos los cambios en un entorno seguro sin poner en peligro tu sitio de producción.

WP Staging crear nuevo sitio de staging
WP STAGING Create New Staging Site

Te recomiendo ir directamente a la implementación y probar los ajustes del artículo en un sitio de staging en lugar de trabajar directamente en tu sitio web.

Puedes reconocer por la barra de menú naranja que estás trabajando en el sitio de staging creado por WP STAGING.

Barra de menú naranja de WPSTAGING
WPSTAGING Orange Menu Bar

Crear una copia de seguridad con "WP Staging"

Hacer una copia de seguridad de tu sitio web es un proceso fundamental para cualquier sitio WordPress. Para evitar perder todo el progreso, los datos y los pedidos, en el peor de los casos cuando tu sitio sea hackeado, debes tener una copia de seguridad del sitio WordPress.

Empecemos.

Ve a WordPress > Plugins > Añadir nuevo y busca "WP STAGING"

Si no estás seguro de cómo instalar el plugin, consulta nuestro artículo "How to install WP STAGING | PRO".

Ahora haz clic en el botón "Backup & Migration". WP STAGING | PRO buscará copias de seguridad existentes.

Botón WP Staging Backup & Restore
Backup & Restore Button

Las opciones son "Create Backup" y "Upload Backup".

Haz clic en "Create a backup".

Botón WP Staging Create Backup
Create a New Backup Button

Opcionalmente, puedes asignar un nombre con el que identificar la copia de seguridad.

Por ejemplo, si planeas actualizar WooCommerce o cualquier otro plugin, puedes llamar a tu copia de seguridad "Backup before installing WooCommerce".

A continuación, selecciona los componentes de tu sitio que WP STAGING | PRO debe incluir en la copia de seguridad. Deja todas las casillas marcadas a menos que quieras hacer una prueba concreta. Ahora haz clic en "Start Backup".

WP Staging crear copia de seguridad del sitio
Start the Backup Process

El tiempo que tarda en crearse una copia de seguridad varía y depende del tamaño de tu sitio, pero la función de copia de seguridad de WP STAGING es bastante rápida y normalmente mucho más rápida que la de otras herramientas de copia de seguridad. Por lo tanto, especialmente en sitios muy grandes, notarás una ventaja considerable de rendimiento frente a otras herramientas.

Proceso de copia de seguridad de WP Staging
The Backup is Completed
Copia de seguridad de WP Staging completada

Encontrarás la copia de seguridad recién creada en la lista "Your Backups" cuando esté lista. Los iconos indican qué componentes incluye la copia de seguridad.

Contenido de la copia de seguridad de WP Staging

Descargar el archivo de copia de seguridad

Para descargar la copia de seguridad, haz clic en Actions y en Download. Eso descargará un archivo con la extensión ".wpstg".

Opción de descarga de copia de seguridad de WP Staging
Download the Backup

Siempre se recomienda descargar el archivo de copia de seguridad a un ordenador local, porque quieres asegurarte de tener siempre acceso al archivo de copia de seguridad. Por ejemplo, si un atacante hackea tu sitio, podría borrar el archivo de copia de seguridad de allí y ya no podrías restaurar el sitio.

Descargar archivo de copia de seguridad de WP Staging en el sistema local

Restaurar el archivo de copia de seguridad

Para restaurar la copia de seguridad en caso de un sitio web roto, puedes seleccionar la copia de seguridad de la lista de las existentes o, como se recomienda, subir el archivo de copia de seguridad desde tu ordenador local.

Una gran característica es que incluso puedes subir el archivo de copia de seguridad a cualquier otro sitio WordPress existente y usar ese archivo para clonar tu sitio en otro servidor o sitio.

Vuelve a WP STAGING y haz clic en el botón "Upload Backup".

Opción de subida de copia de seguridad de WP Staging
Upload Backup Button

Selecciona la copia de seguridad descargada desde el explorador de archivos y súbela.

Opciones de subida de archivo de copia de seguridad de WP Staging
Select the WP STAGING Backup File

Una vez subida la copia de seguridad, haz clic en Actions y en el botón "Restore", y aparecerá una ventana emergente. Sube tu archivo de copia de seguridad arrastrándolo y soltándolo, introduciendo una "URL" o subiéndolo por "FTP" al directorio indicado. Dentro verás dos botones: "Cancel" y "Next". Haz clic en "Next" para continuar.

WP Staging restaurar copia de seguridad, botón Next

Después de hacer clic en "Next", aparecerá un nuevo cuadro. A continuación, haz clic en "Restore" para iniciar la restauración.

Botón de restauración de copia de seguridad de WP Staging
Click on Restore

Si la restauración se realiza con éxito, verás el modal "Finished Successfully".

Copia de seguridad de WP Staging completada

Abre tu sitio web y comprueba si el sitio funciona como debería y está totalmente operativo.

Programar copias de seguridad automáticas

Con WP STAGING, puedes ahorrar tiempo y esfuerzo configurando las copias de seguridad para que se ejecuten automáticamente. No tendrás que acordarte de hacer una copia de tu sitio cada vez que hagas un cambio. Puedes relajarte sabiendo que tu sitio siempre está respaldado y a salvo.

Copia de seguridad "Create Backup", desmarca "One-Time-Only" y, a continuación, elige entre las opciones mostradas con qué frecuencia se realizan las copias de seguridad, cuándo se inician y cuántas copias de seguridad mantener.

Copia de seguridad automática de WP Staging

Eso es todo. Con la ayuda de WPSTAGING | PRO, has creado y restaurado una copia de seguridad de todo tu sitio WordPress.

Endurecer tu sitio web con un plugin de seguridad

Para preparar este artículo, he probado los plugins de seguridad más populares: "WordFence" y "Solid Security".

Wordfence e iThemes Security
Wordfence and Solid Security

Ambos son plugins excelentes, pero he decidido elegir Solid Security por su configuración más sencilla y las funciones adicionales para endurecer el sitio WordPress.

Instalar el plugin "Solid Security"

Instala y activa el plugin. Ahora podemos abrir la nueva pestaña "Security" en el menú lateral haciendo clic en "Settings".

Iniciar una comprobación de seguridad inicial

Se abrirá el "Security Check" de Solid Security. Este "Security Check" es una herramienta de un solo clic que instala los módulos necesarios en todo sitio WordPress. Estos incluyen, por ejemplo, la "Brute Force Protection" o la imposición de "Strong Passwords". Explicaré las funciones de los distintos módulos justo después del "Security Check".

Selecciona "Security Check Scan" para continuar.

Solid Security
Security Check
Solid Security: iniciar escaneo del sitio

Se requieren dos clics más para completar el proceso.

Solid Security: SSL, Network Bruteforce Protection

Solid Security: SSL, Network Bruteforce Protection
Solid Security: SSL, Network Bruteforce Protection
Solid Security: SSL, Network Bruteforce Protection

Un clic confirma la "redirección de las solicitudes HTTP a solicitudes HTTPS". Esta función garantiza que no haya páginas no cifradas disponibles para tus visitantes.

El otro clic activa la "Network Brute Force Protection".

Ajustes de Solid Security

Un ataque de fuerza bruta es un método que intenta averiguar contraseñas o claves mediante pruebas automatizadas y aleatorias. Solid Security protege el sitio web con la "Local Brute Force Protection" y a través de una red de "Brute Force Protection". Añades tu sitio WordPress a la red, y Security protege tu sitio frente a ataques que ya han alcanzado otro sitio.

La dirección de correo del administrador está seleccionada aquí por defecto.

También puedes autorizarme a recibir información sobre las novedades; yo dejo esta opción en "No".

Confirma la activación y cierra la comprobación de seguridad.

Escáner de malware

Como muchos plugins, Solid Security ofrece versiones gratuita y pro. Puedes decidir a lo largo del artículo si consideras útil la versión Pro. Si una función de la versión premium tiene sentido para ti, la mencionaré.

Funciones pro de Solid Security
Solid Security Pro Features

Primero, echemos un vistazo al escaneo de malware.

Iniciar escaneo del sitio
Site Scan

WordPress.org señala que es importante no trasladar toda la responsabilidad de seguridad al proveedor de hosting, sino asumirla uno mismo. Al hacerlo, se refiere en particular a las aplicaciones instaladas.

Usamos el escáner de malware de Solid Security para comprobar si alguna de las aplicaciones que tienes instaladas está clasificada como maliciosa por Solid Security.
Para ello, nos desplazamos hacia abajo y encontramos el escáner a la derecha. La versión gratuita de Solid Security también tiene un escáner de malware, aunque es manual. La versión Pro tiene un escáner de malware automático.

Haz clic en "Run Scan" para escanear tu sitio web. A continuación, ve a la "logs page" para comprobar los resultados.

Registros de Solid Security

Instala plugins únicamente de fuentes fiables para no dar a las aplicaciones maliciosas la oportunidad de entrar en tu sitio web.

Los módulos recomendados de "Solid Security"

Ahora pasamos a los módulos individuales de Solid Security. Hay dos vistas de presentación, la "block view" y la "list view". Es más fácil recorrer los distintos módulos paso a paso en la vista de lista; cambiamos la vista de visualización en la esquina superior izquierda de "block-" a "list view".

Security Check

El módulo "Security Check" solo lista las precauciones estándar que confirmamos al principio de la configuración.

Ajustes globales

"Write to Files": si desactivas esta opción, tendrás que añadir manualmente las opciones de configuración a los archivos "wp-config.php" y ".htaccess". Por lo tanto, no recomiendo quitar esta marca.

Solid Security: Write to Files
Solid Security: Write to Files

Como ajustaremos los permisos de archivo más adelante, retiraremos los permisos de escritura de estos archivos de todas formas, por lo que tiene sentido dejar que Solid Security realice los ajustes hasta ese cambio.

Los "Lockout messages" se muestran al host, al usuario o a la comunidad si Solid Security los bloquea de tu sitio WordPress o marca su dirección IP como maliciosa. Puedes editar estos mensajes para hacerlos más amables si tienes cuentas de cliente en tu sitio.

Solid Security: mensaje de bloqueo

A continuación están los ajustes específicos para los bloqueos. El "Lockout Period" indica cuánto tiempo bloqueará WordPress al usuario / dirección IP tras alcanzar el límite máximo de intentos de inicio de sesión incorrectos.

El "Ban Lookback Period" regula cuánto tiempo recuerda Solid Security los bloqueos y los acumula. El "Ban Threshold" determina cuántos bloqueos puede recibir un usuario o una IP antes de ser bloqueado de forma permanente.

Solid Security: ajustes de bloqueo

Solid Security: ajustes de bloqueo para especificar cuántos intentos de inicio de sesión tiene un usuario / dirección IP antes de ser bloqueado. Nos desplazamos al módulo "Local Brute Force Protection".

"Minutes to Remember Bad Login" indica cuándo Solid Security suma los intentos de inicio de sesión incorrectos. Solid Security contará dos intentos si el usuario / IP introduce datos de inicio de sesión incorrectos a las 17:05 y 17:07. Si el atacante realiza el siguiente intento de inicio de sesión incorrecto a las 18:00, el contador vuelve a empezar en 1.

En el área "Max Login Attempts Per User" puedes especificar cuántos intentos tiene un nombre de usuario antes de ser bloqueado.

"Max Login Attempts Per Host" suena muy similar. Esta área entra en juego si un atacante usa varios ordenadores dentro de una misma dirección IP. La IP se bloquea en cuanto el atacante alcanza ese valor.

Ajusta la configuración en "Local Brute Force Protection" y "General settings" según tu sitio web. Si tienes cuentas de clientes en tu sitio, puedes establecer un valor máximo un poco más alto para los intentos de inicio de sesión incorrectos o acortar la duración del bloqueo. Para sitios en los que solo te conectas tú, puedes permitir menos intentos de inicio de sesión.

Ejemplo: un usuario intenta entrar en tu sitio WordPress cinco veces en cinco minutos. "Local Brute Force Protection" bloquea al usuario durante 15 minutos. Solid Security bloquea al usuario de forma permanente si este bloqueo se repite dos veces en siete días.

Continuemos con el módulo "Global Settings".

La "Authorized Hosts List" te permite añadir hosts que Solid Security no excluirá del sitio WordPress. Esta opción evita que pierdas el acceso a tu sitio si llegaras a desencadenar un bloqueo.

Para ello, haz clic en "Add my current IP to the Authorized Hosts List".

Add my current IP to the Authorized Hosts List

WordPress.org recomienda profundizar en el registro de logs de tu sitio WordPress para solucionar problemas o averiguar qué ha pasado y recuperar tu sitio tras un hackeo.

Solid Security guarda "File Logs".

Solid Security puede guardar tanto "File Logs" como "Database Logs". Como se mencionó en el módulo "Site Scan", puedes acceder a los logs desde el menú lateral haciendo clic en "Logs".

Si ya utilizas muchos plugins y te gusta mantener ordenado tu menú de WordPress, puedes hacerlo marcando la casilla bajo "Hide Security Menu in Admin Bar".

Notification Center

En el módulo "Notification Center", desplázate hasta "Site Lockouts". Este ajuste está activado por defecto, lo que significa que recibirás una notificación por correo electrónico cada vez que se bloquee a un usuario o host. La configuración depende individualmente de tu sitio web. Lo mejor sería desactivar esta opción en sitios a los que acceden clientes o muchos usuarios de WordPress, ya que a menudo alguien olvida su contraseña. Sin embargo, si solo tú usas este sitio, puedes activarla con tranquilidad, ya que Security puede notificarte directamente de un posible ataque de hackeo.

Solid Security: Site Lockouts
Solid Security: Site Lockouts

User Groups

No necesitamos ajustar ningún parámetro bajo "User Groups".

Away Mode

Recomiendo activar el "Away Mode" con precaución, ya que esto hace inaccesible el escritorio de WordPress a todos los usuarios durante un tiempo seleccionado.

Banned User

En la pestaña "Banned User", puedes bloquear las direcciones IP de usuarios o hosts específicos. Esta opción significa que niegas inmediata y completamente el acceso a tu sitio a esa IP. La lista funciona igual que la "Authorized Hosts List" pero al revés. En lugar de no bloquear nunca direcciones IP específicas, esta lista las bloquea por completo.

Solid Security: Banned Users
Solid Security: Banned Users

Database Backup

Puedes desactivar la función "Database Backup" porque ya hemos instalado un plugin de copia de seguridad que crea copias tanto de la base de datos como de los archivos.

Solid Security: Database Backup
Solid Security: Database Backup

File Change Detection

Recomiendo activar "File Change Detection". Si, por ejemplo, un atacante ha hackeado el servidor de tu proveedor de hosting e intenta modificar o eliminar tus datos del núcleo de WordPress, recibirás una notificación por correo electrónico. WordPress.org recomienda habilitar la supervisión de cambios en archivos.

Solid Security: File Change Detection

File Permission

El módulo "File Permission" nos ofrece una visión fascinante del núcleo de nuestro sitio WordPress. Se recomienda comprobar los permisos de archivo.

Abre la ventana del módulo y haz clic en "Load File Permission Details". Solid Security muestra ahora las rutas de los archivos relevantes para la seguridad de WordPress y los derechos de acceso a los archivos o carpetas. Se muestran tanto el valor actual como el valor objetivo. En mi caso, Solid Security sugiere un cambio en dos posiciones: los archivos "wp-config.php" y ".htaccess".

Solid Security: permisos de archivo
Solid Security: Tools > File Permissions

Un número de tres dígitos regula los permisos de archivo. El primer número regula los permisos del "user"; este es el administrador del sitio. Varias personas pueden tener derechos de administrador. El segundo número regula los permisos del "Group"; esto incluye a los demás usuarios de tu sitio, por ejemplo editores, colaboradores u otros roles de usuario. El último número describe los derechos para "World", que incluye a todos en Internet que acceden a tu sitio.

Un número de tres dígitos regula los permisos de archivo
A three-digit number regulates the file permissions

El wp-config.php es el archivo de configuración de tu aplicación WordPress. Como es uno de los archivos más críticos, debes asegurarte de protegerlo adecuadamente.

Solid Security recomienda aquí "444"; todos tienen acceso de lectura, pero nadie puede escribir.

Solid Security: File Permission Suggestion «444»

WordPress.org recomienda proteger el archivo con "400" / "440". Con el valor "440", tú como administrador y el usuario tenéis acceso de lectura, pero ningún visitante. Con "400", solo tú como administrador tienes acceso de lectura; esta es la opción más segura.

WordPress.org: File Permission Suggestion «400» / «440»

Es crucial entender que estos permisos de archivo se refieren al sitio real; tú, como propietario del sitio, puedes ajustar estos permisos en cualquier momento mediante FTP / cPanel y nunca pierdes el acceso real.

El valor a elegir depende de la configuración del servidor. WordPress.org recomienda bloquear tus permisos de archivo tanto como sea posible y aflojar esas restricciones solo si necesitas permitir acceso de escritura. Esto significa empezar con el permiso "400" o "440" e ir aumentando el valor desde ahí hasta que WordPress funcione. Usa como máximo "600" o "640".

Ahora entiendes cómo se componen los permisos de archivo y qué permisos necesitamos ajustar.

Sin embargo, sería contraproducente implementar de inmediato el ajuste de los permisos de archivo, ya que estaríamos negando a Solid Security los permisos de escritura, lo que significaría tener que añadir manualmente los cambios al archivo "wp-config.php" al final de la configuración.

Ajustaremos los permisos de archivo al cubrir el módulo "System Tweaks".

Local Brute Force Protection

El siguiente módulo es "Local Brute Force Protection". Ya hemos realizado estos ajustes en la configuración general.

Network Brute Force Protection

También hicimos los ajustes de "Network Brute Force Protection" al principio durante el "Security Check".

Password Requirements

Usar una contraseña segura es otro aspecto crucial para evitar posibles vulnerabilidades.

Deberías evitar lo siguiente al elegir una contraseña:

Recomendaciones de WordPress.org para contraseñas seguras
WordPress.org: recommendations for strong passwords

El módulo "Strong Password" ayuda a implementar estos requisitos.

Por defecto, Solid Security activa este ajuste para todos los roles de usuario. Deberías ajustar esta configuración en función de tu sitio. Por ejemplo, puedes forzar contraseñas seguras solo para el rol de Administrador.

Solid Security: contraseñas seguras
Solid Security: Strong Passwords

También se recomienda la autenticación de dos factores.

La técnica de autenticación de dos factores requiere que los usuarios inicien sesión mediante un método de autenticación en dos pasos. El primer paso es el nombre de usuario y la contraseña, y el segundo factor es la autenticación, que es un código proveniente de un dispositivo o aplicación independiente.

Esta función está disponible en la versión Pro de Solid Security. Como alternativa, puedes buscar el plugin gratuito de autenticación de dos factores "WP2FA" en el repositorio de plugins.

Instalar el plugin WP 2FA
Install – WP 2FA Plugin

Primero necesitas instalar y activar el plugin de autenticación de dos factores. Tras la activación, haz clic en los plugins de WordPress bajo "WP 2FA – Two-factor authentication for WordPress" en "Configure 2FA Settings". Esto te llevará al "setup wizard".

A continuación, instala una app 2FA en tu teléfono. Recomiendo "Google Authenticator".

App Google Authenticator
Google Authenticator App

Abre tu aplicación de autenticación y escanea el código QR en el "Setup wizard".

Introduce el código que se muestra en la app de tu smartphone.

WP 2FA: escanea el código QR
WP 2FA: Scan the QR Code

Si necesitas más ayuda para configurar la app, haz clic en "For detailed guides for your desired app, click below".

Eso es todo; tu app de autenticación guardará ahora el código enviado una sola vez por "WP2FA". Ahora realiza los ajustes que mejor se adapten a tu sitio WordPress.

La próxima vez que inicies sesión en tu sitio, el plugin te pedirá el código de autenticación de dos factores tras introducir tu contraseña.

WP 2FA: inicio de sesión
WP 2FA: Login

Para ello, abre de nuevo la aplicación de autenticación en tu teléfono e introduce el código que veas en ella.

Volvamos a Solid Security.

SSL

El módulo "SSL" redirige todas las solicitudes "HTTP" a HTTPS si hay un certificado SSL disponible. Solid Security activó este módulo en el "Security Check".

System Tweaks

Abre "System Tweaks" y haz clic en "Enable". Necesitamos marcar algunas casillas. Los módulos "System Tweaks" y "WordPress Tweaks" tienen varias optimizaciones para mejorar aún más la seguridad de tu sitio WordPress. Sin embargo, algunas de estas opciones pueden entrar en conflicto con tu sitio; depende de tu web. Por tanto, comprueba la funcionalidad completa después de cada activación marcando la casilla, haciendo clic en "Save Settings" y recargando el frontend de la página.

iThemes Security: prueba tu sitio después de activar cada ajuste
Solid Security: Test Your Site After Enabling Each Setting

Directory browsing: los hackers pueden usar el examen de directorios para averiguar si hay archivos con vulnerabilidades conocidas en tu sitio WordPress y aprovecharlos para acceder a tu sitio.

Examinar los directorios también puede usarse para curiosear en tus archivos, copiar imágenes, descubrir tu estructura de directorios y obtener otra información sobre el sitio. Por este motivo, recomiendo encarecidamente activar "disable directory browsing".

Para comprobar si el directorio de tu sitio ya está desactivado, introduce example.com/wp-content. Si recibes una página en blanco, todo está bien, pero si tu sitio permite a los visitantes acceder al directorio, hay un problema de seguridad significativo.

File write permissions: como se mencionó en el módulo "File Permission", Solid Security solo permite establecer los permisos de archivo en el valor "444".

iThemes Security: eliminar permisos de escritura de archivos
Solid Security: Remove File Writing Permissions v

Sin embargo, como WordPress.org recomienda usar "400" o "440", lo cambiamos manualmente por FTP.

WordPress.org: sugerencia de permisos de archivo "400" / "440"
WordPress.org: File Permission Suggestion «400» / «440»

Yo uso "FileZilla" para acceder por FTP a la base de datos de la instalación de WordPress en el servidor del proveedor de hosting. Como alternativa, también puedes hacerlo a través de cPanel.

Filezilla
Filezilla

Conéctate al servidor; obtendrás el "Host", el "Username" y la "Password" de tu proveedor de hosting.
Se recomienda usar cifrado SFTP al conectarte a tu servidor. Si no estás seguro de si tu proveedor ofrece SFTP, pregúntale. Usar SFTP es igual que FTP, salvo que tu contraseña y otros datos van cifrados y se transmiten entre tu ordenador y tu sitio.

Abre la carpeta "HTML". Allí encontrarás el archivo wp-config.php.

Filezilla: «wp-config.php» and «.htaccess» Files

Selecciona el archivo "wp-config.php" y haz clic con el botón derecho para abrir el menú contextual. Haz clic en "file permission".

Filezilla: permisos de archivo

Ahora puedes asignar los permisos de archivo deseados. Yo retiro los permisos de lectura a "public" y "group" y retiro los permisos de escritura al "owner", también conocido como "admin".

Filezilla: File Permissions «wp-config.php»

Haz clic en OK y FileZilla guardará los nuevos permisos.

Haz estos mismos cambios para el archivo ".htaccess" de nuevo. Retira los permisos de lectura a "public" y "group" y retira los permisos de escritura al "owner".

Filezilla: permisos de archivo ".htaccess"
Filezilla: File Permissions «.htaccess»

No cambies las demás rutas de archivos, por ejemplo, la ruta "wp-content"; de lo contrario, WordPress dejará de funcionar correctamente.

Volvamos al módulo "System Tweaks" en Solid Security.

"PHP in uploads, PHP in plugins, PHP in themes". Si alguien intenta subir un archivo PHP al frontend de tu sitio, incluidos los apartados de medios, plugins y temas, casi siempre se trata de un posible ataque. Por tanto, esta opción prohíbe el formato de archivo "PHP" en esos directorios.

WordPress Salts

Las "WordPress Salts" protegen las contraseñas que guardas en el navegador. Si guardas tu contraseña en el navegador al iniciar sesión, WordPress almacena esa contraseña en dos cookies. Sin embargo, si WordPress hubiera guardado tu contraseña en texto plano, los atacantes podrían descifrarla rápidamente.

Las claves de seguridad y los salts evitan este problema trabajando juntos para convertir criptográficamente esa contraseña en texto plano en una mezcla aleatoria de caracteres.

Puedes encontrar estas claves de seguridad y salts en el archivo wp-config.php; cuatro claves y cuatro salts.

«wp-config-php»: Security Keys and Salts

Al confirmar "Change WordPress Salts" y guardar los ajustes, Solid Security cambia los salts de WordPress. Sin embargo, esto también significa que todos los usuarios cerrarán su sesión actual y tendrán que volver a iniciar sesión. Así que piensa cuándo hacer este cambio. Solid Security recomienda cambiar los "Salts" de WordPress al menos una vez al mes.

WordPress tweaks

Al igual que con los system tweaks, también podemos realizar cambios relevantes en los "WordPress Tweaks" marcando algunas casillas. Como con los "System Tweaks", asegúrate de comprobar la plena funcionalidad de tu sitio después de cada activación.

iThemes Security: prueba tu sitio después de activar cada ajuste
Solid Security: Test Your Site After Enabling Each Setting

Primero, marcamos la casilla junto a "Comment Spam"; esto reduce el spam en el área de comentarios.

También nos aseguramos de que el File Editor esté desactivado; esta es otra recomendación. WordPress ofrece por defecto la opción de editar tanto plugins como diseños. Este editor abre otra posibilidad para que los atacantes accedan a tu sitio.

Solid Security: desactivar el File Editor
Solid Security: Disable the File Editor

Lo mismo ocurre con "XML-RPC". "XML-RPC" es una función de WordPress que tú o los plugins podéis usar para transferir datos. "XML-RPC" también ofrece a los atacantes la oportunidad de acceder a tu sitio. Esta interfaz es relevante para usar la app de WordPress, trackbacks, pingbacks y el plugin JetPack. Si utilizas una de estas funciones, no puedes desactivar la interfaz "XML-RPC"; de lo contrario, selecciona "Disable XML-RPC".

Haz clic en "Save Settings".

Los módulos avanzados de "Solid Security"

Llegados a este punto, hemos terminado con los módulos "Recommended" de Solid Security.

Sin embargo, también hay módulos "Advanced" que ayudan a realizar simples cambios con un clic mediante estos módulos, cambios que de otro modo tendríamos que hacer manualmente.

Como he mencionado

quiero recordarte que pruebes todos los cambios en un sitio de staging. De lo contrario, podría provocar complicaciones en tu sitio.

Admin User

El módulo avanzado "Admin User" cumple otra recomendación de WordPress.org.
WordPress.org recomienda usar el principio de "Security through obscurity" en dos puntos.

El primero es renombrar la cuenta de administrador; el segundo, cambiar el "table_prefix". Solid Security ofrece la posibilidad de realizar ambos ajustes; el cambio del "table_prefix" se realiza en el paso de después del siguiente.

Al instalar WordPress, el nombre de usuario de admin es "admin" por defecto. Este ajuste por defecto no suele cambiarse, especialmente con las instalaciones de WordPress de un solo clic del proveedor de hosting. Pero incluso si hubieras instalado tú WordPress, quizás no hayas cambiado el nombre de usuario porque no sabías algo mejor. Eso facilita mucho a los atacantes el acceso al sitio, ya que no tienen que descifrar el nombre y la contraseña, solo la contraseña.

Si tu nombre de usuario de administrador es "admin", verás el campo "New Admin Username". Si no ves ese campo, significa que hiciste todo correctamente durante la instalación.

Solid Security: nuevo nombre de usuario admin
Solid Security: New Admin Username

Me salto el campo "Change User ID 1" en este momento, ya que puede provocar complicaciones al usar plugins.

Change Content Directory

Lo mismo ocurre con el siguiente módulo, "Change Content Directory". Como dice la advertencia, solo deberías usar este módulo al instalar WordPress.

Change Database Table Prefix

Llegamos ahora al segundo punto donde WordPress.org recomienda el principio "Security through obscurity"; el módulo "Change Database Table Prefix" realiza este ajuste.

Muchos ataques de inyección SQL específicos de WordPress asumen que el "table_prefix" tiene el valor por defecto "wp_". Cambiar este prefijo puede bloquear algunos ataques de inyección SQL.

Si tu prefijo de tabla es "wp_", verás el siguiente mensaje con el consejo de cambiar el prefijo. Se muestra "wpstg0_" como prefijo de tabla porque estoy en el sitio de staging y WP STAGING ha creado este prefijo de tabla.

iThemes: cambiar prefijo de tabla
Solid Security: New Change Table Prefix

Puedes ver la base de datos con el plugin "PhpMyAdmin". Como con los plugins anteriores, puedes descargarlo desde "Plugin" y "Add New". Luego ábrelo desde el menú lateral.

Plugin "phpMyAdmin"
«phpMyAdmin» Plugin

Ahora puedes ver las tablas con "wpstg0"; estas son las tablas del sitio de staging. Debajo están las tablas del sitio de producción con el prefijo "wp_".

phpMyAdmin: Staging Site Tables
phpMyAdmin: tablas del sitio de producción
phpMyAdmin: Production Site Tables

Volveré a Solid Security. Al seleccionar "Yes" y "Save Settings", Solid Security asignará un nuevo prefijo más complejo a las tablas.

Nuevo prefijo de tabla de base de datos
New database table prefix

Cambio de nuevo a la pestaña "PhpMyAdmin" y, tras actualizar la página, veo el nuevo prefijo delante de las tablas.

phpMyAdmin: nuevo prefijo de tabla de base de datos
phpMyAdmin: New database table prefix

Hide Backend

El módulo "Hide Backend" dificulta a los atacantes el acceso al área de inicio de sesión de WordPress. Por defecto, cualquiera puede llegar a la página de inicio de sesión a través de "example.com/wp-admin" y "example.com/wp-login.php".

Como esta configuración es idéntica para todos los sitios WordPress, los atacantes pueden identificar de inmediato el área de inicio de sesión, donde inician su ataque de fuerza bruta.

Antes de explicar el permiso de inicio de sesión, me gustaría mencionar que no he activado el módulo porque puede causar problemas de inicio de sesión al usar determinados plugins.

Bajo "Login Slug", puedes ver la extensión de inicio de sesión actual, cambiar la extensión y anotarla. La próxima vez que accedas a tu sitio, introduce "example.com/nueva extensión".

El módulo puede ser útil para evitar ataques de fuerza bruta sencillos. Si lo deseas, prueba si el módulo provoca complicaciones.

wp-config.php Rules

En el último módulo, "wp-config.php Rules", Solid Security puede comprobar si todos los módulos pueden actuar correctamente.

Si Solid Security no encuentra cambios necesarios, recibirás el mensaje "There is nothing that needs to be written to your wp-config.php file".

De lo contrario, recibirás el mensaje "The following rules need to be written to your wp-config.php".

iThemes: reglas de "wp-config.php"

Solid Security: reglas de "wp-config.php". Este mensaje aparece si no tiene permiso de escritura para el archivo "wp-config.php".

Usamos FileZilla para volver a acceder por FTP a la base de datos del sitio WordPress y escribir las reglas requeridas por Solid Security en el archivo "wp-config.php". Como ya sabes por la personalización de los permisos de archivo, el archivo "wp-config.php" se encuentra directamente en la carpeta "HTML". Haz clic con el botón derecho para seleccionar "View / Edit" y luego abre el editor de texto.

Filezilla: "wp-config.php" Ver/Editar
Filezilla: «wp-config.php» View/Edit

Copia y pega las reglas indicadas por Solid Security en el archivo "wp-config.php" directamente debajo de "<? PHP".

Filezilla: insertar las reglas en "wp-config.php"
Filezilla: Insert the Rules into «wp-config.php»

Para explicarlo, la regla "DISALLOW_FILE_EDIT" garantiza que la desactivación del editor de archivos, que hicimos en el módulo "WordPress tweaks", surta efecto.

"FORCE_SSL_ADMIN" significa que el cifrado SSL también es efectivo a nivel de administrador. Solid Security aplicó ese ajuste en el "Security Check" al principio.

Guarda los cambios y cierra el archivo, luego confirma la nueva subida del archivo a través de FileZilla.

Confirmación de cambios en archivos
Filezilla: The file has changed

Después de insertar estas reglas en el archivo "wp-config.php", comprueba si el sitio de staging de tu sitio WordPress sigue siendo funcional. Haz clic en "View Site" en el escritorio de WordPress.

Tras probar los cambios, lleva tu sitio de staging al sitio de producción usando WP STAGING PRO o repite los ajustes en el sitio de producción.

¡Vaya, eso fue un montón de ajustes! Me alegra que hayas llegado hasta el final.

Ahora, tu sitio web está excelentemente posicionado en cuanto a seguridad al elegir el proveedor de hosting adecuado, crear automáticamente una copia de seguridad y adaptar el plugin "Solid Security".

Artículos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.