Evitar que SUDO ejecute passwd


1

Quiero evitar que los usuarios con acceso sudoer utilicen sudopara ejecutar passwd(y así cambiar la contraseña de root).

es posible? Si es así, ¿cómo se puede lograr?


2
De todos modos, ¿por qué es tan importante tener la contraseña de root cuando ya eres un sudoer? La conferencia sobre eso "con gran poder conlleva una gran responsabilidad" que sudo da en la primera ejecución es exactamente la respuesta a esta pregunta. Que o bien dar "restringidas" permisos de sudo (sólo ciertos programas, y asegurar los subniveles no puede ejecutar, por lo que no moreo less)
ssice

Respuestas:


5

Es, básicamente, no se puede prohibir a los usuarios de la ejecución de un comando en particular, si todavía están autorizados a ejecutar todos los otros comandos - que podría copiar passwda really-not-passwd-i-promisey ejecutar eso.

Si desea evitar que los sudoers cambien la contraseña de root, o la contraseña de otra persona, tampoco puede evitar eso; pueden editar manualmente /etc/shadowsiempre que tengan privilegios de root usando sudo.

(Esto podría lograrse, por ejemplo, usando Kerberos o LDAP para la autenticación, de esa manera nadie podría cambiar la contraseña de otro usuario, pero aún así nada puede evitar que los sudoers simplemente rompan la configuración o algo así).

Básicamente, no otorgue plenos sudoderechos a las personas en las que no confía. Prohibir un solo comando y permitir todos los demás no se puede hacer.


1
+1: la única opción que se me ocurre para permitir algunos, pero no todos, los sudoderechos sería crear un grupo de usuarios con acceso a algunas de las roothabilidades. Pero @PaulDC, debería haber pocas razones por las cuales otros usuarios fuera del administrador del sistema deberían tener privilegios de root (especialmente usuarios cuestionables). Investigue un poco para grupos de usuarios y visudo. Puede obtener lo más cercano posible (pero debe definir cada cosa específica que se puede hacer para limitarlo y evitar editores como vim / emacs ya que eso permitiría la edición de archivos con derechos de administrador).
nerdwaller 05 de

Se debe tener especial cuidado en la edición de archivos, la generación de subcapas, la asignación de contextos de seguridad y la configuración de setuid / capacidades. Pero si no puede hacer nada de eso, ¿por qué necesitaría hacerse pasar por root de todos modos? Tal vez le gustaría seguir investigando sobre ACL, grupos de Unix y / o sudo como usuarios distintos de root.
ssice

0

Es muy difícil mantener al usuario root alejado de cualquier cosa, pero creo que puede hacerlo con AppArmor.

El problema es, ¿cómo lo configuraría para que puedan ocurrir cambios de contraseña legítimos ?

El truco podría ser configurar un perfil de AppArmor para sudoque sea heredado por todos sus hijos. Esto no afectaría a los usuarios que ejecutan passwd como ellos mismos (para cambiar su propia contraseña) y no afectaría a los usuarios que ingresan a través de root su.

Sin embargo, sospecho que puede eludir eso copiando, moviendo o renombrando el sudobinario, por lo que probablemente desee bloquear el passwdacceso de escritura para todos los procesos raíz, y luego solo cambiarlo usando un CD en vivo.

Por supuesto, también debe proteger AppArmor de las modificaciones. :)

La mejor solución es probablemente también dar acceso a sudo solo para comandos específicos y luego solo para comandos que no cambian el sistema de archivos.


0

qué pasa con esto: edite el archivo / etc / sudoers como se muestra a continuación: %wheel ALL=(ALL) ALL,!/usr/bin/* /etc/shadow,!/usr/bin/* /etc/sudoers\ ,!/usr/bin/* /usr/bin/su,!/usr/bin/su,!/usr/sbin/visudo entonces tampoco se puede acceder a ningún comando en estos archivos sudo su.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.