Cómo proteger tu WordPress de ataques (seguridad básica)
¿Te preocupa que tu WordPress sea vulnerable? Es una pregunta que nos hacen muchísimo en soporte, y con razón. WordPress alimenta más del 40% de la web, lo que lo convierte en un objetivo jugoso para bots y atacantes. Pero aquí está la buena noticia: la mayoría de los ataques exitosos no son por vulnerabilidades complejas, sino por descuidos básicos. Contraseñas débiles, plugins desactualizados o falta de copias de seguridad son la puerta de entrada en el 90% de los casos.
En esta guía extensa, vamos a construir una muralla alrededor de tu sitio paso a paso. No necesitas ser un experto en Linux ni un gurú de la línea de comandos. Solo necesitas seguir estas prácticas de seguridad WordPress que te explico como si estuviéramos tomando un café. Al final, tendrás un plan claro para proteger WordPress de la mayoría de amenazas comunes.
Primero: Entender al enemigo (sin paranoia)
Antes de lanzarnos a configurar cosas, es útil saber qué estamos combatiendo. Un ataque WordPress típico suele ser automatizado. Hay bots que escanean millones de sitios por hora buscando señales débiles: versiones antiguas de plugins, usuarios llamados "admin" o archivos de instalación expuestos.
No te lo tomes como algo personal. Es como alguien que prueba la puerta de todas las casas de una calle. Nuestro objetivo es que, cuando prueben la tuya, esté bien cerrada, tenga una alarma y, si entran, no encuentren nada de valor fácilmente.
Aquí tienes las cinco puertas de entrada más comunes que vamos a reforzar:
- Credenciales débiles (contraseñas fáciles o usuario "admin").
- Componentes desactualizados (núcleo, temas y plugins).
- Plugins mal codificados o con vulnerabilidades conocidas.
- Falta de copias de seguridad (el plan B que siempre salva).
- Exposición de archivos sensibles (como
wp-config.php).
Vamos a por ello.
1. Fortalece el Acceso: Contraseñas y Usuarios
Esta es la base de toda la seguridad WordPress. Si un atacante obtiene tu contraseña de administrador, tiene las llaves del reino. No hace falta que sea un hacker; a veces es un conocido que adivina tu contraseña o un bot que prueba miles de combinaciones por segundo.
### Contraseñas que parecen trabalenguas
Olvídate de "123456", "admin" o tu nombre de mascota. Necesitas una frase de contraseña. Es más fácil de recordar y mucho más difícil de romper.
Una buena técnica es usar una frase de 4 o 5 palabras aleatorias. Por ejemplo: Coche-Azul-Baila-En-La-Luna. Es larga, tiene símbolos y es fácil de recordar para ti.
Regla de oro: Usa un gestor de contraseñas. No memorices todas tus claves, solo la del gestor. Herramientas como Bitwarden o 1Password generan y guardan contraseñas aleatorias de 20 caracteres por ti. Es el mejor regalo que puedes hacerte.
### Elimina al usuario "admin"
Por defecto, muchos sitios tienen un usuario llamado "admin". Esto le da al atacante la mitad del trabajo hecho: ya sabe el nombre de usuario. Solo necesita la contraseña.
Cómo cambiarlo:
- Ve a Usuarios > Todos los usuarios en tu panel de WordPress.
- Crea un nuevo usuario con rol de Administrador y un nombre único (ej.
tu_nombre_admin). - Cierra sesión y inicia sesión con el nuevo usuario.
- Elimina el usuario "admin" antiguo. WordPress te preguntará qué hacer con sus artículos. Puedes asignarlos al nuevo usuario.
### Activa la autenticación de dos factores (2FA)
Esto es como poner un segundo candado. Aunque te roben la contraseña, no podrán entrar sin el código de tu teléfono.
Cómo hacerlo:
- Instala un plugin de seguridad que incluya 2FA, como Wordfence, Solid Security (antes iThemes) o WP 2FA.
- Sigue las instrucciones del plugin para vincular tu teléfono con una app de autenticación (Google Authenticator o Authy).
- Actívalo obligatoriamente para todos los usuarios con rol de administrador y editor.
[TIP] No uses SMS para el 2FA. Es más seguro usar una app de autenticación, ya que los mensajes de texto pueden ser interceptados.
2. Mantén Todo Actualizado: La Vacuna Diaria
Esta es la regla de oro del hardening WordPress. Cada actualización de WordPress, tema o plugin suele incluir parches para vulnerabilidades de seguridad conocidas. Ignorarlas es como dejar la puerta abierta sabiendo que hay un ladrón en el barrio.
### El núcleo de WordPress
WordPress se actualiza solo para versiones menores, pero para las mayores a veces hay que darle al botón.
Cómo hacerlo:
- Ve a Escritorio > Actualizaciones.
- Si hay una versión nueva del núcleo, verás un botón que dice "Actualizar ahora".
- Antes de actualizar, haz una copia de seguridad (lo veremos más adelante). Es raro que algo salga mal, pero mejor prevenir.
### Plugins y temas: el talón de Aquiles
Los plugins son la causa número uno de ataques exitosos. No por ser malos, sino porque a veces se abandonan y quedan con vulnerabilidades sin parchear.
Tu rutina semanal:
- Revisa la pestaña Plugins y Apariencia > Temas.
- Si ves un aviso de actualización, hazlo. Pero primero, lee las notas de la versión. Si el plugin lleva mucho tiempo sin actualizarse (más de 6 meses), es una señal de alarma.
- Desinstala y elimina cualquier plugin o tema que no uses. Un plugin inactivo no se actualiza solo y puede ser una puerta trasera.
[WARNING] Antes de actualizar un plugin crítico (como el de comercio electrónico), haz una copia de seguridad completa y, si es posible, pruébalo en un entorno de pruebas (staging). Una actualización puede romper la compatibilidad con otros plugins.
3. Elige Plugins de Seguridad con Cabeza (y Corazón)
No necesitas instalar diez plugins de seguridad. De hecho, eso puede ralentizar tu sitio y crear conflictos. Uno bueno es suficiente. Estos plugins actúan como un guardia de seguridad 24/7.
¿Qué debe hacer un buen plugin de seguridad?
- Firewall de aplicación web (WAF): Bloquea tráfico malicioso antes de que llegue a tu sitio.
- Escaneo de malware: Revisa tus archivos y base de datos en busca de código malicioso.
- Limitación de intentos de inicio de sesión: Bloquea temporalmente la IP de quien falle la contraseña varias veces.
- Registro de actividad: Te dice quién hizo qué y cuándo en tu panel.
Mis recomendaciones:
- Wordfence: Es el más completo y popular. Tiene una versión gratuita excelente que incluye firewall y escáner. La versión de pago añade reglas de firewall en tiempo real.
- Solid Security: Es ligero y muy configurable. Te permite ocultar la URL de inicio de sesión, deshabilitar la edición de archivos desde el panel y mucho más.
- Sucuri Security: Más que un plugin, es un servicio. Su plugin es gratuito, pero el servicio de protección DNS es de pago. Es la opción más robusta para sitios críticos.
[INFO] No te obsesiones con la configuración avanzada. Con activar el firewall, el escáner y la limitación de intentos de login, ya estás cubierto para el 95% de los casos.
4. Refuerza tu Servidor y Panel de Control (Sysadmin 101)
Aquí es donde entramos en el terreno del servidor. No te asustes, son ajustes sencillos que marcan una gran diferencia. Si tu hosting usa un panel como Syspanel (antes HestiaCP), tienes herramientas gráficas para hacerlo fácilmente.
### Cambia el puerto SSH (si te atreves)
Por defecto, SSH (la forma de conectarte a tu servidor por línea de comandos) usa el puerto 22. Los bots lo saben y lo atacan constantemente. Cambiarlo a otro puerto (ej. 2200) reduce el ruido drásticamente.
Cómo hacerlo en Syspanel (puerto 2106):
- Accede a tu panel Syspanel en el puerto 2106 (ej.
https://tu-servidor.com:2106). - Busca la sección de Servidor o Configuración de Red.
- Localiza la opción de SSH y cambia el puerto de
22a otro número (ej.2222). - IMPORTANTE: Antes de guardar, asegúrate de tener acceso a través de la consola web de tu proveedor de hosting por si acaso. Y nunca cierres la sesión actual hasta que hayas probado la nueva conexión.
[WARNING] Cambiar el puerto SSH es una gran medida, pero si olvidas el nuevo puerto, te quedarás fuera. Guárdalo en un lugar seguro, como tu gestor de contraseñas.
### Activa el firewall (UFW)
El firewall es el portero de tu servidor. Solo deja pasar el tráfico que tú decidas. En Ubuntu, el más fácil de usar es UFW (Uncomplicated Firewall).
Cómo activarlo (si tienes acceso SSH):
- Conéctate a tu servidor por SSH.
- Ejecuta
sudo ufw allow 2106/tcp(para permitir el acceso a Syspanel). - Ejecuta
sudo ufw allow 2222/tcp(si has cambiado el puerto SSH). - Ejecuta
sudo ufw allow 80/tcpysudo ufw allow 443/tcp(para HTTP y HTTPS). - Finalmente, ejecuta
sudo ufw enable.
Esto bloqueará todos los demás puertos. Es una capa de protección excelente contra escaneos de puertos.
### Deshabilita la edición de archivos desde el panel
WordPress permite editar los archivos de temas y plugins desde el editor de bloques. Esto es cómodo, pero muy peligroso. Si un atacante compromete tu cuenta, puede inyectar código malicioso directamente.
Cómo desactivarlo:
Añade esta línea a tu archivo wp-config.php (en la raíz de tu WordPress):
define( 'DISALLOW_FILE_EDIT', true );
Esto elimina el editor de archivos del panel. Es una medida de hardening WordPress muy efectiva.
5. Protege tus Archivos y Base de Datos
La información es poder. Si un atacante accede a tu base de datos, puede robar datos de usuarios, contraseñas (aunque estén cifradas) y contenido privado. Aquí te muestro cómo ponerle difícil el trabajo.
### Cambia el prefijo de la base de datos
Por defecto, las tablas de WordPress usan el prefijo wp_. Esto facilita los ataques de inyección SQL, ya que el atacante conoce la estructura.
Cómo cambiarlo (con cuidado):
- Haz una copia de seguridad de tu base de datos.
- Accede a tu panel de control (Syspanel o phpMyAdmin).
- En la base de datos, renombra todas las tablas que empiecen por
wp_por otro prefijo, comomiwp_. - Abre tu
wp-config.phpy cambia la línea$table_prefix = 'wp_';por$table_prefix = 'miwp_';.
[WARNING] Este cambio es delicado. Si no te sientes cómodo, puedes usar un plugin como UpdraftPlus para hacer la copia de seguridad y luego pedir ayuda a tu proveedor de hosting. Un error aquí puede romper el sitio.
### Asegura el archivo wp-config.php
Este archivo contiene las claves de acceso a la base de datos. Es el santo grial. Debe estar protegido.
Cómo protegerlo:
Puedes añadir estas reglas al archivo .htaccess (en la raíz de tu WordPress):
<files wp-config.php>
order allow,deny
deny from all
</files>
Esto impide que cualquier persona acceda a wp-config.php directamente desde el navegador.
6. Copias de Seguridad: Tu Red de Seguridad (No Negociable)
Un ataque exitoso no significa el fin del mundo. Significa que tienes un plan B. Las copias de seguridad son la única garantía de que podrás recuperar tu sitio, incluso si te borran todo.
La regla 3-2-1:
- 3 copias de tus datos (la original + 2 copias).
- 2 medios diferentes (ej. disco duro local + nube).
- 1 copia fuera del sitio (offsite).
Herramientas recomendadas:
- UpdraftPlus: El plugin más popular. Puedes programar copias automáticas diarias y enviarlas a Google Drive, Dropbox o Amazon S3.
- BackWPup: Otra excelente opción con muchas opciones de almacenamiento en la nube.
- Copias del servidor: Tu hosting (como Syspanel) suele ofrecer copias de seguridad automáticas. Aprovéchalas, pero no dependas solo de ellas.
Tu rutina:
- Programa una copia de seguridad diaria de la base de datos.
- Programa una copia de seguridad semanal de todos los archivos (incluyendo temas, plugins y subidas).
- Almacena estas copias en un servicio de nube externo a tu hosting.
[TIP] Prueba a restaurar una copia de seguridad en un entorno de pruebas al menos una vez al mes. No hay nada peor que descubrir que tu copia de seguridad está corrupta cuando la necesitas.
7. Monitoreo y Respuesta a Incidentes
Una vez que has implementado todo lo anterior, no te duermas en los laureles. Es un proceso continuo. El monitoreo te avisará si algo va mal.
¿Qué vigilar?
- Tiempo de actividad: Si tu sitio se cae, puede ser un ataque DDoS o un problema del servidor. Herramientas como UptimeRobot te avisan al instante.
- Cambios en archivos: Los plugins de seguridad (como Wordfence) pueden avisarte si un archivo del núcleo se modifica sin tu permiso. Es una señal de infección.
- Intentos de acceso fallidos: Revisa los registros de tu plugin de seguridad. Si ves cientos de intentos desde una IP concreta, es un bot atacando. Puedes bloquear esa IP manualmente.
¿Qué hago si me atacan?
- No entres en pánico. Respira.
- Pon tu sitio en modo mantenimiento (puedes hacerlo desde un plugin o añadiendo un archivo
.maintenanceen la raíz). - Contacta con tu proveedor de hosting de inmediato. Ellos pueden ayudarte a limpiar el sitio y aislar el problema.
- Restaura desde una copia de seguridad limpia (anterior a la fecha del ataque).
- Cambia todas tus contraseñas (WordPress, FTP, base de datos, SSH).
- Analiza cómo entraron (revisa los registros del plugin de seguridad) para evitar que vuelva a pasar.
Preguntas Frecuentes (FAQ) sobre Seguridad WordPress
¿Es seguro usar plugins de seguridad? Sí, los plugins de seguridad populares y bien mantenidos son seguros y esenciales. El riesgo está en instalar plugins desconocidos de fuentes no oficiales.
¿Necesito un certificado SSL para la seguridad? Absolutamente. Un certificado SSL cifra la comunicación entre el navegador del usuario y tu servidor. Es imprescindible para proteger los datos de login y la información personal. Además, Google lo considera un factor de posicionamiento.
¿Con qué frecuencia debo actualizar WordPress? Siempre que haya una actualización disponible. No esperes semanas. Las actualizaciones de seguridad se lanzan tan pronto como se descubre un fallo.
¿Qué es el hardening de WordPress? Es el proceso de endurecer la seguridad de tu instalación de WordPress
