Tutoriales

Cómo restringir el comando su a usuarios autorizados en Linux

este su Command es una herramienta poderosa que se puede usar para cambiar a la cuenta de otro usuario. Sin embargo, también puede ser utilizado por malos actores para obtener acceso no autorizado a su sistema.atravesar Restringir el uso del comando supuede ayudar a proteger su sistema Linux del acceso no autorizado.

introducir

En el tutorial anterior, aprendimos cómo «Otorgar o denegar acceso sudo a un grupo» Haga las cosas más seguras y administre mejor los grupos en Linux. Sin embargo, esto solo puede no ser suficiente.

Si un malhechor obtiene acceso a una cuenta sin privilegios de sudo, aún puede intentar iniciar sesión como root u otro usuario con privilegios sudo usando su Orden. Como tú sabes, su Los comandos permiten a los usuarios ejecutar comandos como otras cuentas, incluidas root cuenta.

Para solucionar esto, debemos asegurarnos de que solo cuentas específicas tengan permiso para usar el su Orden. Este paso adicional agregará aún más seguridad a nuestro sistema.En este breve tutorial, aprenderemos cómo Restrinja el uso del comando su a usuarios autorizados en Linux.

Aquí hay algunas razones por las que es posible que desee limitar el uso del comando su:

  • Evite que usuarios no autorizados accedan a datos confidenciales.
  • Evite que los usuarios no autorizados cambien la configuración del sistema.
  • Evite que usuarios no autorizados instalen malware.

1. Restrinja el uso del comando Su a usuarios específicos en Debian y sus derivados

Restringir quién puede usar su comando, necesitamos crear un grupo dedicado y permitir que solo los miembros de ese grupo específico usen su Orden. Veamos cómo hacer esto.

1. A los efectos de esta guía, crearé dos usuarios, a saber usuario 1 y usuario 2.

$ sudo adduser user1
$ sudo adduser user2

2. A continuación, cree un nuevo grupo llamado miembro administrador.

$ sudo groupadd adminmembers

3. Agregue «usuario1» y «usuario2» al grupo.

$ sudo usermod -aG adminmembers user1
$ sudo usermod -aG adminmembers user2

Del mismo modo, agregue todos los demás usuarios a este grupo.

Puede verificar la pertenencia a este grupo con el comando:

$ getent group adminmembers

Salida de ejemplo:

adminmembers:x:1005:user1,user2

4. Ahora, ejecute el siguiente comando para restringir su Emita el comando solo a los miembros del grupo «adminmembers»:

$ sudo dpkg-statoverride --update --add root adminmembers 4750 /bin/su

esta aquí, sudo dpkg-statoverride --update --add comando para anular los permisos de archivo y la propiedad de archivos específicos en distribuciones de Linux basadas en Debian.En este ejemplo, el comando está funcionando para /bin/su binario.

Desglosemos el comando:

  • sudo: Esto se usa para ejecutar comandos con privilegios de superusuario (raíz). Necesitará privilegios administrativos para modificar los archivos del sistema.
  • dpkg-statoverride: esta es una herramienta de línea de comandos en los sistemas basados ​​en Debian que le permite anular los permisos de archivos y la propiedad de los paquetes administrados por el administrador de paquetes.
  • --update: Esta opción le dice dpkg-statoverride Actualice la anulación especificada si ya existe.
  • --add: Esta opción indica que queremos agregar una nueva superposición.
  • root: especifica el usuario que establecerá la propiedad del archivo.
  • adminmembers: especifica el grupo que establecerá la propiedad del archivo.
  • 4750: Esta es una representación numérica de los permisos del archivo.valor 4750 Ejecutar con un permiso especial llamado «SetUID» (Establecer ID de usuario). cuando. . .cuando su Un binario con el conjunto de bits SetUID se ejecuta con el ID de usuario efectivo del propietario del archivo (raíz) en lugar de que el usuario lo ejecute.Esto permite que los usuarios normales cambien temporalmente a los privilegios de root mientras ejecutan su.
  • /bin/su: Esta es la ruta al archivo para configurar la anulación.En este caso lo es /bin/su Archivo binario que permite a un usuario cambiar a la cuenta de otro usuario (generalmente raíz) después de proporcionar la contraseña necesaria.

