
Quiero impedir que los usuarios de sudo cambien la contraseña de root. ¿Como es posible?
Respuesta1
Si estás hablando de usuarios a los que sólo se les permite ejecutar algunos comandos específicos que has elegido incluir en la lista blanca, después de asegurarte de que no se pueden usar para lograr cosas que deseas prohibir, entonces, comoRaman Sailopal dice, la solución es simplementenoincluya cualquier comando que no desee que esos usuarios puedan ejecutar como root.
En particular, los usuarios no necesitan ser root para ejecutar el passwd
comando y cambiar supropiocontraseñas, por lo que dependiendo de tus necesidades específicas, es probable que no necesites darles la posibilidad de ejecutarcualquier passwd
comando como root con sudo
.
Sin embargo, si está buscando una forma eficaz de restringir la capacidad de los usuariosa quien le has permitido ejecutar cualquier comandocomo root sin sudo
ejecutar solo algunos comandos específicos que consideres peligrosos, entonces la respuesta es queno existe una manera efectiva de lograrlo, y en su lugar debería reconsiderar si debería otorgarles a esos usuarios los poderes que les está otorgando ahora. Incluso si no permitiera comandos específicos, los usuarios que pudieran ejecutar cualquiera de los comandos incluidos en la lista negra como root sudo
podrían simplemente lograr exactamente el mismo objetivo usando otros comandos.
Comoel sudo
manualdice en elNOTAS DE SEGURIDADsección:
Limitaciones del '!' operador
Generalmente no es efectivo “restar” comandos deTODOusando el
!
operador ''. Un usuario puede evitar esto trivialmente copiando el comando deseado con un nombre diferente y luego ejecutándolo. Por ejemplo:bill ALL = ALL, !SU, !SHELLS
Realmente no previenefacturaejecutar los comandos enumerados en SUoCONCHASya que puede simplemente copiar esos comandos con un nombre diferente, o usar un escape de shell desde un editor u otro programa. Por lo tanto, este tipo de restricciones deberían considerarse, en el mejor de los casos, como una recomendación (y reforzadas por políticas).
En general, si un usuario tiene sudoTODOno hay nada que les impida crear su propio programa que les proporcione un shell raíz (o hacer su propia copia de un shell) independientemente de cualquier
!
elemento '' en la especificación del usuario.
Éste es un caso especial del principio más general de que no se puede dar a alguien la capacidad de realizararbitrarioacciones en un sistema al mismo tiempo que las limita efectivamente al intentar prohibir algunas acciones limitadas. Al menos no puedes hacerlo simplemente bloqueando elmecanismos comunesque se utilizan para realizarlos. Siempre podrán encontrar otra manera, y es muy posible que lo hagan. Quizás encuentren otra maneraincluso por accidente, por lo que probablemente no puedas combatir eficazmente ni siquiera su descuido de esta manera.
Además, si tiene usuarios en quienes desea que administren el sistema, pero en quienes no confía para que accedan a su demanda de abstenerse de cambiar la contraseña de root, ¿realmente confía en ellos en alguna de las formas que realmente importan? ¿Realmente confías en ellos con todo elotrohabilidades que tienen, la mayoría de las cuales son mucho más destructivas? Como escribí enmi respuestaa¿Qué impide que alguien establezca una contraseña de root?sobre la administración de sistemas Ubuntu (donde, de forma predeterminada, la membresía en el sudo
grupo confiere poderes administrativos):
Eres miembro del
sudo
grupo. Puede eliminar todos los archivos del sistema. Puede escribir datos sin procesar en el disco duro, sobrescribiendo lo que hay allí de forma irrecuperable. Puede acceder a los archivos de otros usuarios, incluso si han establecido permisos restrictivos. Puede instalar nuevo firmware en sus dispositivos físicos. Puede deshacerse de las contraseñas de los usuarios de la base de datos oculta e intentar descifrarlas o simplemente restablecerlas. Puede instalar malware que infrinja la privacidad de los usuarios o destruya datos, incluidos registradores de pulsaciones de teclas y ransomware. Puedes hacer algunas cosas realmente raras con tus interfaces de red. Puedes hacer que el sistema informe mal a los usuarios sobre la seguridad de sus comunicaciones. Puedecubre tus pistas. Puedes entregar todos estos poderes, y otros que no he enumerado, a personas que los usarán para el mal. Cuando se trata de mal usosudo
de Polkit,aquellosson el tipo de cosas que deberían preocuparle.Es cierto que no debes dejar entrar a tu casa a personas que no son de tu confianza sin supervisión, pero la razón no es que luego puedan abrir la puerta desde adentro y entrar.*