Blog

Pasos para proteger un sitio web hecho con Joomla

Pasos para proteger un sitio web hecho con Joomla

Joomla, como todos los demás CMS del mercado, puede presentar vulnerabilidades, lo que lo convierte en un objetivo potencial para los piratas informáticos. Por poner un solo ejemplo, los ataques mediante secuencias de comandos entre sitios (XSS) son uno de los principales problemas de seguridad a los que se enfrenta una página web creada mediante esta plataforma.

Otro problema de seguridad son las actualizaciones.

A lo largo de los años, ha habido varias versiones de Joomla con vulnerabilidades conocidas.

Por ejemplo, todas las versiones de Joomla anteriores a la 3.9.5 sufrieron ataques de falsificación de solicitudes entre sitios (CSRF).

También es importante entender que Joomla está escrito en PHP.

Debido a la estructura flexible y la facilidad de uso de PHP, existe una gran cantidad de código que no ha sido escrito precisamente por profesionales, o que no sigue las prácticas recomendadas por la industria.

Esto implica, entre otros problemas de tipo técnico, la abundancia de vulnerabilidades de seguridad en los sistemas que utilizan este lenguaje.

Y una sola vulnerabilidad, podría permitir a un atacante escalar privilegios y obtener acceso a la parte administrativa del sitio.

Las extensiones y complementos de terceros obsoletos, o cuyo código está mal escrito, también pueden representar un peligro potencial.

En otro contexto, la mayoría de los complementos obtenidos de páginas web que ofrecen extensiones y temas de pago piratas acostumbran a contener elementos maliciosos ocultos codificados en Base 64, que muchas veces son díficiles de localizar.

Por lo tanto, si eres usuario de este CMS, asegúrate de que estás implementando las mejores prácticas de seguridad.

Incluso los sitios web personales, como un pequeño blog, pueden ser un objetivo.

A nadie nos gustaría que nuestra página web se dedicara a repartir spam, distribuir malware o a ocultar backlinks a sitios infames sin nuestro conocimiento.

En consecuencia, mantener protegida tu instalación de Joomla es vital, si no quieres tener la desagradable experiencia de ver tu sitio pirateado.

Pero debido a la variedad y complejidad de los servidores web, las cuestiones de seguridad no se pueden resolver con unas simples pautas.

Sin embargo, como administrador, tienes la responsabilidad de garantizar que tu sitio web hecho con Joomla esté debidamente parcheado, actualizado, y sea lo más seguro posible.

Vulnerabilidades de software

Afortunadamente, no hace falta verificar manualmente la versión del núcleo de Joomla ni otros componentes y extensiones oficiales.

El equipo de seguridad de Joomla avisa de forma automática a los usuarios cada vez que aparece una nueva versión, incluso lo hacen mediante el correo electrónico asociado al sitio.

Y los buenos desarrolladores de plantillas y aplicaciones de terceros también proporcionan actualizaciones periódicamente.

Cuando inicias sesión en la parte administrativa (backend), estos avisos aparecen en el panel de control.

Actualizaciones de Joomla

También puedes pulsar en «Buscar actualizaciones» para encontrar de forma manual cualquier actualización nueva en el repositorio de Joomla.

Debes aplicar todas las actualizaciones lo antes posible.

Problemas con la actualización a Joomla 4

Algunos desarrolladores de aplicaciones para Joomla han sido muy poco proactivos a la hora de actualizar sus componentes, módulos y plugins para adaptarlos a la nueva versión de este CMS.

Y nos consta que algunos de los usuarios que tienen páginas web profesionales con una gran cantidad de plugins y extensiones de terceros, estan teniendo muchos problemas para migrar a la nueva versión.

Muchas páginas web quedan «capadas» o inoperativas después de la actualización, lo que muchas veces obliga a los administradores a volver a la versión anterior mediante copias de seguridad.

Después toca ir desinistalando todos los complementos no compatibles, y volver a iniciar de nuevo el proceso de actualización.

problemas con la actualización a Joomla 4

Una vez que se ha conseguido instalar la cuarta versión del CMS, hay que dar por «perdidos» todos estos programas de terceros, incluso si se ha pagado por ellos.

Lo que significa que la página web pierde las funcionalidades que ha tenido durante años, y no queda más remedio que buscar alternativas.

Elige nombres de usuario imprevisibles y contraseñas fuertes

A la hora de elegir tu nombre de usuario y la contraseña de administrador, no uses nunca «Admin» o «Administrador» como nombre de usuario y crea una contraseña compleja.

Esta es probablemente una de las mejores formas de fortalecer la seguridad de Joomla y una de las más fáciles.