Entonces, el comando está agregando anulaciones para permisos y propiedad /bin/su binario.Establece el propietario del archivo en rootagrupados en adminmembersy conceda permisos SetUID al archivo.Esto significa que cuando un usuario ejecuta su comando, que se ejecutará con privilegios de root, permitiéndoles cambiar al usuario root u otro usuario con privilegios de superusuario después de proporcionar la contraseña adecuada.Los no miembros del grupo «adminmembers» no pueden usar su comandos, incluso si tienen privilegios sudo.

Vamos a verificarlo. Ahora, estoy conectado al sistema como un usuario llamado «ostechnix» con privilegios de sudo.

$ sudo -lU ostechnix
[sudo] password for ostechnix: 
Matching Defaults entries for ostechnix on debian12:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,
    use_pty

User ostechnix may run the following commands on debian12:
    (ALL : ALL) ALL

Como puede ver en el resultado anterior, el usuario «ostechnix» puede ejecutar todos los comandos.

Ahora, usemos su comando y ver qué pasa.

$ su - user1

Salida de ejemplo:

-bash: /usr/bin/su: Permission denied

¿mirar?No disponible para el usuario «ostechnix» su A pesar de tener privilegios de sudo, aún se pueden ejecutar comandos porque no es miembro del grupo «adminmembers».porque restringimos su Los comandos se aplican solo a los miembros de ese grupo en particular.

Use el comando su para cambiar de usuario

Ahora cierre sesión en la sesión actual y vuelva a iniciar sesión como cualquier miembro del grupo «usuario1» o «usuario2» o «miembros administrativos».

Y comprueba si su Cómo funciona el comando:

user1@debian12:~$ whoami
user1
user1@debian12:~$ 
user1@debian12:~$ su - user2
Password: 
user2@debian12:~$ 
user2@debian12:~$ whoami
user2
user2@debian12:~$ 
user2@debian12:~$ su - user1
Password: 
user1@debian12:~$ 
user1@debian12:~$ whoami
user1
user1@debian12:~$ 
Restringir el uso de comandos Su por parte de usuarios específicos
Restringir el uso de comandos Su por parte de usuarios específicos

Como puede observar en el resultado anterior, tanto «usuario1» como «usuario2» pueden cambiar entre diferentes cuentas de usuario usando el siguiente comando: su porque ambos son miembros del grupo «adminmembers».

1.1 Restaurar el comando su a su configuración original

Deshacer los cambios realizados por el comando sudo dpkg-statoverride --update --add root adminmembers 4750 /bin/sudebe eliminar el conjunto de anulación para /bin/su binario.este dpkg-statoverride Los comandos le permiten administrar los permisos de archivos y la propiedad de los paquetes en los sistemas basados ​​en Debian.

eliminar superposición /bin/su Binario, sigue estos pasos:

1. Comprobar corriente dpkg-statoverride Configuración:

Antes de eliminar una anulación, es una buena idea verificar que la anulación esté /bin/su existe y cuál es la configuración actual.Ejecute el siguiente comando para ver el actual dpkg-statoverride configuración:

$ dpkg-statoverride --list /bin/su

Este comando mostrará los permisos actuales y la configuración de propiedad /bin/su binario.

Salida de ejemplo:

root adminmembers 4750 /bin/su

2. Eliminar dpkg-statoverride Entrada:

Para eliminar una anulación, use el siguiente comando:

$ sudo dpkg-statoverride --remove /bin/su

Este comando eliminará las entradas anuladas para /bin/su.

3. Restablezca los permisos originales (si es necesario):

Si desea restablecer los permisos /bin/su Para restaurar los valores predeterminados, use el siguiente comando:

$ sudo chmod 4755 /bin/su

este 4755 valor establece el bit SetUID en el archivo, lo que permite su Los comandos se ejecutan con privilegios de root.

