Pregunta ¿Qué hay de malo en ser siempre root?


Tengo la sensación de que esta es una pregunta estúpida, pero esto es algo que me he preguntado durante un tiempo.

Tengo un VPS y esta es mi primera gran aventura de Linux. Soy la única persona que tiene acceso a ella. Mi pregunta es, ¿qué hay de malo en iniciar sesión como root en lugar de crear una cuenta y darles acceso a sudo? Si un sudoer puede hacer todo lo posible, entonces, ¿cuál es la diferencia? Si un pirata informático podría descifrar mi contraseña en mi cuenta estándar, no root, también podría ejecutar comandos sudo, entonces, ¿por qué un pirata informático que agrieta mi cuenta raíz importa más o menos?


81
2017-08-24 14:23


origen


También comentaría que si no estás familiarizado con el "Camino Unix", esta no es una pregunta estúpida. Debería obtener una bonificación por pensar en hacer la pregunta en primer lugar como nuevo administrador de Linux. - Bart Silverstrim
Y me gustaría comentar algunas de las respuestas. Particularmente los que dicen "puedes arruinar cosas siendo raíz". No creo que ese sea el punto ... "rm -rf /" hace lo mismo que "sudo rm -rf /". El punto radica en que cosas como "sudo rm" no funcionan, pero "sudo startMyApp en puerto bajo" funciona. - Zlatko
¿Qué hay de malo en no ser nunca? - ostendali


Respuestas:


Si ha iniciado sesión como usuario root, puede borrar fácilmente directorios o hacer algo que, retrospectivamente, sea realmente tonto en el sistema con solo mover un dedo, mientras que como usuario normalmente tiene que poner unos ciclos mentales adicionales en lo que necesita. Estás escribiendo antes de hacer algo que es peligroso.

También cualquier programa que ejecute como root como privilegios de root, lo que significa que si alguien o algo le permite ejecutar / compilar / navegar un sitio web que es peligroso y quiere dañar su sistema, como un troyano u otro malware, tiene acceso completo a su y puede hacer lo que quiera, incluido el acceso a los puertos TCP por debajo de 1024 (por ejemplo, puede convertir su sistema en un remailer sin su conocimiento).

Básicamente, usted está pidiendo problemas para iniciar sesión como usted mismo puede evitar. Conozco a muchas personas que se alegraron de tener esa red de seguridad en un momento de descuido.

EDITAR: También existe el problema de que la raíz es la más conocida, por lo tanto, un objetivo fácil, para scripts y hacks. Los sistemas que inhabilitan la cuenta y en su lugar obligan a los usuarios a usar sudo significa que cualquier intento de descifrar la raíz de ssh o un exploit local en la cuenta está golpeando sus cabezas contra una pared. Tendrían que adivinar / descifrar una contraseña. y nombre de usuario Es seguridad a través de la oscuridad hasta cierto punto, pero es difícil argumentar que no frustra la mayoría de los ataques de script para niños.


71
2017-08-24 14:30



+1 - Usar "sudo" hace que la ejecución de programas como root sea un acto abierto. No se trata de "detener a los piratas informáticos", se trata de que adquiera el hábito de trabajar como un usuario sin privilegios y de hacer que la invocación de los privilegios de raíz sea un acto intencional. - Evan Anderson
Estoy empezando a preguntarme si Evan es realmente una IA. - Bart Silverstrim
Sudo también añade una pista de auditoría. Como quién, qué y cuándo se registra cuando se ejecuta como sudo. El archivo de registro puede variar con la distribución, pero las distribuciones RedHat tienden a usar / var / log / secure y Ubuntu usa /var/log/auth.log... No estoy seguro si esto es cierto para todas las distribuciones basadas en Debian. - 3dinfluence
+1: no se trata solo de derechos para crear cosas o hacer cosas, también se trata de derechos para destruir. Iniciar sesión como root (o el equivalente en cualquier otro sistema operativo) es como andar llevando un arma con el seguro apagado. Es posible que nunca toques ese gatillo intencionalmente, pero ¿confiarías en ti mismo para hacerlo igual? - Maximus Minimus
mh: / me pone su sombrero de vaquero, quita el seguro de su pistola, abre una cerveza, murmura en voz baja algo acerca de los pensamientos, y luego ingresa como root. - Kyle Brandt♦


Si no permitiría que un idiota inicie sesión en su servidor como root, entonces no siempre se ejecute como root. A menos que puedas entregar el corazón, di que has Nunca sido un idiota ¿No realmente? ¿Estás seguro? :)

Beneficio: reduce la posibilidad de que seas root. y Un idiota a la vez.


29
2017-08-24 14:41



+1 - "Beneficio: reduce la posibilidad de que seas root e idiota simultáneamente". Absolutamente amo esto. - Evan Anderson
+1 por la filosofía de Scott Adams de que todos son idiotas. :) Sí, eso significa que tú y yo también. - Ernie
Absolutamente, esta es una de mis preguntas clave en las entrevistas de trabajo, ¿cuándo fue la última vez que cometió un error? Todo el mundo lo ha hecho, solo necesitas leer los subprocesos aquí sobre "fubar de administrador de sistemas más entretenido" o lo que sea. Si alguien no admite haber cometido un error realmente tonto al menos una vez en sus vidas, probablemente haya un puñado de razones por las que no quiera trabajar con ellos. - Tom Newton


La razón principal es errores. Si siempre eres root, un simple error tipográfico podría realmente arruinar el sistema. Si solo inicia sesión como root o usa sudo para hacer cosas que lo requieren, minimiza el riesgo de cometer un error peligroso.


9
2017-08-24 14:31





Cuando eres root, te vuelves flojo con los permisos, ya que tienes acceso a todo todo el tiempo, no te importa cuando las cosas son 777 o 644 o lo que sea. Por lo tanto, si alguna vez deja que alguien más acceda a su sistema y no quiera tener acceso a todo, de repente se convierte en una verdadera dificultad para hacer que la máquina sea segura para el uso de otras personas.


9
2017-08-24 14:38



Esto se llama "podredumbre de la raíz". - kmarsh
Me gusta ese término, "podredumbre de la raíz". De hecho, ejecutar como root todo el tiempo puede convertir las máquinas * nix en máquinas similares a las de Windows 95 sin la menor seguridad de múltiples usuarios. (Recuerdo una máquina SCO, hace años, donde todos los usuarios de la aplicación de contabilidad compartida se ejecutaban como root porque "hizo que los problemas de permisos desaparecieran".> Suspiro <) - Evan Anderson
Recuerdo haber recibido una explicación como esa: tenían una herramienta de lista de correo que se ejecutaba como root, junto con sendmail. Mi respuesta fue: "Los problemas de permisos también desaparecieron para los hackers". - duffbeer703


Hay algunos principios clave detrás de no iniciar sesión como root: 1) La contraseña de root nunca se envía a través de la red al momento de iniciar sesión 2) No hay forma de saber quién hizo algo si varios usuarios inician sesión con la misma cuenta (raíz u otra). 3) Accidentalmente haciendo algo 'estupido'.


7
2017-08-24 14:31





Es más para protegerse contra usted mismo, de modo que tenga una segunda oportunidad de revisar los comandos de privilegios más altos que intenta ejecutar, de manera análoga a UAC en Windows. Es bastante fácil hacer accidentalmente algo como rm -rf / mientras está conectado como root.

Además, tienes trazabilidad. Este no es un gran problema en su situación en la que usted es el único (teóricamente) que emite comandos, pero la capacidad de registrar y rastrear a un individuo es un componente clave para muchas formas de análisis.


3
2017-08-24 14:30



La trazabilidad es crucial en sistemas donde más de una persona trabaja como administrador de sistemas. No solo es deseable sino que es obligatorio por los regímenes regulatorios. - APC
Hice esto el viernes. En lugar de eliminar "/ dump / folder /" eliminé la carpeta /. Una barra invertida apestosa me recordó por qué no iniciamos sesión como root. - oneodd1


La diferencia es principalmente:
Que no puedes hacer nada malo por accidente.
ese código "malvado" no puede hacerse cargo del sistema.
Aviso: el código malvado no significa necesariamente que alguien ya tenga acceso al sistema.


2
2017-08-24 14:30



He notado que en estos días, el código malvado generalmente significa robots de spam, que pueden ejecutarse como cualquier usuario. - Ernie
Si piensas en un virus (que intenta destruir algo) o en un rootkit, entonces es mucho más complicado para el malware si no eres un root. - StampedeXV


Siempre debe usar cuentas con el menor nivel de privilegio posible. Correr como root todo el tiempo fomenta los malos hábitos y la pereza que harán que la vida sea desagradable cuando trabaja con múltiples usuarios o expone algo a una red pública / semipública.

También tenga en cuenta que el descifrado de contraseñas es solo un escenario de compromiso, y tampoco es el escenario más común. Es más probable que sea víctima de una vulnerabilidad del navegador, o una vulnerabilidad en algún demonio que se ejecuta en su sistema.

Piensa en el código que usas sin pensar. Por ejemplo, el puerto Linux de Adobe Flash, que es un montón de caca humeante que solo se ha vuelto utilizable en el pasado relativamente reciente. ¿Qué tan seguro crees que es ese código? ¿Quieres que sea capaz de ejercer el control total de tu sistema?


2
2017-08-24 14:37





Mi consejo sería intentar usar root todo el tiempo por un tiempo; Pronto descubrirás por qué no deberías :)


2
2017-08-24 15:36