Páginas

03 junio, 2020

El riesgo del periodo de gracia de sudo y evitar que los usuarios sudo o wheel puedan cambiar la contraseña de root

El uso del comando sudo permite a otros usuarios ejecutar acciones o programas con los privilegios de un usuario root. Es una buena práctica utilizar un usuario regular y en el momento de realizar alguna acción que requiera de elevación anteponer el comando sudo. 

Nos pedirá las credenciales del usuario actual, si el usuario tiene capacidad de manejarse en un contexto de super-usuario, es decir pertenece al grupo sudo o está agregado en el fichero /etc/sudoers (o través de visudo), de este modo el usuario podrá utilizar sudo y ejecutar las tareas necesarias como si de root se tratase. Sería algo similar al uso de UAC en Windows. 

Como ventaja nos facilita la vida en el uso y no tener que introducir siempre la contraseña si lo estamos usando de forma continua. Pero esto tiene un inconveniente o riesgo desde un punto de vista de seguridad y es que cuenta con el llamado "Periodo de gracia". Sudo nos otorga durante un tiempo limitado (por defecto 5 minutos) los mismos privilegios de los que dispone el usuario "root". 

Esto quiere decir que si volvemos a utilizar sudo durante ese corto periodo de tiempo no nos solicitará la contraseña. En el supuesto de que estemos trabajando en una oficina o donde haya más personal, nos levantamos de nuestro sitio y dejamos nuestro equipo a disposición física de cualquiera existe el riesgo de que alguien pueda realizar tareas de root con sudo si aún estamos dentro de ese periodo de gracia. Por lo que es una buena práctica de seguridad deshabilitar o eliminar este periodo de gracia del comando sudo.

Deshabilitar o reducir el periodo de gracia de sudo

Podemos aplicar un hardening para evitar esto siendo más restrictivos. Editamos el fichero /etc/sudores. 
sudo nano /etc/sudoers
Para deshabilitarlo y que siempre no solicita la contraseña en el uso de sudo. Agregamos la siguiente directiva al final del fichero.
Defaults timestamp_timeout=0
Si no queremos deshabilitarlo del todo pero si reducir su tiempo de gracia, establecemos en valor numérico el tiempo en minutos. Por ejemplo 1 minuto.
Defaults timestamp_timeout=1
Salimos y guardamos el fichero /etc/sudoers y los cambios se aplicarán al momento.

Figura 1: /etc/sudoers - Deshabilitar el periodo de gracia de sudo.

Evitar que los usuarios del grupo sudo o wheel puedan cambiar la contraseña de root

Los usuarios del grupo sudo o wheel, en el caso de sistemas basados en Red Hat Enterprise Linux, CentOS o Fedora, obtienen privilegios de root temporalmente. Esta autorización incluye la posibilidad de realizar el cambio de la contraseña del usuario root. Para evitar esto, podemos escribir lo siguiente el archivo sudoers.

Sistemas basados en Debian
%sudo ALL=(ALL) ALL, !/usr/bin/passwd root
Sistemas basados en RHEL o CentOS
%wheel ALL=(ALL) ALL, !/usr/bin/passwd root
Después de esta operación, el usuario no puede cambiar la contraseña de root incluso si el usuario pertenece a los grupos sudo o wheel.

Saludos!

No hay comentarios

Publicar un comentario

Entradas Populares