¿Es una buena práctica usar certificados como medio de identificación de clientes en un entorno de nube?

4

Mi sistema de software está ejecutando una infraestructura en la nube donde tener máquinas Linux con VPN en la puerta de enlace OpenVPN es un requisito de configuración. Además, puede haber casos en que el software en las máquinas Linux mencionadas anteriormente tenga que acceder a la infraestructura de la nube cuando no esté conectado a la VPN en la puerta de enlace.

Durante la configuración de la puerta de enlace OpenVPN, he creado una autoridad de certificación local (a través de easy-rsa) para emitir certificados de cliente para que OpenVPN cifre el tráfico y se autentique.

Ahora generalmente necesito identificar una máquina cliente que se conecte a mi Node.js (o cualquier otro, para el caso). Me pregunto si podría usar los certificados emitidos por OVPN para esto. Si el cliente que se conecta a un backend puede presentar un certificado, entonces sé quiénes son y servirá los recursos necesarios.

¿Es esta una buena práctica hacerlo? La otra alternativa sería dejar los certificados de OpenVPN y tener otra capa de autorización para las máquinas cliente, pero parece ser una duplicación dado que ya tengo una CA y certificados en el lado del cliente.

    
pregunta Maxim V. Pavlov 24.08.2015 - 12:32
fuente

2 respuestas

1

No es una respuesta completa, pero hay otra cosa en la que pensar: con un sistema así, la forma más fácil de acceso de un atacante (es decir, el enlace más débil) es robar las claves privadas de uno de esos certificados de clientes. Cosas para pensar:

  • ¿Las máquinas de Linux están físicamente seguras o abandonan el edificio (es decir, las computadoras portátiles)?
  • ¿Tiene buenas políticas para la revocación de certificados, tanto del lado del software como del lado humano? Por ejemplo, si un certificado fue comprometido como se indica arriba, ¿cuántas horas en promedio hasta que sean notadas y revocadas?

Supongo que estas preocupaciones no son exclusivas de la autenticación basada en certificados, sin embargo, cualquier cosa donde se almacenen las claves de autenticación del lado del cliente tendrá las mismas preocupaciones.

    
respondido por el Mike Ounsworth 24.08.2015 - 15:11
fuente
1

Puede que no sea la mejor práctica, ya que está utilizando una CA de propósito específico (en cuyo caso, para autenticar a sus clientes OpenVPN) para otra cosa, pero desde el punto de vista de la seguridad, siempre que esa CA sea segura, su solución está bien. .

Sin embargo, recomendaría poner la clave privada de ese certificado de CA en un lugar seguro, como una tarjeta inteligente, una computadora completamente desconectada o un HSM.

    
respondido por el André Borie 24.08.2015 - 14:30
fuente

Lea otras preguntas en las etiquetas