He escuchado a menudo que es mejor su rootear en lugar de iniciar sesión directamente como usuario root (y, por supuesto, la gente también dice que es aún mejor usar sudo). Nunca he entendido realmente por qué uno es mejor que el otro, ¿perspicacia?
33
Respuestas:
La inferencia es solo
su
osudo
cuando sea necesario.La mayoría de las tareas cotidianas no requieren un shell raíz. Por lo tanto, es una buena práctica usar un shell sin privilegios como comportamiento predeterminado y luego elevarse a la raíz cuando necesite realizar tareas especiales.
Al hacerlo, está reduciendo el alcance de errores peligrosos (secuencias de comandos incorrectas, comodines extraviados, etc.) y vulnerabilidades de cualquier aplicación que utilice. Especialmente aquellos que se conectan a Internet - vea el viejo adagio "No IRC como root" .
sudo
a menudo se recomienda porque le permite obtener un grano fino y auditar el uso de tales privilegios.Al observar estas prácticas, también está en condiciones de deshabilitar los inicios de sesión raíz remotos. Esto aumenta la barra de entrada para cualquier posible atacante, ya que tendrían que comprometer una cuenta de usuario normal que fuera miembro del grupo "rueda" e idealmente solo autorizada por las claves públicas SSH, luego la cuenta raíz misma.
fuente
sudo
es superior,su
también le permite usar el-m
indicador para mantener las variables de entorno iguales mientras se encuentra en un terminal raíz. Nada me impulsa más loco a rootearsu
un poco, solo para hacer algo con~
el nombre del directorio y que no funcione.Debe deshabilitar el acceso a la raíz desde el control remoto para que un atacante no pueda comprometer la raíz sin primero comprometer a un usuario y luego escalar a la raíz. Solo habilitamos el acceso de root en la consola.
Además, crea responsabilidad. :)
fuente
La razón principal es crear una pista de auditoría. Si necesita iniciar sesión en un sistema como usuario normal y luego su, es posible rastrear quién es responsable de las acciones dadas.
fuente
sudo también registra automáticamente cada comando en syslog y puede definir los comandos que cada usuario puede usar.
fuente
sudo vim foo.txt
luego caer a un shell desde vim le dará un shell raíz sin el registro de sudo regular.sudo -i
para obtener una sesión interactiva ...Otra buena razón: cuando se eleva a la raíz a través de sudo, un usuario se autentica con sus propias credenciales, lo que significa que no necesariamente se les debe dar la contraseña de root, lo que facilita el bloqueo cuando alguien abandona su organización.
fuente
Si desea crear una pista de auditoría y no quiere ser víctima de los problemas "sudo su -" o "sudo vim foo.txt" mencionados aquí, puede usar "sudosh". Distribuya el acceso raíz a través de sudo, pero cree el único comando permitido para ejecutar "sudosh".
sudosh es un shell de registro, y puede reproducir toda la sesión de terminal en una fecha posterior, mostrando exactamente lo que el usuario vio en su terminal.
fuente
Debe practicar la seguridad en profundidad.
No permita el acceso raíz remoto (o al menos el acceso raíz a través de contraseñas). (si permite el acceso de root a través de claves, controle cuidadosamente esas claves o, mejor aún, use algo como kerberos que permita la revocación centralizada de claves).
Deshabilitaría su y usaría sudo. De esa manera, los usuarios usan claves (preferiblemente encriptadas) para acceder al sistema y luego usan su contraseña solo para escalar privilegios. Puede restringir los programas a los que las personas acceden con sudo, pero principalmente solo restringe el acceso a quién conoce la contraseña de root.
En un mundo ideal, debería poder publicar sus contraseñas raíz en Internet y no importaría, incluso si le dio acceso a las personas a su máquina (pero no las colocó en el archivo / etc / sudoers). Por supuesto, no debe publicar la contraseña de root, pero la idea es proteger sus sistemas con capas concéntricas de protección.
fuente
La idea es deshabilitar el inicio de sesión raíz y, por lo tanto, no tener una cuenta de administrador predeterminada. De esa forma, un atacante debe adivinar tanto el nombre de usuario como la contraseña (y no solo la contraseña).
fuente
Si usa root de forma regular, entonces sus permisos pueden ser incorrectos o puede que tenga que otorgar derechos de sudo o un nuevo grupo de derechos para r / w / x los archivos o directorios.
Los buenos esquemas de permisos son algo que incluso los usuarios de Linux desde hace mucho tiempo se equivocan, o no se dan cuenta del alcance que tienen.
¡Ni siquiera me hagas empezar con lo que hizo Ubuntu!
fuente
Le impide ejecutar rm -r -f / Acabo de ejecutar eso hace 2 días (como usuario sin privilegios, quería ejecutar rm -r -f *)
fuente