¿Por qué no hay opción para la contraseña de sudo por separado?

1

Esto me ha molestado desde hace algunos años. Tenía un pequeño servidor web y utilicé ssh para iniciar sesión de forma remota. Noté que desde el primer día hubo ataques de fuerza bruta en mi cuenta.

Esto me hizo pensar en la seguridad y me di cuenta de que si un sistema tiene usuarios en sudoers, un ataque de ssh exitoso a dicha cuenta de usuario se termina de inmediato. ¿Por qué no hay opción para establecer una contraseña diferente para sudo? No puedo ser la primera persona que pensó en eso, ¿verdad?

    
pregunta tst 06.06.2017 - 16:03
fuente

2 respuestas

4

Primero, no todos los ataques requieren conocer la contraseña. Muchos ataques contra servicios (o demonios) atacan vulnerabilidades en el código y terminan en la ejecución del código en nombre de un usuario sin conocer la contraseña. En ese caso, la configuración sudo predeterminada agrega seguridad al requerir el conocimiento de la contraseña.

Otro ejemplo en un entorno multiusuario es cuando un usuario deja su terminal desatendido (usted y yo sabemos que es malo y nunca lo hacemos nosotros mismos, pero ...) un atacante puede ejecutar comandos en nombre del usuario, pero aún no se puede usar sudo .

Finalmente, mientras habla de ssh , el uso común es usar solo una clave (RSA) para la autenticación del usuario. De esa manera, la conexión ssh nunca usa la contraseña, que solo se usa para una conexión local directa o para obtener acceso a la raíz a través de sudo . Incluso se puede forzar deshabilitando el uso de la contraseña en la configuración de sshd . En el caso de un servidor remoto, la contraseña del usuario local se usa solo para obtener acceso de root.

Pero la respuesta real a su pregunta es ¡la opción existe ! El archivo /etc/sudoers se puede usar para declarar el indicador booleano rootpw . Si se establece este indicador, la contraseña será la contraseña para root en lugar de la contraseña para el usuario actual.

Si el sudoers contiene la línea:

Defaults rootpw

entonces se le pedirá la contraseña de root. Esta bandera está desactivada de forma predeterminada y rara vez se usa porque no es realmente una filosofía de sudo , sino su one: si conoce la contraseña de root, puede usar directamente su pasando todos los controles adicionales de sudo .

sudo es de hecho un comando altamente versátil, y realmente deberías leer man sudoers

    
respondido por el Serge Ballesta 06.06.2017 - 16:53
fuente
2

Esto es simple.

  1. Puede limitar quién puede sudo mediante el uso del archivo sudoers.
  2. SIEMPRE debe configurar su ssh para que solo acepte conexiones de clave pública / privada (¡por ejemplo, use un archivo de clave!)
  3. una contraseña diferente ofrecería 0 seguridad adicional, ya que es tan fácil hacer cosas desagradables para recuperarla tan pronto como tenga acceso de usuario. (básicamente hacer que les des tu contraseña)
  4. La mayoría de los servidores SSH tienen algún tipo de protección de fuerza bruta en su lugar. limitando la cantidad de intentos que cualquier IP obtiene. Cuando esto está en su lugar, la posibilidad de adivinar realmente la contraseña es bastante estrecha.
  5. casi todos esos intentos son scripts y quieren intentar usar otros medios para aumentar el permiso que una contraseña.

Su solución de usar una contraseña diferente solo molestará al usuario legítimo del sistema y ofrecerá poca o ninguna barrera para un atacante. Es mejor usar la contraseña de los usuarios y espero que establezca una correcta (como 4096 Bits o algo así ...)

    
respondido por el LvB 06.06.2017 - 16:14
fuente

Lea otras preguntas en las etiquetas