Modelos de certificado do Windows: como incluir declarações de grupo (ou OU) em certificados de cliente SSL/TLS

Modelos de certificado do Windows: como incluir declarações de grupo (ou OU) em certificados de cliente SSL/TLS

Estou usando certificados de cliente X.509 para autenticar um conjunto de clientes Windows por meio de TLS mútuo. Quais clientes fazem parte deste conjuntodevede alguma forma, ser administrado no AD, por exemplo, por meio de associação a um grupo ou UO pai.

Nota: A pergunta se aplica a certificados de computador, não a certificados de usuário. Ou seja, qualquer usuário deve poder usar este certificado ao iniciar uma solicitação HTTPS a partir de tal computador. (Isso é um acréscimo a qualquer método de logon de usuário, que não faz parte do esquema de autenticação mTLS.)

Os servidores devem ser capazes de informar que o computador cliente autenticado é membro desse conjunto. Os servidores são contêineres baseados em Linux e não fazem parte do AD/domínio, portanto, tudo o que temos são as informações do certificado X.509.

Os modelos de certificado do Windows fornecem algum método para transmitir tal declaração como parte do certificado X.509? Parece que posso limitar o conjunto de computadores que podem obter esse certificado, mas não encontro uma maneira de marcar esses certificados de uma forma que permita ao servidor identificá-los.

  • O certificado X.509 não contém o nome ou ID do modelo administrativo, portanto, também não posso configurar o servidor para verificá-lo.
  • Parece haver flexibilidade limitada na configuração de assuntos, especificamente nenhum método para mapear qualquer informação do AD no campo de assunto. Isso seria ideal - estou faltando alguma coisa aqui?
  • Eu estava pensando em usar uma CA intermediária específica para esses modelos, mas isso parece muito complicado para requisitos tão básicos.

Talvez haja outro aspecto do certificado X.509 que possa ser definido por meio do modelo? Ou posso usar uma declaração diferente de grupo/OU?

Responder1

A resposta é não. A associação ao grupo é uma propriedade bastante dinâmica, não estática e não faz parte da identidade do detentor do certificado. Como resultado, não é possível incluir a adesão ao grupo num certificado, porque esta informação não pertence à identidade. E sempre que a associação ao grupo for alterada, você deverá reemitir o certificado. Os certificados são válidos por um período bastante longo. Esta é uma solução muito falha.

Ou seja, qualquer usuário deve poder usar este certificado ao iniciar uma solicitação HTTPS de tal computador

isso funcionará somente quando a solicitação TLS for enviada de um aplicativo executado no sistema local ou na conta de serviço de rede. Se quiser usar esses certificados, você deverá configurar explicitamente o cliente TLS para usar um certificado de cliente não padrão por meio do código-fonte, por exemplo.

Os servidores são contêineres baseados em Linux e não fazem parte do AD/domínio

interessante, como os servidores baseados em Linux devem validar a participação real no grupo?

O certificado do cliente em TLS mútuo é um método de autenticação. Os campos no certificado são mapeados para informações de conta às quais os servidores devem estar conectados.

Como seus servidores Linux não fazem parte de nenhum AD, eles não podem vincular o certificado do cliente à conta de usuário do AD e validar a associação ao grupo. Os servidores ainda não conseguem dizer se tal grupo realmente existe. Deve haver um banco de dados de identidade separado disponível para servidores Linux e os servidores Linux devem de alguma forma vincular o certificado do cliente à identidade nesse banco de dados de identidade separado. E apenas as informações disponíveis nesta base de dados de identidade separada serão utilizadas para autorização do cliente.

Isso significa que seus requisitos:

A associação ao grupo para computadores deve ser administrada no AD.

e

Os servidores são contêineres baseados em Linux e não fazem parte do AD/domínio

são mutuamente exclusivos e não podem ser usados ​​juntos. Torne o servidor Linux compatível com AD ou inclua nos certificados informações sobre a identidade que está disponível para servidores Linux. E eu evitaria fortemente a inclusão de membros de grupos nos certificados. A associação ao grupo deve ser usada em tokens de curta duração, não em certificados de longa duração.

informação relacionada