Su instalación de WordPress puede ser tan segura o insegura como desee. Descubra cuáles son las cinco cosas más importantes en materia de seguridad.
Las preocupaciones y quejas sobre la seguridad de WordPress no son nada nuevo.
Si necesita un CMS y consulta a un proveedor de servicios que no está en WordPress, la seguridad es la desventaja número uno que escuchará. ¿Significa eso que todos deberían dejar WordPress y cambiar a generadores de sitios estáticos o un CMS sin cabeza?
No, porque al igual que todas las verdades de la vida, esta también tiene muchos lados.
¿WordPress es muy inseguro?

Echemos un vistazo a algunos sitios web enormes que se crearon en WordPress:
- TechCrunch
- The New Yorker
- BBC América
- informe de Bloomberg
- MTV News
- PlayStation Blog
Entonces, ¿qué hace que estas empresas, con bolsillos absurdamente profundos y una fuerza laboral alucinante, no cambien de WordPress? Si cree que la respuesta es el código heredado, piénselo de nuevo: para estos nombres, la seguridad de los datos y la imagen pública son infinitamente más importantes que una simple migración que costará (estoy estimando) menos de $200,000.
¿Seguramente sus ingenieros saben lo que están haciendo y no ven problemas de seguridad fundamentales e irresolubles con WordPress?
Incluso yo tengo la suerte de administrar una instalación de WordPress que recibe entre 3.5 y 4 millones de visitantes al mes. ¿El número total de violaciones de seguridad en los últimos ocho años? ¡Cero!
Entonces . . . ¿WordPress es seguro?
Lo siento si parece trolling, pero aquí está mi respuesta:
Lo digo porque, como toda verdad de la vida, es complicada. Para llegar a una respuesta legítima, primero debemos entender que WordPress (o cualquier CMS prediseñado, para el caso) no es como un armario en el que te quedas en algún lugar de forma permanente y termina con eso.
Es una pieza de software compleja con muchas dependencias:
- PHP, que es el lenguaje con el que está construido
- Una máquina visible públicamente que aloja la instalación.
- El servidor web utilizado para manejar visitantes (Apache, Nginx, etc.)
- La base de datos que se utiliza (MySQL / MariaDB)
- Temas (paquetes de archivos PHP, CS y JS)
- Complementos (paquetes de archivos PHP, CS y JS)
- Y muchos más, dependiendo de cuánto pretenda lograr su instalación
En otras palabras, una brecha de seguridad en cualquiera de estas costuras se denominará una brecha de WordPress.
Si la contraseña de root del servidor era admin123
y se vio comprometido, ¿es una falla de seguridad de WordPress?
Si la versión de PHP tenía una vulnerabilidad de seguridad, o si el nuevo complemento que compró e instaló contenía un agujero de seguridad evidente; y así. Para resumir: un subsistema falla y es una falla de seguridad de WordPress.
Además, no permita que esto le dé la impresión de que PHP, MySQL y Apache no son seguros. Cada El software tiene vulnerabilidades, cuyo recuento es asombroso en el caso del código abierto (porque está disponible para que todos lo vean y analicen).

Lo que aprendemos de todo este ejercicio es esto:
Nada es seguro o inseguro por sí solo. Son los diferentes componentes utilizados los que forman los eslabones de la cadena, la cadena, por supuesto, es tan fuerte como el más débil de ellos. Históricamente, la etiqueta "no seguro" de WordPress era una combinación de versiones antiguas de PHP, alojamiento compartido y la adición de complementos / temas de fuentes no confiables.
Al mismo tiempo, algunos descuidos bastante comunes hacen que su instalación de WordPress sea vulnerable a los que saben explotarlos y están decididos. Y de eso se trata este post. Entonces, sin más preámbulos (y argumentos circulares), comencemos.
Principales lagunas de WordPress que los hackers pueden aprovechar
The WordPress table prefix
La famosa instalación de 5 minutos es lo mejor que le puede pasar a WordPress, pero como todos los asistentes de instalación, nos vuelve perezosos y deja las cosas por defecto.

