Un disco de copia de seguranza dun portátil antigo aínda contén unha chave privada SSH, e alguén pregunta se a VPN a protexe. Non o fai, e nunca o fixo. A VPN protexe un camiño entre dúas redes; a frase de contrasinal protexe o ficheiro; o axente protexe unha sesión en marcha. Tres mecanismos distintos, tres modos de fallo distintos, e unha copia roubada só se preocupa polos dous primeiros.

A frase de contrasinal pertence ao ficheiro

Unha frase de contrasinal de chave SSH cifra o material da chave privada en repouso. Non é o contrasinal da conta que se envía ao servidor, nin é a credencial que se usa para unirse á VPN. Confundilas leva a cambios que non abordan a exposición.

O manual de ssh-keygen de OpenSSH cobre o manexo de frases de contrasinal, incluído o conmutador -p que establece unha frase nova nunha chave que xa existe.

Para unha chave existente a forma da orde é simple, e reescribe o ficheiro:

ssh-keygen -p -f ~/.ssh/id_ed25519

Use o proceso de mantemento e recuperación aprobado polo propietario da chave, porque isto é unha escritura, non unha inspección. Non publique o ficheiro privado nin poña unha frase de contrasinal real nunha liña de ordes compartida. Cambiar a frase non volve cifrar unha copia tomada antes. Anote a localización da copia antiga no ticket para que o propietario decida se a destruír.

Unha copia sobrevive ao portátil e ao túnel

Unha vez copiado un ficheiro de chave, a conexión VPN activa do portátil xa non di nada sobre el. O que importa é o ben protexido que está o propio ficheiro, e que servidores seguen confiando na chave pública correspondente.

Cambiar a frase de contrasinal do ficheiro actual non toca a copia, nin elimina a mesma chave pública de authorized_keys nun servidor. A revogación e a recifra son accións separadas.

Así que trate unha chave privada filtrada como un evento de identidade, non de rede. Elimine ou substitúa a chave aceptada mediante os servidores e o proceso de alta que a posúen. Deter a VPN limita unha ruta nun momento dado; non é unha revogación.

Desbloquear move o segredo a un axente

Un axente garda identidades descifradas para autenticacións posteriores, de xeito que o usuario non reescribe a frase en cada conexión. É unha comodidade coa súa propia fronteira de seguridade.

ssh-agent pode limitar canto tempo unha identidade permanece cargada mediante a súa opción -t, e un axuste por identidade pode superar ese límite. Escolla a política para o axente que realmente executa en lugar de supoñer que desconectar a VPN esquece cada chave cargada.

Un proceso comprometido despois de desbloquear a chave é un problema distinto dun ficheiro cifrado roubado. Reenviar o axente a outro host delega a capacidade de autenticación sen copiar o ficheiro de chave, así que actíveo só para unha necesidade aprobada.

Enumere o que o axente ten neste momento antes e despois dun cambio:

ssh-add -l

Os traballos sen supervisión necesitan o seu propio plan

Unha tarefa programada non pode responder a unha solicitude. Necesita un acordo aprobado de credenciais de máquina, e manter o segredo de desbloqueo no mesmo directorio que a chave, lexible pola mesma conta, non crea unha segunda fronteira.

Traballe co propietario do servizo na entrega de segredos admitida ou no funcionamento con hardware, e cubra renovación, fallo e recuperación. Querer unha persoa diante do teclado cambia o aspecto do fallo en comparación cun host que arrinca sen ninguén vixiando.

Manteña tamén a comprobación de identidade do host no servidor e as súas restricións de conta. Unha ruta VPN dálle un camiño privado; non demostra que cada escoita SSH á que chega sexa o host que pretendía. Rexistre a escoita e a impresión da chave do host no mesmo inventario que a propia chave.

Verifique as fronteiras por separado

Probe cada fronteira coa súa propia pregunta. Ábrese o ficheiro sen a frase de contrasinal? Segue o axente gardando a identidade tras unha desconexión? Segue o servidor aceptando a chave pública?

Dúas ordes responden a primeira e a terceira:

ssh-keygen -y -f ~/.ssh/id_ed25519
ssh -v [email protected]

Rexistre a protección do ficheiro, o uso permitido da chave e a eliminación no lado do servidor como tres liñas separadas. Un túnel, unha frase de contrasinal e un axente gardan cada un unha parte distinta da relación, e só un deles trata da rede.

Artigos relacionados