O Nebula precisa de três ficheiros: CA, certificado do host e chave do host
Três ficheiros desempenham três funções: o certificado CA estabelece a confiança, o certificado do host dá nome ao nó e a chave privada fica apenas nesse nó.
Se entregar a alguém um diretório Nebula, a pessoa normalmente copia tudo, incluindo o ficheiro que nunca deveria sair da sua estação de trabalho. A confusão é compreensível, porque os três ficheiros do bloco PKI de um host parecem-se e dois deles são certificados. Cada um responde a uma pergunta diferente, e apenas dois pertencem ao nó. Classifique-os por função antes de copiar seja o que for.
Três ficheiros, três funções diferentes
O certificado CA é uma âncora de confiança: diz a um host em que autoridades confiar quando outro host apresenta a sua identidade. O certificado do host é a credencial do próprio nó, assinada por essa autoridade. A chave do host é a metade privada correspondente, e pertence exatamente a uma máquina. Um nó com o certificado CA e o seu próprio par pode juntar-se ao overlay e provar quem é. Um nó com a chave de outra pessoa também pode fazer-se passar por ela, e essa é a falha que esta disposição existe para evitar.
Copiar um diretório de host funcional para uma segunda máquina não é, portanto, um atalho. É uma identidade duplicada com um resultado previsível.
A chave de assinatura nunca viaja
A chave de assinatura da CA não faz parte de nenhuma configuração de host. Cria identidades novas, e quem a detém pode emitir um certificado para qualquer endereço de overlay e qualquer grupo. Os pares só precisam do certificado CA público para verificar assinaturas, pelo que a metade privada não tem qualquer papel num cliente. Guarde-a na máquina onde os certificados são emitidos e trate uma cópia acidental como um incidente, não como uma comodidade.
Se várias pessoas precisarem de emitir certificados, dê-lhes um processo em vez de uma cópia da chave. Uma chave de assinatura partilhada num portátil é uma autoridade que ninguém consegue auditar ou revogar.
O que está dentro de um certificado do host
Um certificado do host liga a uma chave muito mais do que um nome de ficheiro. Transporta o endereço do nó no overlay, o seu nome e a sua pertença a um grupo, tudo assinado para que um par possa decidir se o aceita. É por isso que renomear um host significa emitir um certificado novo e não editar uma linha de configuração.
nebula-cert print -path host.crt mostra o que foi realmente emitido. Leia-o antes de assumir que o certificado traz o endereço que pretendia.
Recarregar nem sempre chega
Algumas definições de PKI recarregam com um sinal, outras não. Um certificado cujo endereço no overlay mudou é o caso clássico que exige reiniciar o processo em vez de recarregar.
Confirme que caminhos o processo em execução abriu realmente, não apenas que caminhos o ficheiro de configuração nomeia. Depois mude uma credencial, verifique a conectividade e os registos, e só então toque na seguinte. Um recarregamento que parece funcionar enquanto o certificado antigo fica na memória produz uma discrepância que parece um problema de encaminhamento. Reiniciar é barato; depurar uma identidade que metade do overlay ainda vê à moda antiga não é.
Remover uma identidade exige uma lista de bloqueio
Substituir uma credencial perdida ou exposta tem duas metades. O certificado novo restaura o acesso, e a identidade antiga tem de deixar de ser aceite. São operações separadas, e fazer apenas a primeira deixa válida a credencial comprometida.
A lista de bloqueio é um ficheiro que distribui pelos hosts, não algo que um lighthouse envie por si. Planeie como chega a cada nó, incluindo os que hoje estão offline, e registe que impressões digitais bloqueou. Rode a chave na máquina emissora e guarde os dados do certificado novo com o registo do host. Uma revogação que só existe na máquina que editou não é uma revogação.