Saltar al contenido

CyberSkills – Tutoriales de Seguridad y Servidores

Gestión Avanzada de Usuarios, Grupos y Sudo en Ubuntu Server 24.04

Tutorial: Gestión Avanzada de Usuarios, Grupos y Sudo en Ubuntu Server 24.04

Este tutorial completo cubre la gestión avanzada de usuarios y grupos, así como la configuración de sudo en Ubuntu Server 24.04. Una gestión adecuada de estos elementos es crucial para la seguridad y la administración eficiente de un sistema Linux en entornos de producción.

Información importante: Este tutorial está diseñado para Ubuntu Server 24.04 con configuración de seguridad avanzada usando nftables + fail2ban en puerto SSH 1422.

1. Gestión Avanzada de Usuarios

La gestión de usuarios es fundamental para mantener la seguridad y organización del sistema. Ubuntu Server 24.04 proporciona herramientas robustas para esta tarea.

1.1. Crear un Nuevo Usuario

Para crear un nuevo usuario, utiliza el comando adduser. Este comando crea el usuario, su directorio personal, y copia los archivos de configuración por defecto.

sudo adduser [nombre_de_usuario]

Se te pedirá que establezcas una contraseña y que introduzcas información adicional (que puedes dejar en blanco si lo deseas).

1.2. Modificar un Usuario Existente

El comando usermod permite modificar las propiedades de un usuario existente:

  • Cambiar el directorio personal:
sudo usermod -d /nuevo/directorio/home [nombre_de_usuario]
  • Cambiar el shell por defecto:
sudo usermod -s /bin/bash [nombre_de_usuario]
  • Cambiar el nombre de usuario (requiere pasos adicionales):

Paso 1: Bloquear la cuenta:

sudo usermod -L [nombre_de_usuario_antiguo]

Paso 2: Cambiar el nombre de usuario y el directorio personal:

sudo usermod -l [nombre_de_usuario_nuevo] -m -d /home/[nombre_de_usuario_nuevo] [nombre_de_usuario_antiguo]

Paso 3: Desbloquear la cuenta:

sudo usermod -U [nombre_de_usuario_nuevo]

1.3. Eliminar un Usuario

Para eliminar un usuario y su directorio personal, utiliza deluser con la opción --remove-home:

sudo deluser --remove-home [nombre_de_usuario]

Advertencia: Eliminar un usuario es una acción irreversible. Asegúrate de hacer backup de los datos importantes antes de proceder.

2. Gestión Avanzada de Grupos

Los grupos son fundamentales para organizar usuarios y asignar permisos de forma eficiente en sistemas Linux.

2.1. Crear un Nuevo Grupo

sudo addgroup [nombre_de_grupo]

2.2. Añadir un Usuario a un Grupo

Para añadir un usuario a un grupo existente, usa adduser:

sudo adduser [nombre_de_usuario] [nombre_de_grupo]

Para añadir un usuario a múltiples grupos, puedes usar usermod -aG (la opción -a es importante para añadir y no reemplazar los grupos existentes):

sudo usermod -aG grupo1,grupo2,grupo3 [nombre_de_usuario]

2.3. Eliminar un Usuario de un Grupo

sudo deluser [nombre_de_usuario] [nombre_de_grupo]

2.4. Eliminar un Grupo

sudo delgroup [nombre_de_grupo]

3. Configuración Avanzada de Sudo

sudo (superuser do) permite a usuarios autorizados ejecutar comandos como superusuario o como otro usuario, según lo definido en el archivo /etc/sudoers.

3.1. Añadir un Usuario al Grupo sudo

La forma más sencilla de otorgar privilegios sudo a un usuario es añadirlo al grupo sudo:

sudo adduser [nombre_de_usuario] sudo

Los miembros del grupo sudo pueden ejecutar comandos con sudo sin necesidad de configuración adicional en /etc/sudoers.

3.2. Configuración Avanzada con visudo

Para configuraciones más granulares, debes editar el archivo /etc/sudoers utilizando el comando visudo:

sudo visudo

Importante: El comando visudo es crucial porque valida la sintaxis del archivo antes de guardarlo, evitando errores que podrían bloquear el acceso sudo.

Ejemplos de Configuraciones en /etc/sudoers:

  • Permitir a un usuario ejecutar todos los comandos sin contraseña:
[nombre_de_usuario] ALL=(ALL) NOPASSWD: ALL
  • Permitir a un usuario ejecutar comandos específicos sin contraseña:
[nombre_de_usuario] ALL=(ALL) NOPASSWD: /usr/bin/apt update, /usr/bin/apt upgrade
  • Permitir a un grupo ejecutar todos los comandos:
%[nombre_de_grupo] ALL=(ALL) ALL
  • Alias de comandos: Puedes definir alias para agrupar comandos y simplificar la gestión.
Cmnd_Alias APACHE_RESTART = /usr/sbin/apachectl restart, /usr/sbin/apachectl stop, /usr/sbin/apachectl start
[nombre_de_usuario] ALL=(ALL) APACHE_RESTART

3.3. Revocar Permisos Sudo

Para revocar los permisos sudo de un usuario, simplemente elimínalo del grupo sudo:

sudo deluser [nombre_de_usuario] sudo

4. Configuración de Seguridad con nftables y fail2ban

Para complementar la gestión de usuarios, es importante configurar el firewall y protección contra ataques:

4.1. Configuración de nftables para SSH en puerto 1422

# Crear reglas de nftables para SSH en puerto 1422
sudo nft add rule inet filter input tcp dport 1422 accept
sudo nft add rule inet filter input tcp dport 22 drop

4.2. Configuración de fail2ban

# Instalar fail2ban
sudo apt update && sudo apt install fail2ban -y

# Configurar fail2ban para puerto SSH 1422
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

5. Mejores Prácticas de Seguridad

  • Principio de mínimo privilegio: Otorga solo los permisos necesarios para que un usuario realice su trabajo.
  • Contraseñas fuertes: Asegúrate de que todos los usuarios tengan contraseñas complejas y únicas.
  • Auditoría: Revisa regularmente los logs de sudo (/var/log/auth.log) para detectar actividades sospechosas.
  • Evita el uso de la cuenta root directamente: Siempre que sea posible, utiliza sudo con una cuenta de usuario normal.
  • Bloquea la cuenta root: Para mayor seguridad, puedes bloquear el inicio de sesión directo de root y usar sudo para todas las tareas administrativas.
sudo passwd -l root

6. Comandos de Referencia Rápida

AcciónComando
Crear usuariosudo adduser [usuario]
Eliminar usuariosudo deluser --remove-home [usuario]
Crear gruposudo addgroup [grupo]
Añadir usuario a gruposudo adduser [usuario] [grupo]
Otorgar permisos sudosudo adduser [usuario] sudo
Editar sudoerssudo visudo
Ver grupos de usuariogroups [usuario]
Listar usuarioscat /etc/passwd

Conclusión: Este tutorial te proporciona las herramientas y conocimientos necesarios para una gestión robusta de usuarios, grupos y sudo en tu Ubuntu Server 24.04, con configuración de seguridad avanzada usando nftables y fail2ban en puerto SSH 1422.

Únete a la conversación

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *