es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Kubernetes Ingress – Validación automática de Certificados emitidos por Certificado Intermedia.

Actualmente estoy configurando mi Ingress en Kubernetes. Tenemos el requisito de habilitar SSL/TLS y validar los certificados.
Para esto, tenemos un certificado raíz que emite un certificado al CA intermedio. El CA intermedio emite certificados nuevamente para todos nuestros clientes. Los certificados de cliente tienen el nombre de sujeto “Dispositivo”.

El certificado del CA intermedio se almacena en un secreto de Kubernetes. Ahora me gustaría configurar el Ingress para validar automáticamente todas las solicitudes entrantes de los clientes y verificar que su certificado fue emitido por nuestro CA intermedio. Además, me pregunto si es posible validar el nombre de sujeto del certificado del cliente.

¿Sabéis si eso es posible, o tengo que añadir esa lógica a mi aplicación?

No encontré información al respecto. Por eso, sería genial si pudierais ayudarme aquí.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible configurar el Ingress de Kubernetes para validar automáticamente los certificados de cliente entrantes y comprobar si fueron emitidos por su CA intermedia. Esto se puede hacer configurando el bloque tls en su archivo yaml de recurso Ingress para incluir las opciones client-ca-file y verify-client-certificate.

    La opción client-ca-file debe apuntar a la ubicación de su certificado de CA intermedia que se encuentra en un secreto de Kubernetes. Esto le indica a Ingress qué certificados deben confiar para la autenticación del cliente.

    La opción verify-client-certificate debe establecerse en on, lo que habilita la validación del certificado del cliente.

    Además, para validar también el nombre del sujeto del certificado del cliente, puede agregar lógica de validación de certificado del lado del servidor en su aplicación. Esto se puede hacer utilizando el paquete x509 en Go o una biblioteca similar en su lenguaje de programación preferido.

    Alternativamente, podría utilizar nginx-ingress en lugar del Ingress predeterminado de Kubernetes. nginx-ingress admite opciones SSL/TLS más avanzadas, incluida la verificación del certificado del cliente y la validación del nombre del sujeto.

Comments are closed.