Apache e mod_ssl trabalhando com vários CA remotos para certificados de clientes

2

A geração de certificados de clientes, tornando-se sua própria autoridade de certificação com um servidor da web Apache, é um trabalho trivial e há muita documentação sobre como conseguir isso. Meu problema é um pouco diferente.

Eu tenho vários clientes por aí que querem ter sua própria infra-estrutura de PKI. Eles querem poder gerar seus próprios certificados de cliente e revogá-los também. Nosso (s) servidor (es) web (s) ainda são responsáveis por autorizá-los quando acessam nosso serviço web.

Alguém poderia falar sobre quais são algumas possíveis soluções que eu posso investigar? Eu vejo que o Apache 2.3 tem algumas diretivas relacionadas ao SSLOCSP * ( link ), mas não estou totalmente entusiasmado sobre o uso do Apache 2.3 e, mais ainda, parece que existem limitações do navegador para o SSLOCSP * e estamos lidando com clientes que não acham isso aceitável.

    
por imaginative 21.10.2009 / 19:07

2 respostas

1

Atualmente, não existe um método verdadeiramente automatizado.

Eu não estou muito interessada nas diretivas SSL*Path pessoalmente porque elas podem ser difíceis de manter. Então, o que fazemos é usar SSLCACertificateFile , SSLCADNRequestFile e SSLCARevocationFile . Em seguida, alguns scripts em Python para lidar com atualizações de CRL da seguinte forma:

  1. Busque a CRL mais recente do ponto de distribuição da CRL (extensões x509v3).
  2. Valide o conteúdo da CRL em relação a uma cópia local do certificado da CA.
  3. Escreva a nova CRL em disco.
  4. Repita para outras CAs.
  5. Reinicie o Apache normalmente.

Nesse caso, você só precisa obter um ponto de distribuição de certificado de CA e CRL dos clientes que estão gerenciando suas próprias CAs.

    
por 21.10.2009 / 21:42
0

Supondo que você está feliz em confiar em todos os certificados que sua CA assina, você deve poder usar SSLCACertificatePath e SSLVerifyClient require para verificar seus clientes. Isso significa que você não pode saber quando deve rejeitar certificados revogados. O Apache 2.2 tem uma opção SSLCARevocationPath que permite colocar arquivos CRL. Isso exigiria que você sincronizasse seus arquivos CRL periodicamente. A frequência da atualização dependerá de quanto tempo leva para sincronizar e por quanto tempo após a revogação de um certificado você aceita com satisfação. Se a sincronização demorar mais do que você está satisfeito, essa abordagem não funcionará. Se você realmente precisar de uma verificação em tempo real de seus certificados, provavelmente terá que esperar até que o Apache 2.4 seja liberado.

O

link parece fornecer mais detalhes sobre como configurá-lo corretamente.

Com relação ao OCSP, você precisa de suporte ao navegador? Presumivelmente, se você só estiver verificando os certificados do cliente, só o servidor precisa suportar o OCSP.

    
por 21.10.2009 / 19:18