Crie chaves e certificados no diretório raiz para habilitar a configuração da Segurança da camada de transporte (TLS). A configuração do TLS é necessária antes que você possa configurar o mTLS no MID Web Server e no agente.
Antes de Iniciar
- Certifique-se de que não haja chaves instaladas no armazenamento de chaves unificado do MID executando o seguinte comando:
bin/scripts/manage-certificates.(sh/bat) -l
Quando não há chaves instaladas, a saída é: defaultsecuritypairhandle
- Invalide seu MID Server.
Se houver chaves adicionais na saída, reinstale-as depois de invalidar o MID Server.
- Certifique-se de que MID Server esteja conectado à instância.
- Selecione um diretório no qual você deseja criar certificados, a ser chamado de diretório root.
Nota: Os comandos especificados no procedimento a seguir são relevantes somente para um host Centos7. Ao trabalhar com outro SO, use os comandos relevantes para o seu host.
Função necessária: agent_client_collector_admin
Procedimento
-
No diretório raiz, crie subdiretórios para seus certificados.
mkdir -p labca labmid labacc;
-
No diretório raiz:
-
Gere um par de chaves de autoridade de certificação personalizado.
openssl ecparam -list_curves;
openssl ecparam -out labca/ec-labcakey.pem -name prime256v1 -genkey;
ls labca/;
A saída gerada é o arquivo ec-labkakey.pem.
-
Execute os seguintes comandos:
openssl ecparam -in labca/ec-labcakey.pem -text -noout;
openssl req -x509 -new -nodes -key labca/ec-labcakey.pem -sha512 -days 365 -out labca/labcacert.pem -subj "/C=<country>/ST=<state>/L=<location>/O=<organization> Lab/OU=<organization unit>/CN=<cn abbreviation>";
openssl verify labca/labcacert.pem;
A saída gerada é:
labca/labcacert.pem: C =<country> , ST =<state> , L =<location> , O =<organization> , OU =<organization unit> , CN =<cn abbreviation>
erro 18 na pesquisa de profundidade 0: certificado autoassinado
OK
Nota: A mensagem de erro pode ser ignorada.
-
Prepare a chave MID Web Server e o certificado.
-
Execute os seguintes comandos no diretório raiz:
sudo cp -a labca/labcacert.pem /etc/pki/ca-trust/source/anchors/;
sudo update-ca-trust extract;
openssl verify labca/labcacert.pem
A saída gerada é: labca/labcacert.pem: OK
-
Execute o comando
"hostname --all-fqdns" para obter todos os nomes de host válidos para a VM específica.
-
Execute os seguintes comandos:
openssl req -new -newkey rsa:4096 -keyout labmid/rsa-labmidkey.pem -sha512 -nodes -out labmid/mid.csr -subj "/C=<country>/ST=<state>/L=<location>/O=<organization>/OU=<organization unit>/CN=<hostname>";
openssl x509 -req -days 365 -in labmid/mid.csr -CA labca/labcacert.pem -CAkey labca/ec-labcakey.pem -CAcreateserial -extensions SAN -extfile <(cat /etc/pki/tls/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:<hostname>")) -out labmid/mid.crt;
Insira o FQDN como o<hostname> valor no comando anterior. Se mais de um valor de fqdn for retornado pelo comando, use o valor com o seguinte formato: hostname.domain.domain.com.
A saída gerada é: Signature ok subject=/C=<country> /ST=<state> /L=<location> /S=<organization> /OU=<organization unit> /CN=<mid server host fqdn> : obter chave privada de CA
-
No diretório raiz, combine os arquivos de chave e certificado em um arquivo, chamado mid.pem.
cat labmid/rsa-labmidkey.pem labmid/mid.crt > labmid/mid.pem;