Aun así, el nombre de usuario y la contraseña todavía pueden ser robados o adivinados.

Implementa la autenticación multifactor

Por lo tanto, la autenticación de dos factores puede proteger tu sitio web de los piratas informáticos al agregar una segunda capa de seguridad.

  • Entra en tu panel de administrador de Joomla!
  • Ves al apartado de gestión de Plugins.
  • Busca «Autentificación de doble factor - Autentificador Google».
  • Habilítalo.

Una vez que hayas habilitado el plugin, tienes que editar el perfil de usuario (en este caso Administrador) y desde ahí podrás configurar la autenticación en dos factores, normalmente escaneando un código de barras, mediante la aplicación instalada en tu móvil.

Para ello puedes instalar el Autentificador de Google en tu teléfono móvil con Android o iOS, u otra aplicación como FreeOTP.

Autenticación de dos factores en Joomla

Una vez que se encuentre activa, después de escribir tu nombre de usuario y la contraseña, se te solicitará que ingreses un código de 6 dígitos que cambia cada 30 segundos.

Practica el principio del mínimo privilegio

Si no eres el único que tiene acceso al sitio para poder publicar contenido o realizar cambios, es importante que asignes los roles adecuados para cada usuario.

  • Editores/ Manager: acceso a funciones de creación de contenido e información del sistema.
  • Administradores: acceso a la mayoría de las funciones de administración, pero no a las opciones globales.
  • Superusuarios: acceso a todas las funciones de administración con control total.

Utiliza conexiones FTP seguras

Asegúrate de que las conexiones utilizadas para acceder de forma remota a los archivos del sitio web estén protegidas.

Siempre que tu proveedor de alojamiento lo admita, debes usar el cifrado SFTP o SSH, por medio de TLS/SSL explícito.

Conexión FTP segura

Si estás utilizando un cliente FTP, el puerto predeterminado para SFTP suele ser 22.

Algunos clientes FTP almacenan contraseñas en texto sin formato, si este es el caso, es recomendable no guardarlas en las opciones del programa, e ingresarlas manualmente.

Realiza copias de seguridad periódicas

En el peor de los escenarios, una copia de seguridad (de los archivos y la base de datos) puede conseguir restaurar un sitio web a un estado anterior en minutos después de haber sufrido un ataque informático, o un error fatal.

Una extensión de terceros para Joomla como Akeeba Backup puede ayudarte a hacer eso.

Los proveedores de alojamiento web de calidad, también ofrecen esta función de forma predeterminada.

Actualiza la versión de PHP y ocúltala al público

Actualizar la última versión estable de PHP, protegerá tu sitio web de una gran variedad de ataques y fortalecerá la seguridad de Joomla.

Para evitar romper tu sitio, asegúrate de seleccionar una versión de PHP que sea compatible con tus plantillas y extensiones.

Esto normalmente se hace desde el panel de control del proveedor de alojamiento web mediante la función «Ajustes avanzados».

Actualizar la versión de PHP

En cualquier caso, muchos hostings recomiendan tener seleccionada siempre la «Versión por defecto», y ellos se encargan de mantener el alojamiento actualizado con la última versión estable disponible.

Ocultar la versión de PHP

Por otro lado, el hecho de que cualquiera pueda saber la versión de PHP que se está ejecutando, podría llegar a suponer un problema de seguridad, especialmente si esta contiene vulnerabilidades conocidas.

Desde la administración del Panel de control nos desplazamos al apartado Software > Seleccionar versión PHP.

Si tu proveedor de alojamiento lo permite, edita php.ini y actualiza la siguiente directiva:

Cambia expose_php = On  por  expose_php = Off

Si por algun motivo inconfesable el Panel de Control de tu hosting no permite el acceso a la configuración de PHP deberás solicitar este cambio a los administradores del servidor.

Si te ponen pegas, cambia de provedor de servicios, ya que la usabilidad y la transparencia son esenciales a la hora de trabajar con un proveedor de alojamiento web.

Por supuesto, eso no va a convertir tu sitio en invulnerable, pero todo ayuda.

Utiliza extensiones y plantillas de terceros de confianza

Para obtener un nivel óptimo de seguridad en Joomla, lo mejor es utilizar solamente las extensiones y complemento de terceros necesarios e imprescindibles.

Las extensiones y plantillas de terceros pueden añadir nuevas funciones a tu sitio, pero también presentar vulnerabilidades, tener código malicioso o afectar el rendimiento de tu página web.

Elige extensiones y plantillas de sitios contrastados y huye de las versiones de pago pirateadas, sobre todo si tu sitio web requiere que los usuarios inicien sesión, como un foro o un sitio de compras en línea.

Aquí puedes ver una lista de extensiones vulnerables.

Refuerza los encabezados de seguridad HTTP

Implementar o actualizar los encabezados de seguridad HTTP, brinda una capa de seguridad adicional a tu sitio web, y ayuda a mitigar los ataques y las vulnerabilidades.

Estos son los encabezados de seguridad HTTP más comunes:

  • Content-Security Policy.
  • X-XSS-Protection.
  • Strict-Transport-Security.
  • X-Frame-Options.
  • Public-Key-Pins.
  • X-Content-Type.

Estos encabezados le dicen a un navegador cómo comportarse cuando maneja el contenido de una página web.

Afortunadamente, a partir de Joomla 4.0, se ha implementado un plug-in para la gestión de encabezados HTTP.

Los usuarios de versiones anteriores del CMS pueden instalar algún complemento gratuito de terceros.

Elige un proveedor de alojamiento seguro

Contratar un proveedor de alojamiento económico y con bajas prestaciones, puede no ser el punto de partida ideal, ya que tu sitio será más lento, las opciones del hosting serán bastante limitadas, o para utilizar el Panel de Control tendrás que hacer un máster en paciencia.

Huye del alojamiento gratuito, porque seguramente tendrás un mal vecindario

Los sitios infames o con baja reputación, que comparten tu mismo servidor (y a veces tu dirección IP), no son los compañeros de viaje ideales.

Tu sitio podría aparecer en las listas de spam, o algo peor.

Por no hablar de que el soporte técnico será limitado, y el día menos pensado te cierran el sitio sin previo aviso, y perderás el trabajo de meses o años.

A la hora de elegir un plan de alojamiento, asegúrate de que cuenta con un buen soporte técnico, SSL gratuito para todos los dominios, cortafuegos avanzado, aplicaciones de seguridad (WAF) como Imunify 360, protección contra ataques de fuerza bruta, copias de seguridad diarias etc.

Para ello no hace falta hipotecar la casa o pedir un préstamo, los hay por menos de diez euros al mes.

Instala un certificado SSL

Esto cifrará la comunicación entre tu sitio y los navegadores de los visitantes.

A la hora de comprarlo, asegúrate de que procede de una autoridad de certificación verificada.

En cualquier caso, casi todos los proveedores de alojamiento web proporcionan Let's Encrypt de forma gratuita, que es más que suficiente para cualquier página web personal, o que no maneje información sensible.

Las empresas con una marca de alto perfil, utilizan certificados EV SSL.

En este caso, la Autoridad de Certificación, a demás de comprobar el derecho del solicitante a usar el nombre del dominio en cuestión, también lleva a cabo un proceso bastante estricto de inspección sobre la organización.

Esto evita en gran medida las estafas de phishing. 

Limita el número de intentos de inicio de sesión

De forma predeterminada, Joomla no limita el número de intentos de inicio de sesión.

Esto deja un sitio vulnerable a los ataques de fuerza bruta, ya que los piratas informáticos prueban diferentes combinaciones de usuario y contraseña, y a veces suena la flauta por casualidad.

Para limitar la cantidad de intentos de inicio de sesión sin complicarte la vida, puedes instalar un complemento gratuito como AdminExile o Brute Force Stop.

Conclusión

Siempre habrá riesgos y mantener Joomla seguro es un proceso continuo, que requiere de una atención constante.

Si bien existen extensiones de terceros para hacer este trabajo, no existen soluciones mágicas, y, por lo tanto, tenemos que estar informados de todas las vulnerabilidades que puedan ir surgiendo para poder actuar en consecuencia.

Para ello puedes analizar de vez en cuanto tu sitio web con herramientas como Sucuri SiteCheck, o Quttera.

Estos escáneres de seguridad gratuitos de sitios web, entre otras cosas, buscan malware, vulnerabilidades, o nos dicen si nuestro sitio está en alguna lista negra de spam.

Eso si, si quieres limpiar tu sitio, tendrás que hacerlo tu mismo o pagar.

Avisos de seguridad

Air VPN - The air to breathe the real Internet

Otros artículos

Fugas de WebRTC: ¿Qué son y cómo puedo prevenirlas?
Algunas herramientas del estafador moderno
Qué es una fuga de DNS y cómo protegerse
Riskware: una amenaza de seguridad que debes tener en cuenta
Las imágenes y videos digitales pueden ser una amenaza para la privacidad
Piratas informáticos ocultan malware dentro de imágenes PNG utilizando esteganografía
¿Sigue siendo MFA un método seguro para evitar el robo de cuentas?