Protección frente a secuestros de sesión en Joomla

Proteccion frente a secuestros de sesión en JoomlaEn el artículo anterior os hablamos de la próxima funcionalidad que incorporarán Securitycheck y Securitycheck Pro para impedir las sesiones simultáneas de los usuarios en nuestro sitio web.

En dicho artículo os explicábamos que esa funcionalidad era válida para protegernos frente a robo de sesión de cookies, pero no frente a secuestros de sesión.

Os pongo un ejemplo de una caso de secuestro de sesión. Supongamos que iniciamos sesión en un ordenador con un código malicioso que captura nuestro token de inicio de sesión (establecido en la cookie) y lo manda a un servidor controlado por unas personas muy malas Guiño

Leyendo el token del usuario en Joomla

Usando este token mientras estamos logados, un usuario ilegítimo conseguirá acceso a nuestro sitio como si fuésemos nosotros:

Secuesro de sesión en Joomla

En este caso no se crea ninguna sesión nueva, sino que se aprovecha una sesión existente, por lo que estos casos son muy difíciles de detectar. Si somos los administradores del sitio, el atacante obtendrá acceso total al mismo...

Leer más:Protección frente a secuestros de sesión en Joomla

Protegiendo la sesión de usuario en Joomla

Protegiendo la sesión de usuario en JoomlaAunque Joomla ha mejorado mucho la seguridad en las últimas versiones, aún existen aspectos que, en mi opinión, se pueden mejorar.

Uno de ellos es la posibilidad de que un usuario pueda iniciar múltiples sesiones en Joomla. No encuentro ninguna razón para permitir este comportamiento; no supone ninguna ventaja para el usuario y sí puede ser la puerta a potenciales ataques.

Lo más común es que un usuario que abandone una sesión inicie una nueva, ya sea cerrando el navegador o yendo a un ordenador distinto. Si un usuario tiene dos sesiones simultáneas, esto suele indicar que se ha comprometido la seguridad: o bien el usuario "ha dejado" sus credenciales en algún sitio, o un atacante ha obtenido sus credenciales por otros métodos. En ambos casos, no es deseable permitir sesiones concurrentes porque:

  • permite a los usuarios realizar malas prácticas sin ninguna molestia.
  • permite que un atacante use credenciales robadas sin ningún riesgo de detección.

Si por alguna razón desconocida por mí Joomla desea conservar este comportamiento, al menos debería permitir al usuario chequear cuántas sesiones tiene activas en cualquier momento, mostrar la actividad de la cuenta, etc., como hace cuando entramos en la parte administrativa del sitio.

Os pongo un ejemplo de todo lo anterior; tenemos un sitio web con un usuario llamado "kk". Antes de iniciar sesión, hacemos una consulta a nuestra base de datos para comprobar que dicho usuario no tiene ninguna sesión activa:

El usuario no ha iniciado ninguna sesion


A continuación, iniciamos sesión en dos navegadores diferentes con el mismo usuario. Como podéis comprobar, Joomla no muestra ningún tipo de alerta y permite ambas sesiones para el mismo usuario. Una nueva consulta a nuestra base de datos muestra dos sesiones activas para nuestro usuario "kk":

El usuario tiene dos sesiones activas

Para corregir este comportamiento, nuestra próxima versión de Securitycheck y Securitycheck Pro incorporará una opción que no permitirá las sesiones simultáneas de los usuarios. Así, cuando se produzca el comportamiento que hemos descrito, todas las sesiones del usuario serán cerradas y éste obtendrá un mensaje de error:

Leer más:Protegiendo la sesión de usuario en Joomla

¿Está tu backup de Joomla en un lugar seguro?

¿Está tu backup de Joomla en un lugar seguro?Algunos de los incidentes de seguridad relacionados con Joomla no tienen que ver con extensiones vulnerables o fallos en el core de la aplicación.
En ocasiones es el propio administrador del sitio el que, por desconocimiento o poca atención, expone el mismo a graves fallos de seguridad. Hoy os voy a hablar sobre un fallo gravísimo al hacer nuestro backup de Joomla y que, por desgracia, es más común de lo deseable.

Aunque lo que voy a explicar es válido para cualquier componente de backup, voy a usar Akeeba Backup como ejemplo, ya que es una de las extensiones más famosas a la hora de realizar nuestro backup de Joomla. Las versiones más antiguas del componente (llamado anteriormente JoomlaPak) creaban archivos .zip de nuestro sitio web y archivos .sql de nuestra base de datos. En las versiones actuales se ha incorporado el formato jpa, que crea archivos manejados directamente por el componente que nos permiten restaurar completamente nuestro sitio web en caso necesario.

La pregunta que os debéis hacer es la siguiente, ¿en qué directorio hago el backup?

Suponed que vuestra configuración del componente es la siguiente:

Wrong Joomla backup configuration


Esto quiere decir que estáis creando vuestro backup en la carpeta "MyBackups"... ¡¡dentro del directorio en el que está instalado Joomla!! No importa que tengáis configurado vuestro fichero robots.txt para que ninguna araña acceda a ese directorio: vuestro backup NUNCA debe estar donde está instalado Joomla, ya que esa información puede ser accesible a todo el mundo (Akkeeba nos alerta de ello en el apartado "Basic configuration" del enlace
https://www.akeebabackup.com/documentation/akeeba-backup-documentation/configuration.html)

Una configuración correcta sería la siguiente:

Leer más:¿Está tu backup de Joomla en un lugar seguro?

Free Internet Security - WOT Web of Trust
2011 Blog.
Powered by Joomla 1.7 Templates