Si permite sudo sin contraseña, cualquiera que logre ejecutar código en su máquina como su usuario puede ejecutar trivialmente código como root. Puede tratarse de alguien que usa su consola mientras está conectado pero no frente a su computadora, lo que no le preocupa (de todos modos, alguien con acceso físico puede hacer más o menos lo que quiere). También podría ser alguien que acceda a su cuenta en otra máquina en la que haya ingresado a su propia máquina. Pero también podría ser alguien que explota un agujero de seguridad remoto, por ejemplo, un sitio web que explota un error del navegador para inyectar código en la instancia de su navegador.
¿Qué tan importante es? No tanto, por varias razones:
- Un atacante que ha encontrado un agujero remoto probablemente también puede encontrar un agujero raíz local.
- Varios atacantes no se preocupan por los privilegios de root. Todo lo que quieren es enviar spam e infectar otras máquinas, y pueden hacerlo como su usuario.
- Un atacante que tiene acceso a su cuenta puede soltar un troyano que capture sus pulsaciones de teclado (incluida su contraseña) o que se conecte a cualquier medio que utilice para obtener la raíz para ejecutar el comando por sí mismo.
- Si usted es el único usuario en su máquina, no hay mucho que proteger que no sea accesible como usuario.
Por otra parte:
- Si está actualizado con las actualizaciones de seguridad, es posible que el atacante no encuentre un agujero local para explotar.
- Un atacante no root no puede borrar sus huellas muy bien.
- Tener que escribir una contraseña de vez en cuando no es una gran carga.
- Tener que escribir una contraseña le recuerda que está haciendo algo peligroso (como en: puede perder datos o inutilizar su computadora). (Como usuario no root, el único peligro real es borrar datos por error, y generalmente es obvio cuando borras algo y debes tener mucho cuidado).
Gilles 'SO- deja de ser malvado'
fuente
Vale la pena señalar que algunas organizaciones competentes en realidad prefieren sudo sin contraseña cuando tienen usuarios que necesitan iniciar sesión en muchos hosts remotos diferentes, especialmente si eso incluye hosts con diferentes niveles de seguridad.
El problema al ingresar su contraseña es que está dando su contraseña a sistemas remotos de manera regular. Una de las razones por las que usamos SSH es para evitar exactamente ese tipo de agujero de seguridad. Es una cuestión de compensaciones: está aumentando la probabilidad de que la contraseña de un usuario se vea comprometida a fin de disminuir la probabilidad de que un atacante que haya comprometido una sesión o clave pueda obtener acceso de root. En particular, imagine el siguiente escenario:
En el escenario que describí, sudo sin contraseña puede aumentar su seguridad al proteger la contraseña del usuario. Esto es similar a los ataques de reutilización de contraseñas que se han vuelto comunes en Internet, excepto que la vulnerabilidad proviene de un sistema de autenticación unificado en lugar de la reutilización real de contraseñas.
A menos que esté en una empresa gigante, el sudo con contraseña probablemente aumentará su seguridad, pero no necesariamente en gran medida. A menos que sea realmente un profesional en seguridad de sistemas, o sea un host con nada particularmente valioso, le recomiendo que lo deje encendido.
fuente
Si no lo has
sshd
instalado, es bastante seguro, a menos que rompas algo tú mismo.fuente