restaurar el comando su a su configuración original
restaurar el comando su a su configuración original

Con estos pasos deberías haber deshecho los cambios que hiciste inicialmente sudo dpkg-statoverride --update --add root adminmembers 4750 /bin/su comando y restaurar /bin/su binario a su configuración original.

advertir: Tenga cuidado al modificar la configuración del sistema, especialmente cuando se trate de permisos y propiedad de archivos, ya que los cambios inapropiados pueden afectar la seguridad y la estabilidad del sistema.

2. Uso restringido de comandos Su en sistemas basados ​​en RHEL

El método anterior solo funciona en Debian y sus derivados (como Ubuntu).proceso de limitación su El uso de los comandos varía según las RPM. Veamos cómo hacer esto.

Para limitar el uso de su Para usar el comando en sistemas basados ​​en RHEL, siga los pasos a continuación:

1. Cree un nuevo usuario (diga «usuario1») y agréguelo al grupo «rueda»:

$ sudo adduser user1
$ sudo passwd user1
$ sudo usermod -G wheel user1

Esto otorgará al usuario «usuario1» acceso a su Los comandos se ejecutan a través del grupo «rueda», que generalmente se configura con privilegios especiales.

2. Abra el archivo de configuración de PAM su Usando un editor de texto:

$ sudo nano /etc/pam.d/su

3. Agregue la siguiente línea al final del archivo o elimine el comentario de la línea si existe:

auth required /lib/security/pam_wheel.so use_uid

Alternativamente, puede descomentar o agregar esta línea:

auth required pam_wheel.so use_uid

4. Guarde los cambios y cierre el archivo.

A través de estos pasos, su El comando estará restringido y solo los usuarios que pertenezcan al grupo «rueda» podrán utilizarlo.

cuando intentas usar su Desde un comando que no es miembro del grupo Wheel, verá un resultado como este:

[user3@Almalinux9ct ~]$ su - user1
Password: 
su: Module is unknown
Uso restringido de comandos Su en sistemas basados ​​en RHEL
Uso restringido de comandos Su en sistemas basados ​​en RHEL

Para volver a la configuración original, simplemente comente o elimine la línea que agregó en el paso anterior.

preguntas frecuentes

P: ¿Qué es su Comando en Linux?

respuesta: si su El comando, abreviatura de «cambiar de usuario», permite a un usuario ejecutar un comando como un usuario diferente (generalmente root con privilegios de superusuario).

P: ¿Por qué limitar su uso de comandos?

respuesta: limite su El uso de comandos mejora la seguridad al restringir el acceso a operaciones privilegiadas, lo que reduce el riesgo de que usuarios no autorizados obtengan un control ilimitado sobre el sistema.

P: ¿Cómo limito el uso de su ¿Orden?

Respuesta: Puede ser restringido su El uso de comandos se controla mediante la configuración de un archivo PAM (Módulo de autenticación conectable) para permitir el acceso solo a grupos o usuarios específicos, como el grupo «rueda».

P: ¿Cómo otorgo acceso? su ¿Para grupos específicos?

R: Agregue el usuario deseado al grupo especificado (por ejemplo, «rueda») y configure /etc/pam.d/su Los archivos requieren membresía en este grupo su acceso de comando.

P: ¿Cómo comprobar si su ¿Los comandos están debidamente restringidos?

respuesta: usar su Use el comando con un usuario sin privilegios para verificar que el acceso esté restringido a usuarios o grupos autorizados.

en conclusión

uso limitado su Los comandos en Linux son un paso importante para fortalecer la seguridad de los sistemas Linux y proteger la información confidencial.Al controlar cuidadosamente el acceso a los comandos privilegiados, como supodemos reducir el riesgo de que usuarios no autorizados obtengan mayores privilegios y posiblemente dañen el sistema.

Hacer cumplir estas restricciones, combinadas con otras mejores prácticas de seguridad, puede crear un entorno Linux más resistente y seguro.

Lectura relacionada:

LEER  Las herramientas y bibliotecas de XZ están comprometidas debido a un problema crítico

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba