¿Por qué es malo ejecutar como root?

9

A menudo me encuentro con publicaciones en foros u otros sitios web en los que ves a personas que bromean de tal manera que ejecutan / inician sesión como root como si fuera algo horrible y todos deberían saberlo. Sin embargo, no hay mucho que una búsqueda revele al respecto. Tal vez sea ampliamente conocido por los expertos en Linux, pero realmente no sé por qué. Recuerdo que siempre corrí como root cuando probé Linux hace años (Redhat y Mandrake) y no recuerdo haber tenido ningún problema por eso. En realidad, hay algunas distribuciones que tienen un fondo rojo brillante con signos de alerta por todas partes como fondo de pantalla para el usuario raíz (¿Suse?). Todavía uso la cuenta "Administrador" para uso regular en mi instalación de Windows y tampoco he tenido ningún problema.

La tarde
fuente

Respuestas:

9

Estos usuarios tienen acceso administrativo al sistema, un nivel de permiso que les permite, y las aplicaciones que ejecutan, eludir los mecanismos de protección (como los permisos del sistema de archivos), lo que les permite hacer todo en un sistema. El software malicioso ama el acceso sin restricciones.

Como un simple ejemplo,

sudo rm -rf *

eliminará prácticamente todo en un sistema Linux, si está en el directorio raíz. No tiene por qué ser tan obvio como eso, ni siquiera malicioso. Algo como variables inesperadamente indefinidas en scripts que requieren privilegios de root pueden causar problemas graves:

