Gestión de Identidades de Usuario y Controles de Acceso en Linux

CompTIABeginner
Practicar Ahora

Introducción

Bienvenido al laboratorio sobre Gestión de Identidades de Usuario y Controles de Acceso en Linux. La gestión adecuada de usuarios y accesos es una piedra angular de la seguridad y administración del sistema. Asegura que los usuarios solo tengan acceso a los recursos necesarios para sus roles, previniendo acciones no autorizadas y posibles brechas de seguridad.

En este laboratorio, obtendrá experiencia práctica con las herramientas esenciales de línea de comandos para gestionar usuarios, grupos y permisos. Aprenderá a crear cuentas de usuario, gestionar membresías de grupos, controlar el acceso a archivos con chmod y chown, y otorgar privilegios administrativos específicos utilizando sudo. Al final de este laboratorio, tendrá una base sólida para asegurar un entorno Linux.

Crear y Gestionar Cuentas de Usuario y Grupos

En este paso, aprenderá a crear y gestionar cuentas de usuario y grupos, que son tareas fundamentales para cualquier administrador de sistemas Linux. Crearemos un nuevo usuario, un nuevo grupo y luego añadiremos el usuario a ese grupo.

Primero, creemos un nuevo usuario llamado alice. Usaremos el comando useradd con la opción -m, que le indica al sistema que cree un directorio personal para el usuario.

sudo useradd -m alice

A continuación, cada cuenta de usuario debe tener una contraseña. Utilice el comando passwd para establecer una contraseña para alice. Se le pedirá que introduzca y confirme la nueva contraseña.

sudo passwd alice

Puede introducir una contraseña simple como password para este laboratorio. Asegúrese de escribir la misma contraseña dos veces; si no coinciden, verá un error y deberá intentarlo de nuevo.

Para verificar que el usuario alice ha sido creado, puede comprobar el archivo /etc/passwd, que contiene información sobre todas las cuentas de usuario.

grep alice /etc/passwd

Debería ver una línea de salida que contiene los detalles del usuario alice.

alice:x:5001:5001::/home/alice:/bin/sh

Ahora, creemos un nuevo grupo llamado developers. Usamos el comando groupadd para esto.

sudo groupadd developers

Para verificar la creación del grupo, puede comprobar el archivo /etc/group.

grep developers /etc/group

La salida debería mostrar el nuevo grupo.

developers:x:5003:

Finalmente, añadamos nuestro nuevo usuario alice al grupo developers. Usamos el comando usermod con las opciones -aG. -a significa añadir (append), y -G especifica el grupo(s). Es importante usar -a para evitar eliminar al usuario de otros grupos a los que pueda pertenecer.

sudo usermod -aG developers alice

Para confirmar que alice es ahora miembro del grupo developers, utilice el comando groups.

groups alice

La salida listará todos los grupos a los que pertenece alice, que ahora debería incluir developers.

alice : alice developers

Configurar Permisos de Archivos y Directorios (chmod, chown)

En este paso, aprenderá a gestionar los permisos de archivos y directorios utilizando los comandos chmod y chown. Estos son esenciales para controlar quién puede leer, escribir o ejecutar archivos en su sistema. Trabajaremos con un archivo ubicado en ~/project/reports/quarterly.txt.

Primero, examinemos la propiedad y los permisos actuales del archivo utilizando el comando ls -l.

ls -l reports/quarterly.txt

La salida se verá algo así, mostrando que el archivo es propiedad del usuario y grupo labex.

-rw-rw-r-- 1 labex labex 20 Aug  5 10:34 reports/quarterly.txt

Ahora, cambiemos la propiedad de este archivo. Haremos que el usuario alice sea el propietario y el grupo developers sea el propietario del grupo. Usamos el comando chown para esto. La sintaxis es chown usuario:grupo nombre_archivo.

sudo chown alice:developers reports/quarterly.txt

Verifiquemos el cambio ejecutando ls -l nuevamente.

ls -l reports/quarterly.txt

La salida ahora muestra el nuevo propietario y grupo.

-rw-rw-r-- 1 alice developers 20 Aug  5 10:34 reports/quarterly.txt

A continuación, modificaremos los permisos del archivo utilizando el comando chmod. Queremos establecer los permisos de manera que:

  • El propietario (alice) tenga acceso de lectura y escritura (rw-).
  • El grupo (developers) tenga acceso de solo lectura (r--).
  • Los demás no tengan ningún acceso (---).

En notación octal (numérica), leer es 4, escribir es 2 y ejecutar es 1. Por lo tanto, rw- es 4+2=6, r-- es 4 y --- es 0. Esto nos da el código de permisos 640.

Apliquemos estos permisos.

sudo chmod 640 reports/quarterly.txt

Finalmente, compruebe los permisos una última vez para confirmar que están configurados correctamente.

ls -l reports/quarterly.txt

La salida ahora debería reflejar los nuevos permisos -rw-r-----.

-rw-r----- 1 alice developers 20 Aug  5 10:34 reports/quarterly.txt

Implementar Sudo para la Gestión de Acceso Privilegiado

En este paso, aprenderá a otorgar acceso privilegiado a los usuarios utilizando sudo. En lugar de otorgar acceso completo de root, sudo permite un control granular sobre qué comandos puede ejecutar un usuario con privilegios elevados. Esta es una práctica mucho más segura.

La configuración de sudo se almacena en el archivo /etc/sudoers. La forma más segura de editar este archivo es utilizando el comando visudo, que bloquea el archivo y verifica si hay errores de sintaxis antes de guardar.

Vamos a dar al usuario alice permiso para ejecutar el comando apt update sin necesidad de introducir una contraseña.

Abra el archivo sudoers para editarlo:

sudo EDITOR=nano visudo

Esto abrirá el archivo en un editor de texto (como nano). Desplácese hasta el final del archivo y añada la siguiente línea:

alice ALL=(ALL) NOPASSWD: /usr/bin/apt update

Esta línea significa: el usuario alice en ALL hosts puede ejecutar comandos como ALL usuarios ((ALL)) sin contraseña (NOPASSWD:) para el comando especificado /usr/bin/apt update.

Después de añadir la línea, guarde y salga del editor. En nano, puede hacerlo presionando Ctrl+O, luego Enter para confirmar el nombre del archivo, y Ctrl+X para salir.

Ahora, probemos la nueva regla. Necesitamos cambiar a la cuenta de usuario alice.

sudo su - alice

Su prompt de comandos cambiará para indicar que ahora ha iniciado sesión como alice. Ahora, intente ejecutar el comando permitido.

sudo /usr/bin/apt update

El comando debería ejecutarse correctamente sin pedir contraseña. Verá que las listas de paquetes se están actualizando.

A continuación, intentemos ejecutar un comando que alice no tiene permitido ejecutar con sudo, como apt upgrade.

sudo /usr/bin/apt upgrade

Este comando fallará, y verá un mensaje [sudo] password for alice: indicando que al usuario alice no se le permite ejecutar este comando.

[sudo] password for alice:

Presione Ctrl+C para salir del comando.

Esto confirma que nuestra regla de sudo está funcionando como se esperaba. Ahora, vuelva a su usuario original labex.

exit

Revisar Registros de Sudo para Actividad de Acceso Privilegiado

En este paso, aprenderá a revisar los registros del sistema para monitorear el acceso privilegiado. Auditar el uso de sudo es una práctica de seguridad crítica para rastrear quién ejecuta comandos como root y cuándo.

En sistemas basados en Debian como Ubuntu, los comandos sudo se registran en el archivo /var/log/auth.log. Este archivo está protegido, por lo que necesita usar sudo para leerlo.

Podemos usar el comando grep para filtrar el registro y encontrar entradas relacionadas con los comandos sudo ejecutados por el usuario alice en el paso anterior.

Ejecute el siguiente comando para buscar en el registro de autorización:

sudo grep 'sudo.*alice' /var/log/auth.log

La salida mostrará varias líneas. Debería poder identificar los registros tanto de los intentos de sudo exitosos como de los fallidos.

Un intento exitoso se verá similar a esto, mostrando el comando que se ejecutó:

... labex-vm sudo:    alice : TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt update

Un intento fallido también se registrará, indicando claramente que el comando no estaba permitido:

... labex-vm sudo:    alice : user NOT allowed to execute /usr/bin/apt upgrade on labex-vm ; TTY=pts/0 ; PWD=/home/alice ; USER=root ; COMMAND=/usr/bin/apt upgrade

La revisión de estos registros permite a los administradores monitorear actividades sospechosas y garantizar que los comandos privilegiados se utilicen de manera apropiada.

Resumen

¡Felicitaciones por completar el laboratorio!

En este laboratorio, ha adquirido experiencia práctica con tareas esenciales de gestión de usuarios y acceso en Linux. Estas habilidades son fundamentales para mantener un sistema Linux seguro y bien organizado.

Aprendió a:

  • Crear nuevos usuarios y grupos utilizando useradd y groupadd.
  • Modificar la propiedad de archivos con chown y los permisos con chmod.
  • Implementar acceso privilegiado granular utilizando sudo y el comando visudo.
  • Auditar la actividad de sudo revisando los registros del sistema en /var/log/auth.log.

Al dominar estos comandos, ahora está mejor equipado para administrar usuarios y proteger datos sensibles en cualquier servidor Linux.