Porque dois certificados OpenVPN podem partilhar uma política CCD
Um número de série não é um nome de utilizador de VPN. Reserve o nome comum que o seu servidor realmente mapeia, em cada CA aceite, antes de assinar o seguinte.
Uma CA pode assinar dois certificados que recebem a mesma OpenVPN configuração específica do cliente, e nada em nenhum dos dois certificados avisa ninguém. Os números de série diferem, as chaves diferem e os sujeitos completos também diferem assim que muda uma unidade organizacional. O servidor resolve a política por cliente através de um único nome, e esse nome é a única coisa que tem de ser única.
O servidor resolve um nome, não um número de série
Na pesquisa simples de certificados, o servidor retira o nome comum do certificado apresentado e procura uma entrada client-config-dir com esse nome. O número de série nunca entra na pesquisa. Dois certificados que diferem em todos os campos excepto o nome comum acabam no mesmo ficheiro, pelo que a segunda ligação herda o endereço fixo e as rotas enviadas do primeiro dispositivo.
É assim que uma verificação de unicidade do lado da CA passa enquanto a VPN continua a colidir. As duas verificações respondem a perguntas diferentes.
Decida qual deve ser o nome efetivo antes de assinar seja o que for, e registe-o junto ao dispositivo ou à conta a que pertence. Um registo de nome, proprietário, finalidade e impressão digital do certificado cobre a maioria das implementações. Sem um, o arquivo de certificados é o único registo de que nome pertence a que dispositivo, e esse arquivo não consegue distinguir uma substituição autorizada de um segundo dispositivo que reclama um nome existente. Reserve o nome no registo, sob um bloqueio se dois operadores puderem emitir ao mesmo tempo.
Que nome a associação usa realmente
A pesquisa simples de certificados usa o nome comum. Um servidor configurado para associar um nome de utilizador autenticado usa esse valor em vez dele, o que torna o nome comum do certificado irrelevante para a seleção de política. Leia a configuração em execução para ver que associação está em vigor.
Ambas as associações podem estar presentes ao mesmo tempo, e então o resultado depende da ordem em que o servidor as resolve. Uma associação por nome de utilizador que recorre ao nome comum aceitará silenciosamente um certificado que o registo nunca aprovou. Escreva o nome efetivo junto ao comando que o produziu, para que o próximo operador não tenha de redescobrir a ordem. Testar uma ligação por associação é barato e resolve a questão.
Seja o que for que a associação produza, é esse o valor a reservar. Reservar nomes comuns na CA enquanto o servidor se baseia em nomes de utilizador reserva a coisa errada.
Duas CA podem aprovar o mesmo nome
Um serviço de VPN pode confiar em mais de uma autoridade emissora, e cada autoridade mantém a sua própria ideia de que nomes estão ocupados. Duas CA independentes podem ambas aprovar o mesmo nome comum para dispositivos diferentes, e o servidor aceita os dois certificados sem queixa. Inventarie cada autoridade do pacote de confiança, não apenas aquela de onde normalmente emite. A falha aparece na primeira vez que se usa um certificado da segunda autoridade.
O mesmo raciocínio aplica-se a uma CA que impõe a unicidade do sujeito completo em vez da unicidade do nome comum.
Dois certificados que partilham um nome comum mas diferem na unidade organizacional têm sujeitos diferentes, pelo que a CA não reporta qualquer conflito enquanto o servidor vê um único nome. Verifique a definição que a sua ferramenta de emissão realmente usa em vez de assumir um valor predefinido. A gestão de unique_subject na documentação do openssl ca é a alavanca relevante ali, e os invólucros em torno dessa ferramenta normalmente expõem-na em vez de a substituir.
A renovação é uma reutilização reservada, não uma colisão
Uma renovação que mantém o nome é uma reutilização deliberada, e o registo deve dizê-lo por palavras simples. Registe a impressão digital antiga e a nova sob um único nome, para que um revisor possa distinguir uma substituição de uma tomada de controlo. A opção duplicate-cn do servidor não tem relação: governa sessões simultâneas, não o registo nem as reservas de nomes. Decida quanto tempo ambas as credenciais podem existir e quando a antiga deixa de ser aceite.
Antes de entregar a substituição, releia o que o certificado contém realmente. A linha do sujeito é o campo que o servidor vai associar, diga o que disser o nome do ficheiro.
openssl x509 -in device42.crt -noout -subject -serial -issuerA revogação identifica normalmente um certificado sob o seu emissor, pelo que retirar um número de série não afeta uma substituição emitida corretamente pela mesma autoridade. É exatamente esse comportamento que uma renovação limpa precisa, e é também por isso que a revogação não consegue limpar um nome partilhado por dois dispositivos. Valide o nome efetivo da política e o endereço atribuído numa ligação de teste antes que o utilizador veja o dispositivo. Depois retire a credencial antiga de propósito e registe que o fez.