¿Merece la pena mantener múltiples pares de llaves para diferentes servicios?

2

Suponga una máquina con id_rsa e id_rsa.pub.

La máquina debe autenticarse en múltiples servicios a través del par de llaves.

El primer servicio, por ejemplo, es el acceso sin contraseña ssh a otra máquina al copiar la clave pública en el archivo authorized_keys del otro servidor.

Ahora, la misma máquina debe autenticarse mediante las claves ssh a un segundo servicio, como github, por ejemplo.

¿Existe algún beneficio de seguridad para crear otro par de llaves solo para github, y adoptar la mentalidad de un par de llaves diferente por servicio, o puedo usar la misma clave pública en todas partes? Supongo que la pregunta se reduce a cuánto daño potencial me expongo si uso el mismo par de llaves para múltiples servicios?

En este último, si una clave privada se ve comprometida, dañaría ese servicio solo. Pero en el primero, si esa clave privada se ve comprometida, estaría expuesto al daño de muchos más servicios a la vez. Entonces, me parece que hay muchos pares de llaves, pero ¿la sobrecarga administrativa justifica la seguridad agregada?

    
pregunta Wadih M. 23.03.2017 - 05:14
fuente

2 respuestas

1

Piense en los pares de claves como un rango administrativo de sistemas y datos a los que también se otorga acceso.

Si un atacante obtiene acceso a uno, ¿a qué tiene acceso en todas partes donde se usa este par de claves?

Si usaste diferentes pares de claves para diferentes servicios, ¿cómo limitaría esto el acceso del atacante?

Finalmente, como ejemplo, si usó un par de claves para mover imágenes públicas para un puñado de servidores web hacia y desde un servicio de suministro de imágenes públicas (llamémoslo GifHub) y otro par de claves para mover datos de tarjetas de crédito a un conjunto separado de sistemas alojados por el procesador de su tarjeta de crédito (ignorar PCI por un momento). ¿Se le ocurre alguna razón por la que no quiera darle a su imagen pública el acceso del servicio a su base de datos de procesamiento de tarjetas de crédito? En este ejemplo esperanzadamente ficticio, puede notar que un par de claves protege los datos que son públicos, mientras que el otro par de claves protege las tarjetas de crédito. La razón por la que no desea utilizar el mismo par de claves para ambas es que si alguien ataca su aplicación de movimiento de imágenes no quiere que tengan acceso a la base de datos de su tarjeta de crédito. Por lo tanto, tener varios pares de claves proporciona un nivel de defensa en profundidad que es lo que quieres. Por lo tanto, usar pares de claves separados para cada servicio es generalmente inteligente .

Nota: Hay muchas otras razones por las que querría usar diferentes pares de claves para diferentes aplicaciones o incluso datos que se mueven en diferentes direcciones . Tomaría demasiado tiempo cubrir todos los problemas aquí, pero sí, hay un beneficio de seguridad y se presenta en forma de defensa en profundidad.

    
respondido por el Trey Blalock 23.03.2017 - 05:39
fuente
0

El uso de pares de claves separados solo es útil si las claves privadas tienen diferentes restricciones de acceso.

Por ejemplo, los usuarios John y Mary en un servidor particular deben tener diferentes pares de llaves. Si John está comprometido, Mary todavía puede estar segura.

Sin embargo, tiene poco sentido que John tenga un par de claves privadas en su directorio .ssh. Si se compromete, todas sus claves privadas están expuestas. Entonces no importa si tiene una o varias claves privadas.

    
respondido por el Sjoerd 23.03.2017 - 09:01
fuente

Lea otras preguntas en las etiquetas