Esto significa que el prefijo predeterminado para sus tablas de WordPress es wp_
, lo que da como resultado nombres de tablas que cualquiera puede adivinar:
wp-users
wp-options
wp-posts
Ahora, considere un ataque conocido como SQL Injection, donde las consultas de bases de datos maliciosas se insertan inteligentemente y se hacen para ejecutarse dentro de WordPress (tenga en cuenta que esto no es de ninguna manera un ataque exclusivo de WordPress / PHP).
Si bien WordPress tiene mecanismos integrados para manejar este tipo de ataques, nadie puede garantizar que no suceda.
Entonces, si de alguna manera, de alguna manera, el atacante logra ejecutar una consulta como DROP TABLE wp_users; DROP TABLE wp_posts;
, todas sus cuentas, perfiles y publicaciones se borrarán en un instante sin posibilidad de recuperación (a menos que tenga un esquema de copia de seguridad en su lugar, pero incluso entonces, es probable que pierda datos desde la última copia de seguridad).
Simplemente cambiar el prefijo durante la instalación es un gran problema (lo que requiere esfuerzo cero).
Algo aleatorio como sdg21g34_
se recomienda porque no tiene sentido y es difícil de adivinar (cuanto más largo sea el prefijo, mejor). La mejor parte es que este prefijo no necesita ser memorable; el prefijo es algo que WordPress guardará, y nunca más tendrás que preocuparte por él (al igual que no te preocupas por el valor predeterminado wp_
¡prefijo!).
The default login URL
¿Cómo sabe que un sitio web se está ejecutando en WordPress? Uno de los signos reveladores es que ve la página de inicio de sesión de WordPress cuando agrega "/wp-login.php" a la dirección del sitio web.
Como ejemplo, tomemos mi sitio web (http://ankushthakur.com). ¿Está en WordPress? Bueno, sigue adelante y agrega la parte de inicio de sesión. Si te sientes demasiado vago, esto es lo que sucede:

¯ \ _ (ツ) _ / ¯
WordPress, ¿verdad?
Una vez que se sabe todo esto, el atacante puede frotarse las manos con júbilo y comenzar a aplicar trucos desagradables de su Bag-O'-Doom por orden alfabético. ¡Pobre de mí!
La solución es cambiar la URL de inicio de sesión predeterminada y dársela solo a las personas de confianza.
Por ejemplo, este sitio web también está en WordPress, pero si visita http://geekflare.com/wp-login.php, todo lo que obtendrá es una gran decepción. ¿La URL de inicio de sesión está oculta y solo la conocen los administradores?
Cambiar la URL de inicio de sesión tampoco es ciencia espacial. Solo agarra esto plugin.
Felicitaciones, acaba de agregar otra capa de seguridad frustrante contra ataques de fuerza bruta.
The PHP and web server version
Ya hemos comentado que cada pieza de software que se haya escrito (y se esté escribiendo) está llena de errores que esperan ser explotados.
Lo mismo ocurre con PHP.
Incluso si está utilizando la última versión de PHP, no puede estar seguro de qué vulnerabilidades existen y podrían ser descubiertas de la noche a la mañana. La solución es ocultar un encabezado en particular enviado por su servidor web (¿nunca ha oído hablar de los encabezados? este!) cuando un navegador se conecta a él: x-powered-by
.
Así es como se ve si revisa las herramientas de desarrollo de su navegador favorito:

Como podemos ver aquí, el sitio web nos dice que se ejecuta en Apache 2.4 y usa PHP versión 5.4.16.
Ahora, eso ya es una tonelada de información que estamos transmitiendo sin ningún motivo, lo que ayuda al atacante a reducir su elección de herramientas.
Estos encabezados (y otros similares) deben estar ocultos.
Afortunadamente, se puede hacer rápidamente; desafortunadamente, se necesitan conocimientos técnicos sofisticados, ya que deberá sumergirse en las entrañas del sistema y meterse con archivos importantes. Por lo tanto, mi consejo es pedirle a su proveedor de alojamiento de sitios web que lo haga por usted; si no ven si un consultor puede hacerlo, aunque esto dependerá en gran medida del alojamiento de su sitio web, ya sea que su configuración tenga tales posibilidades o no.
Si no funciona, puede que sea hora de cambiar de proveedor de alojamiento o cambiar a un VPS y contrate a un consultor para cuestiones de seguridad y administración.
¿Vale la pena? Solo tú puedes decidir eso. 🙂
Ah, y si quieres ser nerd con los encabezados de seguridad, aquí tienes tu fijar!
Number of login attempts
Uno de los trucos más antiguos del manual del pirata informático es el llamado Diccionario de ataque.
La idea es que intente una cantidad ridículamente grande (millones, si es posible) de combinaciones para una contraseña a menos que una de ellas tenga éxito. Dado que las computadoras son ultrarrápidas en lo que hacen, un esquema tan tonto es sensato y puede producir resultados en un tiempo razonable.
Una defensa común (y extremadamente efectiva) ha sido agregar un retraso antes de mostrar el error. Esto hace que el destinatario espere, lo que significa que si se trata de un script empleado por un pirata informático, tardará demasiado en finalizar. Esa es la razón por la que su computadora o aplicación favorita rebota un poco y luego dice: "¡Vaya, la contraseña incorrecta!".
De todos modos, el punto es que debe limitar la cantidad de intentos de inicio de sesión para su sitio de WordPress.
Más allá de un número determinado de intentos (digamos, cinco), la cuenta debería bloquearse y debería ser recuperable solo a través del correo electrónico del titular de la cuenta.

Afortunadamente, hacer esto es pan comido si te encuentras con un buen plugin.
HTTP vs. HTTPS
El certificado SSL por el que su proveedor lo ha estado molestando es más importante de lo que piensa.
No es simplemente una herramienta de reputación para mostrar un icono de candado verde en el navegador que dice "Seguro"; más bien, instalar un certificado SSL y forzar que todas las URL funcionen en "https" es suficiente para que su sitio web pase de ser un libro abierto a un pergamino críptico.

Si no comprende cómo sucede esto, lea acerca de algo conocido como ataque del hombre en el medio.
Otra forma de interceptar el tráfico que fluye desde su computadora al servidor es el rastreo de paquetes, que es una forma pasiva de recolección de datos y ni siquiera necesita tomarse la molestia de ubicarse en el medio.
Para los sitios que se ejecutan en "HTTP" simple, la persona que intercepta el tráfico de la red, sus contraseñas y números de tarjetas de crédito aparecen como texto simple y claro.

¿De miedo? ¡Muy!
Pero una vez que tu instalar un certificado SSL y todas las URL se convierten a "https", esta información confidencial se muestra como un galimatías que solo el servidor puede descifrar. En otras palabras, no se preocupe por esos pocos dólares al año. 🙂
Conclusión
¿Mantener estas cinco cosas bajo control asegurará bien su sitio web?
No, en absoluto. Como dicen innumerables artículos de seguridad, nunca está 100% seguro, pero es posible eliminar una gran clase de estos problemas con un esfuerzo razonable. Puede considerar usar WAF en la nube SUCURI para proteger sus sitios de manera integral.