BookinglyTech News
Software

OpenDoas implementa archivos de marca de tiempo al estilo sudo

OpenBSD ha añadido una función de timestamp a doas, inspirada en la solución de sudo 1.8.22, para evitar repetir contraseñas en sesiones TTY y PPID.

2 min de lecturaLobsters0 vistas

OpenDoas ha incorporado el mecanismo de archivos de marca de tiempo que utiliza sudo, con la finalidad de que los usuarios no tengan que volver a introducir la contraseña al ejecutar comandos con privilegios.

El nuevo feature se apoya en un ioctl de tty(4) llamado TIOCSETVERAUTH para crear, TIOCCLRVERAUTH para borrar y IOCCHKVERAUTH para comprobar la autenticación en un TTY concreto, con un tiempo de expiración configurable.

El origen de la idea se remonta a una vulnerabilidad en sudo que permitía reutilizar archivos de timestamp creados en una sesión SSH. Al crear un nuevo pseudo‑TTY y emparejar el PPID del proceso padre, el atacante podía ejecutar sudo sin contraseña. La solución propuesta fue usar el tiempo de inicio (monotonic) del líder de la sesión, que no puede repetirse salvo un reboot. Este enfoque evita la reutilización de timestamp entre sesiones distintas.

El patch fue enviado a los mantenedores de sudo y, en cuestión de horas, se incorporó a la versión 1.8.22, disponible en 2017. Desde entonces, cualquier sistema que ejecute sudo soporta recibir el tiempo de inicio de un proceso, lo que hace que el mecanismo sea útil también en Linux.

Para los administradores, esto significa que doas ahora ofrece la misma comodidad que sudo sin introducir la contraseña cada vez, manteniendo la seguridad al limitar la ventana de validación a la sesión activa y al proceso padre. La implementación usa el mismo esquema de archivos de timestamp que sudo, por lo que las políticas de expiración y los permisos de archivo siguen siendo los mismos.

En la práctica, basta con que la variable timestamp_timeout esté configurada; doas creará y verificará los archivos de timestamp en el directorio /var/run/doas. Si el proceso padre cambia o la sesión se cierra, el timestamp caduca y se solicita la contraseña de nuevo.

Esta mejora no solo simplifica el flujo de trabajo, sino que también refuerza la mitigación contra ataques de reutilización de credenciales. Los usuarios que ya usaban sudo pueden adoptar doas sin cambiar su configuración de expiración.

En resumen, OpenDoas ha seguido el ejemplo de sudo para ofrecer una experiencia sin contraseñas repetidas, con un enfoque de seguridad sólido basado en la temporalidad de la sesión.