La seguridad es un tema que debería preocupar a cualquier administrador de un sitio web. Desde usar las versiones más recientes del software que ejecutamos en el servidor a forzar el uso de contraseñas más seguras o la autenticación en dos pasos, el abanico de opciones que podemos implementar para conseguir reforzar nuestra web es muy amplio. Pero hay un tipo de «riesgo» contra el que es muy difícil protegerse: el usuario.
De nada sirve que te gastes muchísimo dinero en poner una puerta blindada en tu casa si, cuando sales, te olvidas de cerrarla. Lo mismo pasa con la web: si nuestros usuarios (o nosotros mismos, como editores/administradores de un blog) olvidamos cerrar nuestra sesión después de trabajar en nuestra web, nos arriesgamos a que venga otro usuario y se meta donde no debe. Especialmente si trabajamos en un ordenador compartido.
En la entrada de hoy vamos a ver cómo implementar la solución que seguro que has visto en la web de tu banco: cerrar automáticamente la sesión a un usuario cuando lleve un cierto tiempo inactiva.
Logout Inactive
Como casi siempre en WordPress, la solución a nuestro problema la encontramos en un plugin: Logout Inactive. Tal y como puedes leer en la documentación del propio plugin:
Inactive Logout permite cerrar automáticamente las sesiones inactivas de tus usuarios, protegiendo así tu web en caso de que alguien haya olvidado cerrar su sesión.
Una vez hayas instalado y activado el plugin, simplemente tienes que ir a Herramientas » Inactive Logout para poder configurarlo:

Por cierto, aunque haya puesto las capturas en inglés, que sepas que el plugin está disponible en español, ya que lo traduje íntegramente cuando estuve escribiendo esta entrada. Así que no tienes excusas para no usarlo en tu web 😉
El primer paso es establecer el límite de tiempo de inactividad en minutos. Es decir, cuántos minutos puede estar desatendida una sesión antes de considerar que el usuario se ha olvidado de ella y que, por lo tanto, habría que cerrarla.
A continuación puedes modificar el mensaje que se mostrará al usuario cuando el plugin vaya a cerrarle su sesión. En mi opinión, el mensaje por defecto ya está bien… pero tienes la posibilidad de cambiarlo si así lo deseas.
Finalmente, tenemos algunos ajustes adicionales:

- Fondo del mensaje emergente. Permite cambiar el color de fondo del mensaje emergente que se muestra avisando al usuario de que se va a cerrar su sesión.
- Desactivar cuenta atrás. Por defecto, cuando se ha llegado al límite de tiempo de inactividad, el plugin no cierra directamente la sesión del usuario, sino que muestra una pequeña cuenta atrás que da al usuario la posibilidad de no cerrar su sesión. Esta opción permite desactivar dicha cuenta atrás y cerrar la sesión nada más se alcance el límite de tiempo establecido.
- Mostrar solo mensaje de aviso. Si no quieres que se cierre la sesión del usuario, sino que simplemente se muestre un mensaje de aviso, esta es tu opción. De todas formas, yo no lo recomiendo y no le veo sentido alguno a instalar este plugin para usar esta casilla.
- Desactivar accesos concurrentes. Si quieres evitar que una misma cuenta se use desde múltiples ordenadores a la vez, puedes hacerlo con esta opción. Básicamente, sirve para garantizar que la cuenta se usa desde un único dispositivo a la vez.
- Activar redirección. Por defecto, cuando se cierra la sesión del usuario aparece un mensaje emergente por encima de todo con el formulario para acceder de nuevo al sitio. Con esta opción, cambias este comportamiento por defecto y envías al usuario a algún otro lugar. En mi opinión, esta opción es la más segura, puesto que el mensaje emergente permite ver qué hay debajo, lo que puede suponer un pequeño agujero de seguridad.

Ajustes por perfil
Una de las opciones que más me gusta de este plugin es que permite configurar cuándo cerrar una sesión de usuario en función del perfil de dicho usuario. Es decir, podemos, por ejemplo, indicar que una cuenta de administrador puede estar, como mucho, 5 minutos desatendida, mientras que la de un autor puede estar hasta media hora sin actividad.
Para establecer diferentes límites en función del perfil, accede a la pestaña Límites por perfil:

Aquí, lo primero que deberás hacer será activar la opción Límite de tiempo multiperfil y esto desbloqueará la interfaz de usuario que ves en la captura anterior. A continuación, añade los perfiles para los que quieres ajustes personalizados en el siguiente campo (Activar la característica de multiusuario) y personaliza las opciones en cada rol con la tabla que hay debajo. Fácil, sencillo y para todos los públicos.

Nelio Popups
¡Un plugin fantástico! Es muy fácil crear ventanas emergentes con el editor que ya conoces y las opciones que ofrece están muy bien diseñadas.

Juan Hernando
Resumiendo…
La seguridad es algo que siempre debes tener en mente. Se trata de un proceso iterativo e incremental: cada paso que des debe ser una pequeña mejora a lo que ya tuvieras hasta ahora. Hoy hemos visto cómo puedes hacer tu web más segura instalando un plugin que cierra las sesiones inactivas.
Imagen de Jan Tinneberg en Unsplash.
Deja una respuesta