Tengo la sensación de que esta es una pregunta estúpida, pero es algo que me he preguntado por un tiempo.
Tengo un VPS y esta es mi primera gran empresa de Linux. Soy la única persona que tiene acceso a ella. Mi pregunta es, ¿qué tiene de malo iniciar sesión como root en lugar de crear una cuenta y darles acceso a sudo? Si un sudoer puede hacer todo lo que puede hacer root, ¿cuál es la diferencia? Si un pirata informático puede descifrar mi contraseña en mi cuenta estándar no root, entonces también podría ejecutar comandos sudo, entonces, ¿cómo importa un pirata informático que descifra mi cuenta root más o menos?
linux
ssh
permissions
ryeguy
fuente
fuente
Respuestas:
Si ha iniciado sesión como root, puede borrar fácilmente directorios o hacer algo que, en retrospectiva, es realmente tonto en el sistema con solo mover un dedo, mientras que, como usuario, normalmente tiene que poner algunos ciclos mentales adicionales en lo que estás escribiendo antes de hacer algo que es peligroso.
Además, cualquier programa que ejecute como root como privilegios de root, lo que significa que si alguien o algo lo obliga a 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 sistema y puede hacer lo que quiera, incluido el acceso a puertos TCP inferiores a 1024 (por lo que puede convertir su sistema en un remailer sin su conocimiento, por ejemplo).
Básicamente, estás pidiendo problemas que puede evitar iniciar sesión como tú mismo. He conocido a muchas personas que terminaron contentas de tener esa red de seguridad en un momento de descuido.
EDITAR: También existe el problema de que root sea el más conocido, por lo tanto, un objetivo fácil, para scripts y hacks. Los sistemas que deshabilitan 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 se golpea la cabeza contra la pared. Tendrían que adivinar / descifrar una contraseña y nombre de usuario. Es la 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 guiones para niños.
fuente
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 decir de corazón que nunca has sido un idiota. ¿No realmente? ¿Estás seguro? :)
Beneficio: reduce la posibilidad de que seas root y un idiota simultáneamente.
fuente
La razón principal son los errores. Si siempre eres root, un error tipográfico simple realmente podría 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.
fuente
Cuando eres root te vuelves perezoso con los permisos, ya que tienes acceso a todo el tiempo, no te importa cuando las cosas son 777 o 644 o lo que sea. Entonces, si alguna vez deja que alguien más en su sistema no quiera tener acceso a todo, de repente se convierte en una verdadera dificultad hacer que la máquina sea segura de usar por otras personas.
fuente
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 en el momento de inicio de sesión 2) No hay forma de saber quién hizo algo si varios usuarios inician sesión como la misma cuenta (root u otra). 3) Accidentalmente haciendo algo 'estúpido'
fuente
Es más para protegerse contra usted mismo para que tenga una segunda oportunidad de revisar los comandos de mayor privilegio que está tratando de ejecutar, de forma análoga a UAC en Windows. Es bastante fácil hacer accidentalmente algo como
rm -rf /
iniciar sesión 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 iniciar sesión y rastrear a un individuo es un componente clave para muchas formas de análisis.
fuente
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 maligno no significa necesariamente que alguien ya tenga acceso al sistema.
fuente
Siempre debe usar cuentas con el nivel de privilegio más bajo posible. Ejecutar como root todo el tiempo fomenta los malos hábitos y la pereza que harán que la vida sea desagradable cuando trabajas con múltiples usuarios o expones 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 seas víctima de una vulnerabilidad del navegador, o una vulnerabilidad en algún demonio que se está ejecutando en tu sistema.
Piensa en el código que usas sin pensar. Por ejemplo, el puerto Linux de Adobe Flash, que es una pila de popó humeante que solo se ha podido usar en el pasado relativamente reciente. ¿Qué tan seguro crees que es ese código? ¿Desea que pueda ejercer un control total de su sistema?
fuente
Puede prevenir ataques de fuerza bruta SSH. Cada unix tiene una cuenta 'root'. Sin embargo, desde el exterior no está claro cuál sería su nombre de usuario 'sudo'. Por lo tanto, si alguien quiere intentar abrirse paso por la fuerza bruta, sabe que hay una cuenta raíz y probablemente lo probará. Sin embargo, no saben por dónde empezar si estás usando sudo.
fuente
http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html
fuente
Mi consejo sería intentar usar root todo el tiempo por un tiempo; pronto descubrirás por qué no deberías :)
fuente
Incluso si no confío en la "seguridad por oscuridad", seguramente hay una ventaja de usar un inicio de sesión personalizado en lugar del inicio de sesión raíz siempre existente. Por lo tanto, también puede configurar SSH para evitar el inicio de sesión raíz.
Como otro dijo también, root puede hacer todo sin ninguna confirmación. Por lo tanto, el uso de un usuario no privilegiado puede evitar errores estúpidos y errores tipográficos.
Otro argumento a favor de las cuentas de múltiples usuarios es ejecutar diferentes softwares bajo diferentes usuarios. Al hacer esto, si se explota una falla de seguridad en una aplicación, el explorador solo puede acceder a los archivos y recursos accesibles para su usuario en ejecución.
Un último punto para no usar root: consumo de recursos. Root no tiene límite en cuanto a la memoria, el tiempo de procesamiento, los manejadores de archivos o el espacio en disco que puede usar. En muchos sistemas de archivos, hay bloques de datos que están reservados solo para root. Por lo tanto, un usuario normal nunca puede usarlos para llenar su disco. El comando ulimit también se puede usar para restringir la memoria y el número de controlador de archivos que un usuario puede consumir. Pero si usted es root (o una aplicación que se ejecuta como root), nada le impedirá cambiar este límite.
fuente
Sí, estoy de acuerdo con usted, y creo que es una cuestión de protección contra errores humanos y, a veces, contra programas maliciosos. Lo malo que nunca he visto es que usa root como la cuenta predeterminada de gnome.
Creo que la mayoría de los usuarios que hacen eso son los usuarios de Windows que migraron recientemente a Linux o Unix. Intente copiar el uso del privilegio de administrador en la raíz.
fuente
No hay nada de malo en iniciar sesión como root. Ayuda a desarrollar la memoria muscular para escribir solo comandos seguros y promueve la precisión del pensamiento al realizar acciones con grandes consecuencias. Recomiendo trabajar como root para mejorar la administración del sistema.
también puedes hacer cosas geniales como
ping -i 0.2 -c 1000 example.com
fuente