¿Cuál es la importancia de configurar RekeyLimit de sshd?

4

man sshd_config página estados:

  

RekeyLimit

     

Especifica la cantidad máxima de datos que se pueden transmitir antes de que se renegocie la clave de la sesión, y opcionalmente se sigue una cantidad máxima de tiempo que puede pasar antes de que se renegocie la clave de la sesión. [...] El valor predeterminado para RekeyLimit es "default none", lo que significa que la rekeying se realiza después de que se haya enviado o recibido la cantidad predeterminada de datos del cifrado y no se haya realizado una rekeying basada en el tiempo. Esta opción se aplica solo a la versión 2 del protocolo.

Supongamos que tengo una conexión de muy larga duración (días / semanas), con gigabytes transferidos de un lado a otro. ¿Hará alguna diferencia en el nivel de protección contra las amenazas de nivel medio si configuro el valor en un valor que no sea el predeterminado, sin reescritura basada en el tiempo?

¿Esta configuración evitará ataques inusuales o, inversamente, presentará a un atacante con oportunidades únicas? ¿Importa qué cifrados y modos de cifrado se emplean (implementación GCM de CBC frente a CTR frente a OpenSSH)?

    
pregunta Deer Hunter 09.12.2014 - 15:56
fuente

2 respuestas

6

La idea detrás del cambio de clave es que las claves de sesión pueden ser susceptibles a algún ataque no especificado, como el criptoanálisis directo o el ataque de canal lateral. Un tema común en la mayoría de los ataques es que requieren el análisis de una gran cantidad de datos cifrados para ejecutar. Al limitar la cantidad de datos transmitidos con una sola clave de sesión, puede frustrar de manera efectiva una gran parte de los ataques contra sus claves de cifrado, cualquiera que sean esos ataques.

El método de cifrado y encadenamiento que usas tiene un efecto en el tipo y la efectividad del ataque que un adversario podría implementar. Pero la defensa de rotar su clave de sesión después de unos pocos GB es una estrategia de mitigación razonablemente efectiva.

    
respondido por el tylerl 08.02.2015 - 00:34
fuente
0

Según mi conocimiento, cuando eligió los valores apropiados (cantidad de tráfico y límite de tiempo), debe considerar principalmente el tiempo de funcionamiento de la conexión y el tráfico. Si no tiene suficiente tráfico, entonces el límite de tiempo debe garantizar que la clave de la sesión se renegocie de manera oportuna para "prevenir" los ataques dependientes del tiempo (como un ataque sofisticado contra el espacio de la clave). Por otro lado, si tiene mucho tráfico, no desea establecer el límite de tráfico demasiado bajo, por lo que no tiene que renegociar la clave con demasiada frecuencia.

Esta opción es principalmente la de prevenir cualquier ataque que dependa de la cantidad de tráfico o del tiempo, por lo que dudo que presente directamente nuevas oportunidades de ataque.

El cifrado empleado importa en cierta medida, por lo tanto, la cantidad de tráfico predeterminada se establece entre 1G y 4G dependiendo del cifrado.

Según la información proporcionada por usted, creo que debería preocuparse principalmente por establecer un límite en la cantidad de tráfico que no sea demasiado bajo. El límite de tiempo podría ser una adición útil, aunque no es necesario si cree que la cantidad de tráfico en la conexión no se reducirá significativamente durante un largo período de tiempo.

    
respondido por el go2 09.12.2014 - 16:47
fuente

Lea otras preguntas en las etiquetas