Pregunta ¿Por qué un error de inicio de sesión a través de ssh lleva más tiempo que uno exitoso?


Esto es algo que me ha molestado durante años, y tengo curiosidad por saber si alguno de ustedes los administradores de uber me lo puede explicar.

Si me encierro en una de mis cajas de Linux y proporciono las credenciales correctas, mi autenticación es casi instantánea. En el mismo cuadro, si proporciono la contraseña incorrecta, tardará unos segundos en presentar el mensaje de inicio de sesión fallido y volver a preguntar. ¿Qué sucede en el servidor que lleva una contraseña incorrecta hasta que falla?

Gracias sf!

SR


7
2017-08-04 15:35


origen




Respuestas:


Esta es una función de seguridad implementada por el módulo PAM que controla sus contraseñas.

Si lees la página de manual de pam_unix (8), verás una opción "nodelay". psh_unix es utilizado por ssh para verificar las contraseñas, mediante el inicio de sesión y cualquier otra cosa que verifique su contraseña. "La acción predeterminada es que el módulo solicite un retraso en el fallo de dos segundos".

Hay una función a la que todos los módulos pam pueden llamar para solicitar el retraso principal de pam stuff. pam_fail_delay. Esta función toma el retraso más prolongado que cualquier módulo llamado y lo cambia aleatoriamente hasta en un 25% y espera tanto tiempo antes de regresar a la aplicación (sshd, inicio de sesión, etc.).

Es una medida de seguridad común en muchos sistemas que una falla (como intentar verificar la contraseña de un usuario que no existe) inserte un pequeño descanso. Esto evita los ataques de tiempo, ya que de lo contrario un inicio de sesión fallido a una cuenta válida podría demorar un poco más (cifrando la contraseña, las estadísticas en el directorio de inicio, etc.) que un intento de iniciar sesión en una cuenta inexistente. Otros términos para esto son canal encubierto, canal de tiempoo ataque de canal lateral. También desalienta los ataques de fuerza bruta (pero no muy bien, solo abre más conexiones). Aleatorizar el sueño también ayuda un poco.


13
2017-08-04 18:11



Tu respuesta es buena, pero mira. canal encubierto contra ataque de canal lateral; "Canal encubierto" parece referirse a brechas desde el interior. - Andrew
@Andrew: pero el canal lateral parece estar restringido principalmente a criptografía ... La fuga de datos de sincronización que esos mecanismos PAM enmascaran podría Sea el momento de descifrar contraseñas potenciales, podría ser qué partes de la pila de PAM se ejecutan, o podría ser si se realiza o no una búsqueda en la red de algún tipo ... Aunque editaré - freiheit
+1 interesante, no sabía sobre la aleatorización. Pensé que era solo para desalentar los ataques de fuerza bruta. - sleske


Aunque no estoy muy familiarizado con el funcionamiento de OpenSSH, es lógico pensar que esta es una característica de seguridad. Sin demora, sería fácil para un atacante (automatizado) intentar varias contraseñas en un período de tiempo muy corto. Cualquier tipo de "factor de lodo" hace que este tipo de ataque sea menos factible.


9
2017-08-04 15:41



Secundado Creo que esto es cierto. Lo mismo con los inicios de sesión en la mayoría de las distribuciones de Linux (al menos basadas en GNOME). - Luke has no name
Parece que @freheit ha proporcionado una respuesta más específica. - Skyhawk


Eso depende de la configuración de autenticación de su servidor. En la mayoría de las cajas de linux (vainilla simple del estante) esto usará PAM, para cuentas locales. Sin embargo, probablemente también buscará un servicio NIS. Esto nunca se aplica cuando se inicia sesión con éxito en una cuenta de usuario local, pero si eso no funciona, PAM se interrumpirá en la búsqueda del servidor NIS (o las credenciales en el servidor NIS, si existe).

Por supuesto, hay muchos otros escenarios posibles, donde se aplican principios similares. Para poder brindarle una respuesta detallada, deberá proporcionar más detalles sobre la configuración de autenticación de su servidor (por ejemplo, /etc/nsswitch.conf y /etc/pam.conf o el contenido de los archivos en /etc/pam.d).


1
2017-08-04 15:43





¿No es también algo que ver con los mecanismos de repliegue? ¿Qué sucede si inicia sesión con resultados detallados? Cuando obtiene sus credenciales correctamente, no es necesario recurrir a ninguna otra forma de autenticación.


0
2017-08-04 16:04