5 formas de mejorar la seguridad de una cuenta de usuario de Linux

Una cuenta de usuario bien protegida puede prevenir métodos comunes de ataque. Por lo tanto, como administrador del sistema Linux, también tiene la responsabilidad de proteger su servidor con 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 las vulnerabilidades que pueden ocurrir cuando el sistema se ve comprometido.

1. Restrinja el acceso a la cuenta raíz

De forma predeterminada, cada instalación de Linux crea una cuenta raíz a la que puede acceder cualquier persona desde el exterior a través de SSH. Sin embargo, acceder a la cuenta raíz a través de SSH o de varios usuarios que tienen acceso dentro del sistema puede causar problemas.

Por ejemplo, un atacante puede iniciar sesión como root y obtener acceso al sistema.

Para restringir el acceso root innecesario hacia o desde su sistema Linux, puede:

  1. Agregue otro usuario y otorgue a ese usuario privilegios de root
  2. Deshabilitar inicio de sesión raíz SSH

Crear un nuevo superusuario

Para otorgar privilegios de sudo o root a una cuenta de usuario normal de Linux, agregue el usuario al grupo sudo de la siguiente manera:

usermod -aG sudo username

Ahora cambie a la cuenta de usuario con el comando su y verifique sus privilegios de root emitiendo el comando al que solo puede acceder el usuario root:

su - username sudo systemctl restart sshd

Habilitar los permisos de sudo proporciona algunos buenos beneficios de seguridad, como:

  1. No es necesario que comparta la contraseña de root con los usuarios habituales.
  2. Lo ayuda a verificar todos los comandos ejecutados por usuarios comunes, lo que significa que almacena detalles de quién, cuándo y dónde ejecuta el comando en el archivo /var/log/secure.
  3. También puede editar el archivo /etc/sudoers para restringir los privilegios de superusuario a los usuarios normales.Puede usar el comando su -l para verificar los privilegios de root actuales del usuario.

Deshabilitar inicio de sesión raíz SSH

Para deshabilitar el acceso raíz SSH en el sistema, primero abra el archivo de configuración principal.

Imagen 1 de 5 formas de mejorar la seguridad de una cuenta de usuario de Linux

Ahora elimine el comentario de la siguiente línea para establecer el permiso de inicio de sesión raíz en no:

PermitRootLogin no

Guarde el archivo y reinicie el servicio sshd escribiendo:

sudo systemctl restart sshd

Ahora, cuando intente iniciar sesión en SSH como root, recibirá el siguiente mensaje de error:

Permission denied, please try again.

2. Establecer el período de validez de la cuenta

Otra forma efectiva de controlar el acceso innecesario es establecer fechas de vencimiento para las cuentas creadas para uso temporal.

Por ejemplo, si un pasante o empleado necesita acceso al sistema, puede establecer una fecha de vencimiento al crear una cuenta.Esta es una precaución en caso de que olvide eliminar manualmente una cuenta después de dejar la organización.

Use el comando chage con la utilidad grep para recuperar los detalles de la fecha de vencimiento de la cuenta de usuario:

chage -l username| grep account

Salida:

Account expires : never

Como se muestra arriba, el resultado dice que no hay fecha de vencimiento. Ahora use el comando usermod con el indicador -e para establecer la fecha de vencimiento en el formato AAAA-MM-DD y verifique el cambio con el comando chage anterior.

usermod -e 2021-01-25 username chage -l username| grep account

3. Seguridad mejorada para las contraseñas de las cuentas

Imponer una política de contraseña segura es un aspecto importante de la seguridad de un usuario, ya que las contraseñas débiles permiten a los atacantes infiltrarse fácilmente en su sistema a través de ataques de fuerza bruta, diccionario o tabla de arco.

Elegir una contraseña fácil de recordar puede ofrecer cierta comodidad, pero también abre muchas oportunidades para que los atacantes adivinen contraseñas utilizando herramientas y listas de palabras disponibles en línea.

