Protegiendo la sesión de usuario en Joomla

Fecha de Publicación Escrito por Texpaok

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:

 

Mensaje de error que obtienen los usuarios

El administrador del sitio también recibirá una alerta en los logs informándole de lo acontecido:

Log de protección de sesión

Esta defensa es efectiva contra ataques de robo de sesión de cookies, pero no protege frente a secuestros de sesión ya que en ese caso se usa una sesión ya existente, no se crea ninguna nueva. Seguimos trabajando...

Un saludo.

Comparte este artículo

Comentarios (0)

Cancel or

Free Internet Security - WOT Web of Trust
2011 Protegiendo la sesión de usuario en Joomla.
Powered by Joomla 1.7 Templates