¿Qué vulnerabilidades específicas estoy creando al deshabilitar la contraseña de sudo?


16

Aquí hay algunas instrucciones sobre cómo deshabilitar su sudocontraseña. Estos llevan la siguiente advertencia

Si deshabilita la sudocontraseña de su cuenta, comprometerá seriamente la seguridad de su computadora. Cualquiera que esté sentado en su cuenta desatendida e iniciada la sesión tendrá rootacceso completo , y las explotaciones remotas serán mucho más fáciles para los crackers maliciosos.

No me preocupa que las personas tengan acceso físico a mi máquina. ¿Qué exploits remotos son posibles o más fáciles si ignorara esta advertencia y deshabilitara la contraseña?

Respuestas:


23

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).

9

Creo que la contraseña para sudo solo podría protegerlo de dos cosas:

  1. daño accidental de su propio sistema (por ejemplo, ejecutar algunos rm -rfcon ruta relativa desde el historial de shell en un directorio diferente al anterior, o algo así)
  2. ejecutar un script (malicioso) que invoca sudoe intenta dañar su sistema (pero no creo que este tipo de software malicioso sea muy popular)

Si lo desea, puede usar la NOPASSWDopción solo para comandos seleccionados que no dañarán su sistema (para editores o para reiniciar servicios) y mantener la contraseña para otros comandos.


-1 por la sugerencia peligrosa de que permitir que un editor se ejecute como root no puede dañar el sistema. En ese punto, también podría dejar que todo se ejecute como root porque una sesión de editor permite la ejecución de código arbitrario de todos modos.
Caleb

2

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:

  • gran organización
  • muchos anfitriones
  • los hosts tienen diferentes niveles de seguridad
  • el acceso no root ya es dañino
  • las contraseñas de usuario desbloquean muchas cosas

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.


-1

Si no lo has sshdinstalado, es bastante seguro, a menos que rompas algo tú mismo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.