Mi organización necesita emitir (y revocar) certificados de clientes OpenVPN para las personas que trabajan de forma remota.
Nuestro sistema se basa en una configuración estándar de OpenSSL CA y las herramientas easy-rsa, y todo el directorio reside en un repositorio git que los miembros del equipo de TI clonan localmente en sus computadoras portátiles donde generan y firman certificados VPN, y luego actualizan repositorio remoto.
La frase de contraseña de la clave privada de la CA raíz se almacena por separado en un sistema local de administración de contraseñas que está protegido con una contraseña que no almacenamos en ninguna parte.
Nuestra preocupación es que cualquier persona que alguna vez haya sido miembro del equipo de TI y se haya ido, puede guardar fácilmente una copia de la clave privada de la CA raíz y su frase de contraseña y puede generar y firmar certificados VPN válidos a voluntad incluso después de que estos hayan sido revocados . Actualmente, la única forma de evitar esto es cambiar la clave de CA raíz y volver a emitir certificados VPN a todos los usuarios (¡gran dolor!)
¿Cuál es la mejor solución práctica que usa la gente?
1) ¿Tiene mejores procedimientos y solo genera / firma certificados VPN de cliente en un único host con una política de acceso restringido? Esto nos ralentizará significativamente en las operaciones del día a día y realmente no impide que un administrador haga scp de la clave privada en otro lugar si quisiera.
2) ¿Protege la clave de CA raíz correctamente como se indicó anteriormente, pero usa certificados intermedios para la firma de certificados VPN del día a día? Como funciona esto exactamente ? Cuando un miembro del equipo de TI se retira, entiendo que podemos revocar el certificado intermedio que ahora está "comprometido" y emitir uno nuevo desde la CA raíz, pero ¿qué sucede con los certificados VPN existentes que se han firmado con el certificado anterior? Lo que estoy leyendo sobre certificados intermedios parece sugerir que siguen siendo válidos, pero no entiendo cómo.
¡Gracias!