Dos sucesos distintos reciben el nombre de clave SSH filtrada, y exigen respuestas diferentes. La autenticación con clave pública envía una clave pública y una firma hecha con la clave privada, así que la clave privada nunca es un campo de la petición. El reenvío del agente expone otra cosa, porque un host remoto que alcanza su agente reenviado puede pedirle que firme sin tener jamás la clave. Tratar ambos como un solo suceso lleva o bien a una rotación inútil o bien a una delegación que sigue activa.

El inicio de sesión con clave pública transmite una firma, no la clave

El intercambio de autenticación lleva la clave pública del usuario y una firma sobre los datos de la sesión. El servidor comprueba esa firma con la clave en la que ya confía, por eso la mitad privada puede quedarse en el cliente a través de una red no confiable. Un operador de VPN que observa el túnel ve una sesión SSH cifrada en cualquier caso.

Eso describe el protocolo, no la fiabilidad de cada extremo del camino. Mantenga intacta la verificación de identidad del host, porque un cliente que acepta cualquier clave de host ha abandonado un control distinto del que tratamos. Una sesión capturada y una clave capturada son hallazgos separados, y solo uno de ellos es una pérdida de credenciales. Mantenga ambos en frases separadas del informe.

ssh-keygen -lf ~/.ssh/id_ed25519.pub
ssh -o StrictHostKeyChecking=yes [email protected]

El primer comando imprime la huella pública para que la compare con la que enumera el servidor. El segundo hace explícita la comprobación de la clave del host en lugar de confiar en un valor por defecto que nadie leyó. Ejecute ambos antes de cambiar nada en las claves, para que la línea base quede documentada.

Reenviar un agente delega la capacidad de firmar

Con el reenvío activado, aparece un socket en el host remoto y el agente local responde a las peticiones que llegan por él. Cualquiera que pueda usar ese socket durante la sesión puede autenticarse como usted ante hosts que acepten las identidades cargadas. Ninguna clave privada cruza la red para que eso funcione.

La capacidad es la exposición, no el archivo. Por eso el reenvío pertenece a una tarea concreta y a un host concreto, y no a cada conexión que hace un portátil. Un host de salto que retransmite la conexión sin agente reenviado normalmente elimina la necesidad por completo.

ssh-add -l
ssh -o ForwardAgent=no [email protected]
ssh -J [email protected] [email protected]

El primero enumera qué identidades tiene el agente ahora, algo que conviene saber antes de entregar su socket a otra máquina. El segundo conecta sin delegación. El tercero muestra el patrón de host de salto que a menudo sustituye el reenvío por completo.

Elija la respuesta según las pruebas que tenga

Una identidad de firma que se crea expuesta exige el proceso de sustitución y revocación, y retirar su aceptación de los servicios que confiaban en ella. Borrar la copia del portátil deja intactas todas las demás copias. Empiece por los servicios y después limpie los clientes.

Un problema temporal de delegación es más estrecho. Termine el reenvío que no era necesario y revise con el responsable del incidente qué sesiones e identidades cubría. La sustitución de la clave puede seguir, pero lo deciden las pruebas y no la preocupación.

No haber observado ninguna exportación solo demuestra que el mecanismo que temía no apareció. No dice nada sobre qué más podría haber hecho un host al otro extremo de ese socket.

Mantenga los controles separados en el informe

Proteja el material privado, limite quién puede pedirle que firme, mantenga verificada la identidad de la otra parte. Son tres controles que se refuerzan entre sí, y ninguno sustituye al otro cuando explica qué ocurrió.

Un portátil comprometido o una aplicación privilegiada en él es un tercer caso con un alcance mucho mayor. Cambiar la ruta de VPN no lo resuelve y no restaura la confianza en una clave que puede haberse leído del disco.

Anote qué componente era de confianza, si el reenvío estaba activado y qué se observó realmente. Ese registro es lo que hace defendible la siguiente decisión en lugar de una conjetura sobre qué significa una filtración.

Artículos relacionados