rm -rf $destinationDir/*

# if the variable is undefined and the shell doesn't care, the result is:
rm -rf /*

A veces, es un error tipográfico simple en un script que elimina la mitad de su sistema.

Por lo tanto, la recomendación general es usar programas de ejecución solo con permisos elevados si es realmente necesario.

Daniel Beck
fuente
3
En resumen: es muy peligroso.
digitxp
Solo mirar esa orden me revuelve el estómago.
Paul Lammertsma
4

Root en Linux es aún más poderoso que una cuenta de administrador en Windows. Es comparable a la cuenta SYSTEM en Windows, que normalmente no es accesible.

usuario54114
fuente
0

Sería el equivalente a deshabilitar completamente UAC y ejecutar como administrador para todos los usuarios en un cuadro de Windows. El malware puede instalarse más fácilmente, el manejo por descargas es más efectivo, si hay una penetración, ahora son buenos en su computadora. Simplemente elimina de manera efectiva los privilegios de los usuarios (generalmente una mala práctica). En mi opinión, si no has tenido un problema, has tenido mucha suerte, tienes hábitos de navegación increíblemente seguros, o lo más probable ... has tenido un problema y no lo sabías.

RobotHumanos
fuente
¿Qué tipo de problemas podría haber tenido (y tener ahora en Windows) y no saber?
Mussnoon
Es posible que no detecte algunos tipos de rootkits que no hacen nada en el procesador o en el disco (como sondear un sitio web con un solo get / post cada 2 minutos para formar parte de un DDoS). Otras posibilidades incluyen buscar lentamente en su disco datos relacionados con PCI (números de tarjeta de crédito)
RobotHumans
0

Tengo (al menos dos veces) guiones escritos que se suponía que debían examinar la estructura del directorio de una manera particular y ejecutarse rm -rf *en algún directorio. Hubo algún error, y el script terminó yendo al "/"directorio (raíz) y ejecutándose rm -rf *. Este es, por supuesto, el peor ejemplo, pero incluso los scripts o comandos menos malignos pueden causar graves daños a su sistema si se ejecuta como root.


fuente
Para los scripts (especialmente los que deben ejecutarse con privilegios de root) debe usar redes de seguridad como "rm -rf / full / path / to / target / dir / *" o "cd / some / nonexisting / directoy / | exit 1" .
0

Además de los poderes que vienen con él y, por lo tanto, los efectos de los errores, también viene sin ninguna advertencia. Y son las advertencias las que te alertan de cosas inesperadas.

Como cuando ejecuta una GUI como root: ¿cómo podría saber que algún malware intentó instalarse?

Arjan
fuente
0

Tienes la triste desgracia de Microsoft y los antivirus que tratan el problema. La cuenta de administrador (root) está destinada a tener acceso irrestricto (como lo indican todos). No solo puede modificar los archivos del sistema, lo que resulta en una máquina que no puede arrancar, sino que puede acceder a otros datos del usuario (los permisos del usuario no son suficientes para asegurar el acceso a los datos y la modificación cuando el acceso físico a la computadora está disponible). Ahora a lo que no "ves".

Ha sido una práctica desafortunada ejecutar siempre una máquina Windows como administrador. Hay buenas razones para esto, como la posibilidad de convertirse en otro usuario dentro de una sesión succionada (la instalación del programa requeriría cerrar sesión e iniciar sesión como administrador e instalar la aplicación, lo que incluso puede requerir que se ejecute el administrador). El resultado es que su computadora se utiliza para cosas que no esperaba, incluso si no instaló la aplicación.

El resultado no es que la gente se aleje de la carrera como administrador, sino que Microsoft está aportando el control de permisos a la estructura subyacente del sistema operativo UAC. Lo que esto significa es que se le pide que dé permiso a la aplicación para ejecutarse sin importar quién sea. Vista era realmente malo porque tenía dos capas para los usuarios administradores: "¿Desea ejecutar este programa?", "Ok, ahora que está ejecutando este programa, ¿le gustaría dejarlo correr?"

En Linux ves una filosofía muy diferente. En primer lugar, el sistema operativo hace lo que usted le dice, sin verificar que realmente quería ejecutar una aplicación. En segundo lugar, el usuario no puede hacer lo que quiera con el sistema. Esto significa que el sistema está a salvo de los errores del usuario, pero el usuario siempre puede escalar sus permisos al nivel adecuado si lo desea. Microsoft básicamente ha construido una capa de escalado de permisos separada de la capa de usuario, Linux / Unix siempre ha tenido un diseño para escalar permisos que funcionó con los usuarios.

he_the_great
fuente
0

En Linux, en su mayoría solo evita que usted (o una aplicación que actúe en su nombre) accidentalmente haga algo tonto.

En Windows, no puede instalar muchos tipos de software sin ejecutar en una cuenta como administrador, porque no tiene acceso de escritura a los archivos del programa o las carpetas de Windows. Los peores tipos de malware necesitan poder escribir en estas áreas para introducirse en su sistema.

Si no se está ejecutando como administrador y visita un sitio comprometido que intenta instalar algo como un keylogger oculto para robar contraseñas, información bancaria o números de tarjetas de crédito, es probable que la instalación falle. Si se está ejecutando como administrador, esa instalación tiene muchas más posibilidades de tener éxito. El mismo principio es válido para los sistemas Linux.

La clave aquí es que el software antivirus ni siquiera entra en juego. En estos días, el software antivirus es su última línea de defensa, no la primera. El orden de importancia que uso para calificar las medidas de seguridad es el siguiente:

  1. Mantenga su sistema (incluido el software de aplicación) parcheado
  2. No ejecutar como administrador
  3. Use otros hábitos seguros de internet
  4. Ejecuta un firewall
  5. Tenga una buena copia de seguridad sin conexión (en este caso, sin conexión significa "no accesible para su sistema de archivos normal", lo que en realidad podría significar usar un servicio en línea)
  6. Ejecute software antivirus

De hecho, si está haciendo lo suficiente de los otros elementos correctamente, el software antivirus no es realmente necesario. Pero lo importante aquí es que correr como administrador es un no-no.

Afortunadamente, este es el estado predeterminado en Windows 7. Incluso si su cuenta tiene privilegios de administrador, aún se ejecuta "sandboxed" y simplemente le da el derecho de elevar para una aplicación específica bajo demanda.

Joel Coehoorn
fuente