Llega la nueva rama de sudo 1.9.0 y estas son sus novedades
Después de 9 años de la formación de la rama 1.8.x de sudo, se dio a conocer el lanzamiento de una nueva versión significativa de la utilidad que se utiliza para organizar la ejecución de comandos en nombre de otros usuarios, siendo la nueva version “sudo 1.9.0” y que además llega a marcar una nueva rama.
Sudo la utilidad más esencial y utilizada en los sistemas operativos tipo Unix, como Linux, BSD, o Mac OS X, ya que como se mencionó, esta permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura, convirtiéndose así temporalmente en superusuario.
Por defecto, el usuario debe autenticarse con su contraseña al ejecutar sudo. Una vez se ha autenticado el usuario y si el archivo de configuración /etc/sudoers permite dar al usuario acceso al comando requerido, el sistema lo ejecuta.
Existe la opción de habilitar el parámetro NOPASSWD con el fin de evitar introducir la contraseña de usuario a la hora de ejecutar el comando. El archivo de configuración /etc/sudoers especifica qué usuarios pueden ejecutar qué comandos en nombre de qué otros usuarios.
Como sudo es muy estricto con el formato de este archivo y cualquier error podría causar problemas serios, existe la utilidad visudo; esta opción sirve para comprobar que el fichero /etc/sudoers no está siendo utilizado desde otra sesión del usuario root, evitando de esta forma la multiedición con posibles corrupciones del fichero.
Principales novedades de Sudo 1.9.0
En esta nueva version se destaca el trabajo que se realizó en proporcionar a la composición el proceso en segundo plano “sudo_logsrvd“, este está diseñado para el registro centralizado de otros sistemas. Al construir sudo con la opción “–enable-openssl“, los datos se transmiten a través de un canal de comunicación encriptado (TLS).
El registro se configura utilizando la opción log_servers en sudoers y para deshabilitar la compatibilidad con el nuevo mecanismo de envío de registros, se agregaron las opciones “–disable-log-server” y “–disable-log-client”.
Además, se ha agregado un nuevo tipo de complemento “audit”, que envía mensajes sobre llamadas exitosas y no exitosas, así como también sobre los errores que ocurren, así como también un nuevo tipo de complemento que permite conectar sus propios controladores para iniciar sesión y que no dependen de la funcionalidad estándar. Por ejemplo, un controlador para grabar registros en formato JSON se implementa en forma de un complemento).
También sé agregado un nuevo tipo de complementos “approval” que sirven para realizar verificaciones adicionales después de una verificación de autorización básica basada en reglas exitosa en sudoers. Se pueden especificar varios complementos de este tipo en la configuración, pero la confirmación de la operación se emite solo cuando está aprobada por todos los complementos enumerados en la configuración.
En sudo y sudo_logsrvd, se crea un archivo de registro adicional en formato JSON, que refleja la información sobre todos los parámetros de los comandos en ejecución, incluido el nombre de host. Este registro es utilizado por la utilidad sudoreplay, en la cual es posible filtrar comandos por nombre de host.
La lista de argumentos de la línea de comando pasada a través de la variable de entorno SUDO_COMMAND ahora está truncada a 4096 caracteres.
De los demás cambios que se destacan del anuncio:
- El comando sudo -S ahora imprime todas las solicitudes a la salida estándar o stderr, sin acceder al dispositivo de control del terminal.
- Para probar la interacción con el servidor o enviar registros existentes, se propone la utilidad sudo_sendlog;
- Se agregó la capacidad de desarrollar complementos para sudo en Python, que se habilita durante la compilación con la opción “–enable-python“.
- En sudoers, en lugar de Cmnd_Alias, Cmd_Alias ahora también es válido.
- Se agregaron nuevas configuraciones pam_ruser y pam_rhost para habilitar / deshabilitar la configuración del nombre de usuario y los valores del host al configurar una sesión a través de PAM.
- Es posible especificar más de un hash SHA-2 en una línea de comando separada por comas. El hash SHA-2 también se puede usar en sudoers junto con la palabra clave “ALL” para definir comandos que solo se pueden ejecutar cuando el hash coincide.