Establecer la fecha de validez de la contraseña

Linux proporciona varias opciones predeterminadas en el archivo /etc/logins.defs que le permiten establecer una fecha de vencimiento para la contraseña de una cuenta. Use el comando chage y anote los detalles de la caducidad de la contraseña de la siguiente manera:

chage -l username | grep days

El valor de la variable predeterminada utiliza el valor idealPASS_MAX_DAYS9999 La cantidad predeterminada de días para usar una contraseña depende del tipo de configuración de la cuenta

Para las cuentas existentes, puede controlar la caducidad de la contraseña con el comando chage para establecer PASS_MAX_DAYS, PASS_MIN_DAYS y PASS_WARN_AGE en 4, 5 y 7.

chage -M 40 -m 5 -W 7 username

hash de contraseña

Otra forma de mejorar la seguridad de las contraseñas de las cuentas es almacenar hashes de contraseñas en /etc/shadow. Los hashes son funciones matemáticas unidireccionales que aceptan una contraseña como entrada y generan una cadena irreversible.

Anteriormente, en los sistemas Linux, cada vez que un usuario ingresaba su contraseña de inicio de sesión, el sistema generaba su hash y lo verificaba con el código almacenado en el archivo /etc/passwd.

Sin embargo, hay un problema con los permisos para el archivo passwd, cualquier persona con acceso al sistema puede leer el archivo y descifrar el hash usando la tabla de arco.

Por lo tanto, Linux ahora almacena funciones hash en el archivo / etc / shadow con el siguiente conjunto de permisos:

Imagen 2 de 5 formas de mejorar la seguridad de una cuenta de usuario de Linux

Todavía puede instalar Linux con las antiguas formas de almacenar hashes. Puede cambiar esto ejecutando el comando pwconv, que guardará automáticamente los valores hash de la contraseña en el archivo / etc / shadow. De la misma forma, puedes activar otro método (archivo /etc/passwd) con el comando pwunconv.

4. Eliminar cuentas de usuario no utilizadas

Los delincuentes pueden explotar cuentas no utilizadas y caducadas en el sistema renovándolas y haciéndolas parecer un usuario legítimo. Para eliminar una cuenta inactiva y los datos relacionados cuando un usuario deja la organización, primero busque todos los archivos relacionados con el usuario:

find / -user username

Luego desactive la cuenta o establezca una fecha de vencimiento como se mencionó anteriormente. Asegúrese de 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 con el comando userdel.

userdel -f username

5. Restrinja el acceso remoto a un grupo específico de usuarios

Si está alojando un servidor web en su máquina Linux, es posible que solo necesite permitir que ciertos usuarios tengan acceso SSH remoto al sistema. OpenSSL le permite restringir a los usuarios verificando si pertenecen a un grupo en particular.

Para hacer esto, cree un grupo de usuarios llamado ssh_gp, agregue los usuarios a los que desea acceder de forma remota al grupo y enumere la información del grupo de usuarios de la siguiente manera:

Imagen 3 de 5 formas de mejorar la seguridad de una cuenta de usuario de Linux

Ahora abra el archivo de configuración principal de OpenSSL para incluir el grupo de usuarios permitido ssh_gp.

Imagen 4 de 5 formas de mejorar la seguridad de una cuenta de usuario de Linux

Asegúrese de comentar el orden para garantizar la inclusión exitosa del grupo. Cuando termine, guarde y salga del archivo y reinicie el servicio:

sudo systemctl restart sshd

Dada la importancia de configurar, administrar y proteger las cuentas de los usuarios, este es un gran desafío que enfrentan los administradores de Linux. Este artículo enumera algunas medidas de seguridad que un administrador de cuentas debe tomar para proteger el sistema de posibles amenazas de cuentas de usuario no seguras.

Deja una respuesta

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

Subir
error: Content is protected !!