El primer paso y el más crucial para proteger los servidores y sistemas Linux es evitar que terceros maliciosos tengan acceso no requerido. El control adecuado de la cuenta de usuario es una de las muchas maneras de mejorar la seguridad de su sistema.
Una cuenta de usuario reforzada evita que el sistema sufra los métodos de ataque más comunes de escalada de privilegios horizontales o verticales. Por lo tanto, como administrador del sistema Linux, también es responsable de proteger su servidor a través de técnicas de seguridad efectivas.
Este artículo cubre algunos controles básicos de seguridad de la cuenta de usuario para evitar el acceso innecesario y corregir posibles lagunas para comprometer el sistema.
1. Restringir el acceso a la cuenta raíz
De forma predeterminada, cada instalación del sistema Linux configura una cuenta raíz accesible para cualquier persona desde el exterior a través de SSH. Sin embargo, el acceso a la cuenta raíz a través de SSH o el acceso de múltiples usuarios dentro del sistema puede causar problemas de repudio.
Por ejemplo, un atacante puede usar la fuerza bruta para iniciar sesión como usuario root y obtener acceso al sistema.
Para restringir el acceso raíz innecesario desde dentro o fuera del sistema Linux, puede:
- Agregar otro usuario y otorgarle privilegios de root
- Deshabilitar inicio de sesión raíz SSH
Crear un nuevo superusuario
A otorgar permisos sudo o root a una cuenta de usuario normal de Linux, agregue el usuario a la sudo agrupar de la siguiente manera:
usuariomod -aG sudo nombre de usuario
Ahora cambie a la cuenta de usuario usando el comando su y verifique sus privilegios de root emitiendo un comando al que solo puede acceder el usuario root:
su - nombre de usuario
sudo systemctl reiniciar sshd
Habilitar los permisos de sudo proporciona algunos buenos beneficios de seguridad, como:
- No necesita compartir contraseñas de root con usuarios regulares.
- Lo ayuda a verificar todos los comandos ejecutados por usuarios regulares, lo que significa que almacena los detalles de quién, cuándo y dónde de la ejecución del comando en el /var/log/secure Archivo.
- Además, puedes editar la /etc/sudoers archivo para limitar los permisos de superusuario de los usuarios regulares. Puedes usar el comando su-l para verificar los permisos de root actuales de un usuario.
Deshabilitar inicio de sesión SSH raíz
Para deshabilitar el acceso SSH raíz en su sistema, primero, abra el archivo de configuración principal.
sudo vim /etc/ssh/sshd_config
Ahora elimine el comentario de la siguiente línea para establecer los permisos de inicio de sesión de root en No:
PermitRootLogin no
Guarde el archivo y reinicie el sshd servicio escribiendo:
sudo systemctl reiniciar sshd
Ahora, siempre que intente acceder al sistema mediante SSH como usuario raíz, recibirá el siguiente mensaje de error:
Permiso denegado, por favor, intente de nuevo.
2. Establecer fechas de vencimiento en las cuentas
Otra forma efectiva de controlar el acceso innecesario es establecer fechas de vencimiento en las cuentas creadas para uso temporal.
Por ejemplo, si un pasante o un empleado necesita acceso al sistema, puede establecer una fecha de vencimiento durante la creación de la cuenta. Es una medida de precaución en caso de que olvide eliminar o eliminar manualmente la cuenta después de que abandonen la organización.
Utilizar el cambio comando con la utilidad grep para obtener los detalles de caducidad de la cuenta del usuario:
cambiar -l nombre de usuario| cuenta grep
Producción:
La cuenta caduca: nunca
Como se muestra arriba, no genera fecha de vencimiento. Ahora usa el modo de usuario comando con el -mi marca para establecer la fecha de caducidad en el AAAA-MM-DD formatee y verifique el cambio usando el comando chage anterior.
usuariomod -e 2021-01-25 nombre de usuario
cambiar -l nombre de usuario| cuenta grep
3. Mejore la seguridad de la contraseña de la cuenta
Hacer cumplir una política de contraseñas seguras es un aspecto importante para proteger las cuentas de usuario, ya que las contraseñas débiles permiten a los atacantes acceder fácilmente a sus sistemas a través de fuerza bruta, diccionario o ataques de mesa de arcoíris.
Elegir una contraseña fácil de recordar puede ofrecer cierta comodidad, pero también abre formas de oportunidades para que los atacantes adivinen contraseñas con la ayuda de herramientas y listas de palabras disponibles en línea.
Establecer la fecha de caducidad de la contraseña
Además, Linux ofrece algunas opciones predeterminadas dentro /etc/logins.defs archivo que le permite configurar la caducidad de la contraseña de la cuenta. Utilizar el cambio comando y grep los detalles de caducidad de la contraseña de la siguiente manera:
cambiar -l nombre de usuario | dias grep
Variables | Valor por defecto | Uso | Valor ideal |
---|---|---|---|
PASS_MAX_DAYS | 9999 | El número predeterminado de días para usar una contraseña que depende del tipo de configuración de su cuenta | 40 |
PASS_MIN_DAYS | 0 | Evita que los usuarios cambien su contraseña inmediatamente | 5 |
PASS_MIN_LEN | 5 | Obliga al usuario a establecer contraseñas de cierta longitud | 15 |
PASS_WARN_AGE | 0 | Advierte al usuario que cambie la contraseña antes de verse obligado a hacerlo | 7 |
Para las cuentas en uso, puede controlar la caducidad de la contraseña con la ayuda del cambio comando para establecer PASS_MAX_DAYS, PASS_MIN_DAYS y PASS_WARN_AGE en 40, 5 y 7.
cambiar -M 40 -m 5 -W 7 nombre de usuario
Hashes de contraseña
Otra forma de fortalecer la seguridad de la contraseña de la cuenta es almacenar hashes de contraseña dentro el archivo /etc/shadow. Los hashes son funciones matemáticas unidireccionales que toman la contraseña como entrada y generan una cadena no reversible.
Anteriormente, en los sistemas Linux, cada vez que un usuario ingresaba su contraseña para iniciar sesión, el sistema generaba su hash y lo cotejaba con el almacenado en /etc/passwd Archivo.
Sin embargo, hay un problema con el permiso de acceso al archivo passwd, es decir, cualquier persona con acceso al sistema puede leer el archivo y descifrar el hash con tablas arcoíris.
Por lo tanto, Linux ahora guarda los hashes dentro del /etc/shadow archivo con el siguiente conjunto de permisos de acceso:
ls -l /etc/sombra
1 raíz raíz 1626 7 de enero 13:56 /etc/shadow
Todavía es posible instalar Linux con las antiguas formas de almacenar hashes. Puede modificar eso ejecutando el pwconv comando, de modo que guardará automáticamente los hashes de contraseña en el /etc/shadow Archivo. Del mismo modo, puede habilitar el otro método (/etc/passwd archivo) usando el pwunconv mando.
4. Eliminar cuentas de usuario no utilizadas
Un mal actor puede explotar cuentas no utilizadas y caducadas en el sistema, renovando esa cuenta y haciéndola aparecer como un usuario legítimo. Para eliminar una cuenta inactiva y los datos asociados cada vez que un usuario abandona la organización, primero busque todos los archivos relacionados con el usuario:
buscar / -usuario nombre de usuario
Luego, deshabilite la cuenta o establezca una fecha de vencimiento como se mencionó anteriormente. No olvide hacer una copia de seguridad de los archivos propiedad del usuario. Puede optar por asignar archivos a un nuevo propietario o eliminarlos del sistema.
Finalmente, elimine la cuenta de usuario usando el comando userdel.
userdel -f nombre de usuario
5. Restringir el acceso remoto a un grupo de usuarios específico
Si está alojando un servidor web en su máquina Linux, es posible que deba permitir que solo usuarios específicos accedan SSH de forma remota al sistema. OpenSSL le permite limitar a los usuarios al verificar si pertenecen a un grupo específico.
Para eso, cree un grupo de usuarios llamado ssh_gp, agregue los usuarios a los que desea otorgar acceso remoto al grupo y enumere la información del grupo de usuarios de la siguiente manera:
sudo groupadd ssh_gp
sudo gpasswd -un nombre de usuario ssh_gp
nombre de usuario de grupos
Ahora, abra el archivo de configuración principal de OpenSSL para incluir el grupo de usuarios permitido ssh_gp.
sudo vim /etc/ssh/sshd_config
Permitir grupos ssh_gp
Recuerde descomentar la línea para asegurar una inclusión grupal exitosa. Cuando termine, guarde y salga del archivo y reinicie el servicio:
sudo systemctl reiniciar sshd
Mantenimiento de la seguridad de la cuenta de usuario en Linux
Hoy en día, la mayoría de las organizaciones alojan infraestructuras críticas como servidores web, cortafuegos y bases de datos en Linux, y el compromiso de cualquier componente interno representa una amenaza significativa para el conjunto infraestructura.
Dada la importancia de la configuración, la gestión y la protección de las cuentas de usuario es un desafío fundamental al que se enfrentan los administradores de Linux. Este artículo ha enumerado algunas medidas de seguridad que un administrador de cuentas debe tomar para proteger el sistema contra amenazas potenciales debido a cuentas de usuario desprotegidas.
La gestión de usuarios es una tarea crucial que todo administrador de sistemas Linux debe dominar. Esta es la guía definitiva de administración de usuarios para Linux.
Leer siguiente
- linux
- Seguridad
- Control de cuentas del usuario
- Seguridad
- Consejos de seguridad

Rumaisa es escritora independiente en MUO. Ha desempeñado muchas funciones, desde matemática hasta entusiasta de la seguridad de la información, y ahora trabaja como analista de SOC. Sus intereses incluyen leer y escribir sobre nuevas tecnologías, distribuciones de Linux y todo lo relacionado con la seguridad de la información.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse