Blog

Por qué las plataformas CMS son objetivos para los piratas informáticos

Por qué las plataformas CMS son objetivos para los piratas informáticos

Al principio, las páginas web se creaban utilizando archivos de texto plano en formato HTML, básicamente eran estáticas y estaban enfocadas principalmente en mostrar solo información sin dar la posibilidad a sus visitantes de interactuar con ellas.

Pero a medida que crecía la popularidad de Internet, las páginas web fueron introduciendo más funciones, como por ejemplo los sistemas de pago en línea, o los formularios de contacto.

Como resultado de esta evolución, crear y mantener un sitio web de forma manual se volvió muy difícil.

Para automatizar y optimizar todo el proceso, los desarrolladores crearon algo llamado sistema de gestión de contenido (CMS), la mayoría de ellos de código abierto, como Drupal, TYPO3, WordPress o Joomla.

Estas aplicaciones se centraron principalmente en una cosa: facilitar a las personas sin demasiados conocimientos técnicos la creación y el mantenimiento de sitios web dinámicos.

¿Qué es un CMS?

Un sistema de gestión de contenido (CMS) es una plataforma de software que permite a los usuarios crear y administrar un sitio web mediante una interfaz gráfica de usuario.

Entre otras cosas, permiten realizar un seguimiento de los usuarios que visitan el sitio, manejar búsquedas, recopilar comentarios de los visitantes, organizar foros y mucho más.

Acostumbran a funcionar mediante plantillas y complementos que se pueden descargar de diferentes repositorios, tanto oficiales como de terceros.

Por lo que si no queremos que el diseño de nuestro sitio web sea un clon exacto de otros, no nos queda otra que «ensuciarnos las manos» para cambiar su diseño modificando los archivos CSS.

Y eso último sí que requiere de ciertos conocimientos.

Un CMS consta principalmente de dos elementos:

  1. La aplicación de gestión de contenido (CMA).
  2. La aplicación de entrega de contenido (CDA).

CMA permite la administración de usuarios para que puedan crear, modificar y eliminar contenido del sitio.

También incluye la interfaz de usuario (frontend) que permite realizar cambios en el contenido del sitio sin tener casi ningún conocimiento de HTML, hojas de estilo en cascada (CSS) o cualquier lenguaje de programación.

La aplicación de entrega de contenido (CDA) recopila toda esta información y actualiza el sitio web.

Joomla

Las plataformas CMS más populares que se utilizan en la actualidad son WordPress, Joomla y Drupal.

Y la mayoría de ellas, durante su vida útil, pueden llegar a presentar vulnerabilidades fácilmente detectables mediante herramientas automatizadas.

¿Por qué todas las plataformas CMS pueden presentar vulnerabilidades?

Los sistemas de administración de contenido tanto de código abierto como de código propietario tienen sus beneficios.

En el caso de las aplicaciones de código abierto, ofrecen un entorno colaborativo para compartir, estudiar y modificar el código fuente con el objetivo de mejorar sus funciones, o aplicar correcciones para mejorar la seguridad.

Pero también dependen de aplicaciones creadas por cientos de desarrolladores independientes, que proporcionan módulos y complementos.

Estas extensiones pueden tener alguna vulnerabilidad en su código y quedar expuestas a ataques como secuencias de comandos entre sitios, inyección SQL, etc.

Y si no se detectan y solucionan a tiempo, un atacante que las haya descubierto puede explotarlas fácilmente.

Antes de que existieran los diversos sistemas de administración de contenido, los perpetradores buscaban vulnerabilidades en un objetivo en concreto, como un banco o un sitio de comercio electrónico.

Y se limitaban a atacar esta página web.

Con los sistemas de administración de contenido, basta con encontrar una vulnerabilidad en un CMS utilizado por miles de usuarios para poder lanzar un ataque a nivel masivo.

En este sentido, una vulnerabilidad en Joomla o WordPress, podría afectar a todas las personas que utilizan la aplicación.

Además de este problema, algunos propietarios de sitios web que usan contraseñas débiles dejan sus cuentas de administrador vulnerables a ataques automatizados de fuerza bruta.

Por no hablar de que cuando se instala un CMS, por defecto, incluye una cuenta de administrador predeterminada llamada «admin», lo que facilita las cosas a los atacantes, si no se cambia por otro nombre.

ataques automatizados

Por otro lado, tener las opciones de seguridad mal configuradas hace posible que los villanos que se dedican al pirateo de páginas web puedan descubrir agujeros mediante herramientas como la de la imagen superior.

Cómo proteger un CMS

El primer paso (quizás el más importante) es alojar la página web en un sitio que ofrezca garantías, y huir del alojamiento web gratuito.

Trabajar con servidores mal administrados o carentes de las mínimas barreras de seguridad aumenta innecesariamente los riesgos de ser víctimas de un ataque.

Probablemente, no darán la opción de poder configurar copias de seguridad, instalar certificados SSL, agregar una dirección de correo electrónico o una cuenta FTP.

Este tipo de alojamiento de «coste cero» solo sirve para crear un sitio web de prueba o temporal, que no requiera de grandes requisitos ni maneje información confidencial.

Y a veces, ni para eso: pueden anular la cuenta de alojamiento cuando les de la gana, y el usuario perderá el trabajo de meses o incluso años.

Mantener actualizado el CMS

Cualquiera que sea el CMS que elijas, ya sea basado en software propietario o de código abierto, una de las prioridades debe ser la frecuencia de las actualizaciones.

A medida que las amenazas de seguridad evolucionan, los creadores de los CMS tiene que ser capaces de corregir las vulnerabilidades que puedan ir surgiendo.

Del mismo modo, si el CMS usa complementos de terceros, hay que asegurarse de que también reciban actualizaciones periódicas.

Lo ideal es instalar únicamente los complementos estrictamente necesarios.

Ocultar el formulario de inicio de sesión

Tanto Joomla, WordPress y otros gestores de contenidos tiene un formulario para poder ingresar en la parte administrativa del sitio, al que se accede mediante una URL en concreto.

Por ejemplo.

  • En Joomla es https://www. nombre.com/administrator.
  • Por su parte, en WordPress es http://nombre.com/wp-admin.

Por lo tanto, cualquiera que teclee en su ordenador la URL de una página hecha mediante uno de estos dos CMS, podrá acceder al formulario de inicio de sesión en la parte administrativa del sitio.

Y en este sentido es sumamente fácil saber con qué herramientas está hecha una página web.

Para ello basta con pulsar sobre ella con el botón derecho del ratón y seleccionar «ver código fuente de la página»

Para evitar esto se puede instalar algún complemento gratuito como AskMyAdmin (Joomla) o WPS Hide Login en WordPress.

Establecer contraseñas únicas y complejas

Cada usuario de la plataforma tiene que tener un nivel de acceso adecuado (administrador, editor, etc.) mediante una contraseña única y compleja.

También es altamente recomendable activar 2FA (autenticación de dos factores) si dicha opción está disponible.

Instalar HTTPS para todas las URL

Casi todos los CMS requieren que iniciemos sesión para poder trabajar con ellos.

Es importante instalar un certificado de seguridad para asegurarnos de que ninguna de las solicitudes de inicio de sesión pueda ser interceptada, y que la conexión entre el navegador del usuario y la página web sea segura.

Además, HTTPS aumentará el puntaje de SEO en los principales buscadores.

La mayoría de servicios de alojamiento web incluyen esta función dentro del paquete de hosting.

Instalar un cortafuegos

Seguramente un hosting de calidad ya contará con un firewall de aplicaciones web (WAF).

Y dado que un WAF se ejecuta a nivel del servidor, solo el administrador de este servidor puede instalarlo o configurarlo.

Posiblemente, es una de las mejores maneras de evitar que los piratas informáticos accedan a nuestros datos.

Un firewall también mantendrá alejados a los bots maliciosos (mediante el filtrado de direcciones IP) sin afectar el flujo de trabajo diario.

También ayudará a mitigar posibles ataques DDoS y los intentos de explotación de vulnerabilidades.

Pero también existen cortafuegos que se pueden instalar en el propio CMS, para que nosotros podamos tener un mejor control del tráfico que pasa por nuestra página web.

Lamentablemente, la mayoría son de pago.

Evita las inyecciones de SQL

Generalmente, los piratas informáticos intentarán obtener acceso a los datos de cualquier forma posible.

Cada vez que se produce un intercambio de información entre un sitio web y el servidor, existe la posibilidad de que se produzca un evento adverso.

Por ejemplo, mediante un formulario de contacto desactualizado, los piratas informáticos pueden inyectar código malicioso y manipular la base de datos SQL para cambiar tablas, eliminar datos, etc.

Siempre podemos recurrir a auditorías de código para asegurarnos de que no hemos dejado ningún tipo de puerta abierta, aunque suelen ser procesos caros realizados por empresas.

Pero también existen recursos gratuitos para realizar un análisis en línea.

No utilizar extensiones o temas piratas

Los temas o extensiones llamados «nulled» son versiones de pago pirateadas de complementos, plantillas y plugins que se pueden usar para mejorar las funciones de Joomla, WordPress o cualquier otro tipo de plataforma.

Es como usar versiones crackeadas o pirateadas de software para el ordenador.

Después de instalar una extensión de terceros, es muy importante comprobar regularmente sus actualizaciones y parches de seguridad. Esto garantizará que cualquier vulnerabilidad se aborde de manera rápida y efectiva.

Son gratuitos, pero a la larga, pueden costarnos muy caros.

Acostumbran a tener código malicioso incrustado que puede inyectar adware en el sitio web, minar criptomonedas en el navegador del usuario, implementar puertas traseras, etc.

Base 64

Acostumbra a estar ofuscado o codificado en Base 64, lo que hace que sea casi imposible para los administradores detectarlo.

Hacer copias de seguridad

La mayoría de servicios de alojamiento web permiten a sus clientes hacer copias de seguridad periódicas tanto del sitio como de las bases de datos.

Es muy importante utilizar esa función para poder restaurar el sitio en caso de un ataque informático, o de un error fatal.

Implementar un CDN

Una red de entrega de contenido (CDN) es un grupo de servidores distribuidos geográficamente que proporcionan una entrega rápida de contenido de Internet, incluidas páginas HTML, JavaScript, hojas de estilo, imágenes y videos.

Algunos como Cloudflare cuentan con protección contra DDoS integrada y tienen una versión gratuita.

Avisos de seguridad

Air VPN - The air to breathe the real Internet

LibreOffice

Otros artículos

dominios caducados
Traceroute: qué hace y cómo funciona
Cómo borrar evidencias con BleachBit
Principales riesgos al pagar con PayPal en Internet
Qué es la publicidad maliciosa y cómo eliminarla
Pequeño léxico de los términos mas utilizados en seguridad informática