Um certificado auto-assinado não é mais vulnerável do que aquele assinado por uma autoridade de certificação. Torna-se inseguro por causa do comportamento dos usuários, que serão usados para aceitar e confiar neles cegamente. Se você adicionar um certificado a Autoridades de certificação raiz confiáveis, qualquer certificado assinado por esse certificado será confiável para sua máquina. Portanto, se um de seus certificados auto-assinados for comprometido, todas as máquinas em que ele estiver instalado se tornarão vulneráveis ao ataque do meio. O pior é que você não pode ter uma lista de revogação para eles e você terá que removê-los manualmente caso seja comprometido.
A melhor abordagem é usar uma autoridade de certificação interna e cantar TODOS os certificados internos com sua CA. Isso é muito seguro, conveniente e barato.
Para configurar uma autoridade de certificação:
- Crie uma máquina física que será usada como CA. Somente administradores confiáveis devem ter acesso a essa caixa (idealmente, 2 pessoas).
- Crie um servidor de revogação, isso deve ser diferente da máquina CA. (servidor com a lista de certificados revogados, que será acessível pelo menos em toda a sua organização)
- Crate um certificado raiz.
- Crie um certificado intermediário que será usado para fins de assinatura.
- Imprima a chave particular da CA raiz em um papel e bloqueie o papel em um cofre seguro.
- Destrua a chave particular da raiz da autoridade de certificação do servidor da autoridade de certificação.
- Distribua o certificado da CA em toda a empresa e instale-o como uma autoridade de certificação confiável.
- Distribua o certificado intermediário da CA e instale-o como uma CA intermediária (não confiável).
- Assinar todos os certificados com o certificado intermediário da autoridade de certificação. Não permita datas de vencimento superiores a 1-2 anos. Não permita chaves assimétricas inferiores a 2048.
- Adicionar à lista de revogação todos os certificados comprometidos.