Armazenamento de chaves unificado do MID Server

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 7 min. de leitura
  • O armazenamento de chave unificado do MID Server permite que todos os produtos no MID Server usem certificados comuns e pares de chaves. Este recurso permite que as aplicações usem o mesmo canal de comunicação seguro com o MID Server que o MID Server usa para se conectar à instância.

    Configurar indicador para fase de segurançaGarantir que o MID Server pode se conectar a elementos dentro e fora da redeBaixar e instalar o MID Server em um host Linux ou WindowsConfigurar o seu MID ServerConfigurar a segurança do MID ServerGarantir que o MID Server pode se conectar a elementos dentro e fora da redeBaixar e instalar o MID Server em um host Linux ou WindowsConfigurar o seu MID ServerConfigurar a segurança do MID Server

    Quando o MID Server é iniciado, o nome comum (CN) do certificado é inspecionado para identificar se um certificado personalizado foi instalado. Se um certificado personalizado for detectado, a criação do certificado/par de chaves será ignorada e um atributo será definido no registro ecc_agent para indicar o uso de um certificado personalizado.

    Quando um certificado personalizado é usado, a ação de IU Recriação de chave é desabilitada na instância do MID Server. Uma nova ação de IU chamada Remover par de chaves personalizado está disponível para voltar a usar um certificado autoassinado. Usar esta ação fará com que o MID Server remova o certificado personalizado e gere um novo certificado autoassinado, semelhante à opção de recriação de chave.

    Quando um MID é atualizado, todos os certificados personalizados que foram instalados serão retidos.

    Suporte ao pacote do PEM

    O armazenamento de chaves unificado do MID Server oferece suporte ao certificado de pacote PEM e aos pares de chaves.

    Exemplo de pacote PEM

    -----BEGIN PRIVATE KEY----- 
    
    MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC0pj5O8QKFpHy9 
    
    ... 
    
    oPdU+h0grs9SJp6rFx0PzDY= 
    
    -----END PRIVATE KEY----- 
    
    Bag Attributes 
    
        friendlyName: <myCustomCert>
    
        localKeyID: 54 69 6D 65 20 31 35 39 35 33 35 34 32 30 38 30 35 31  
    
    subject=/C=US/ST=CA/L=Santa Clara/CN=epic1016883 
    
    issuer=/C=US/ST=CA/L=Santa Clara/CN=epic1016883 
    
    -----BEGIN CERTIFICATE----- 
    
    MIIDKzCCAhOgAwIBAgIEPqMQqDANBgkqhkiG9w0BAQsFADBGMQswCQYDVQQGEwJV 
    
    ... 
    
    4g53RN+LqtJVeeQkZvIbZOfuSqypdVfudkS8dqxQALb8IuHUV7JOcBvOT79mSTs= 
    
    -----END CERTIFICATE----- 

    Instalar certificados personalizados no repositório de chaves unificado do MID Server

    Instale certificados personalizados para unificar os canais de segurança para várias aplicações.

    Antes de Iniciar

    Função necessária: administrador

    Ao instalar o certificado em um MID Server hospedado no Linux, o install-certificate.sh pode não responder se a contagem do pool de entropia do Linux for inferior a algumas centenas. Verifique a contagem de entropia do gerador de números pseudoaleatórios do Linux (PRNG) com o seguinte comando:
    cat /proc/sys/kernel/random/entropy_avail
    Se a contagem de entropia for muito baixa, você poderá instalar um gerador de entropia, como RNGD ou Haveged. Para obter mais informações sobre como instalar o Haveged para CentOS e Ubuntu, consulte Como configurar o Entropy adicional para servidores em nuvem usando o Haveged.

    Procedimento

    1. Se o MID Server estiver em execução, interrompa-o.
      Nota:

      Se a entrada do alias DefaultSecurityKeyPairHandle estiver sendo modificada, você deverá invalidar o MID Server antes de interrompê-lo.

    2. Crie um certificado de pacote PEM e um par de chaves executando um dos comandos a seguir na pasta de instalação do MID Server.
      • Gere certificados autoassinados para casos de uso não MTLS com o comando:
        openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
      • Exporte o armazenamento de chaves para um pacote PEM usando o comando:
        openssl pkcs12 -in <myCustomCert>.p12 -nodes -out <myCustomCert>.pem
      • Obtenha somente certificados no formato PEM com o comando:
        openssl pkcs12 -in <myCustomCert>.p12 -out <myCustomCert>.pem -clcerts -nokeys
      • Obtenha somente chaves no formato PKCS#8 com o comando:
        openssl pkcs12 -in <myCustomKey>.p12 -out <myPrivateKey>.key -nocerts -nodes
      • Instale o certificado, ou cadeia de certificados, e a chave privada para hosts Windows usando o comando:
        bin/scripts/manage-certificates.bat -a <alias> <file path to PEM bundle>
      • Instale o certificado, ou cadeia de certificados, e a chave privada para hosts Linux usando o comando:
        bin/scripts/manage-certificates.sh -a <alias> <file path to PEM bundle>
      Nota:

      O cabeçalho e o rodapé da sintaxe do PEM devem ser os seguintes:

       -----BEGIN CERTIFICATE----- 
       -----END CERTIFICATE----- 

      O cabeçalho e o rodapé da sintaxe do PKCS#8 devem ser os seguintes:

       -----BEGIN PRIVATE KEY----- 
       -----END PRIVATE KEY----- 
    3. Inicie o MID Server.
    4. Valide o MID Server com a instância.
    5. Opcional: Para reverter o MID Server para usar um certificado gerado automaticamente, selecione o MID Server na instância e use a ação de IU Remover certificado personalizado.
      Nota:
      O MID Server também pode ser revertido usando a ação de IU Invalidar. Invalidar um MID Server remove todos os certificados personalizados que estão instalados e cria um novo certificado autoassinado para o MID Server.

    O que Fazer Depois

    O manage-certificates tem as seguintes funções e os scripts devem ser executados a partir da pasta do agente.
    Permitir autenticação mútua​

    Para Windows, use o comando: bin/scripts/manage-Certificate.bat -m

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -m

    Remover autenticação mútua e restaurar a autenticação básica

    Para Windows, use o comando: bin/scripts/manage-certificates.bat -b <myUserName myPassword>

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -b <myUserName myPassword>

    Adicionar novos certificados e cadeias de certificação com um alias especificado​

    Para Windows, use o comando: bin/scripts/manage-certificates.bat -a <alias> <fileName>

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -a <alias> <fileName>

    O alias é um nome exclusivo fornecido ao certificado que está sendo importado. O MID Server requer um certificado personalizado para autenticação mútua, com o alias padrão defaultsecuritykeypairhandle. Para configurar a comunicação MTLS entre o MID Server e a instância, a entrada do certificado deve ser adicionada ao armazenamento de chaves usando o alias defaultsecuritykeypairhandle.

    O fileName é um caminho de arquivo que pode conter um certificado PEM, ou cadeia de certificados, e uma chave privada PCKS#8. O caminho do arquivo para o pacote PEM pode conter vários certificados e uma única chave privada. O cabeçalho e o rodapé da sintaxe de cada certificado PEM devem ser os seguintes:

     -----BEGIN CERTIFICATE----- 
     -----END CERTIFICATE----- 

    O cabeçalho e o rodapé da sintaxe do PKCS#8 devem ser os seguintes:

     -----BEGIN PRIVATE KEY----- 
     -----END PRIVATE KEY----- 

    Uma exceção será lançada se a validação da cadeia de certificação falhar. Se o arquivo contiver vários certificados, eles deverão ser solicitados: certificado folha, certificados intermediários e certificados raiz.

    Exibir detalhes do certificado para o alias especificado

    Para Windows, use o comando: bin/scripts/manage-certificates.bat -g <alias> ​

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -g <alias> ​

    Este comando exibe informações como nome diferenciado do assunto, nome do emissor e data de expiração do certificado.

    Listar todos os aliases existentes

    Para Windows, use o comando: bin/scripts/manage-certificates.bat -l

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -l

    Este comando lista todos os aliases disponíveis em agent_keystore.

    Excluir certificados usando um alias​

    Para Windows, use o comando: bin/scripts/manage-certificates.bat -d <alias>

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -d <alias>

    Este comando exclui o alias e o registro do armazenamento de chaves. A entrada do alias DefaultSecurityKeyPairHandle pode ser excluída usando este comando.

    Remover todas as entradas do armazenamento de chaves

    Para Windows, use o comando: bin/scripts/manage-certificates.bat -r ​

    Para Linux, use o comando: ./bin/scripts/manage-certificates.sh -r ​

    Este comando exclui as entradas existentes do armazenamento de chaves, exceto o alias DefaultSecurityKeyPairHandle.​

    Restaurar o armazenamento de chaves do MID Server com um backup

    Se o armazenamento de chaves for corrompido ou excluído acidentalmente, será possível restaurar um backup do armazenamento de chaves do MID Server. Isso é especialmente útil para armazenamentos de chaves com pares de chaves personalizados, caso contrário, recriar dados de par de chaves personalizado pode ser difícil e demorado.

    Antes de Iniciar

    Função necessária: administrador do agente

    Por Que e Quando Desempenhar Esta Tarefa

    Ao iniciar com a versão Tokyo, o MID Server faz automaticamente um backup do arquivo agent_keystore quando ele é alterado. Os backups são armazenados em security_backup na pasta do agente. Eles são armazenados fora da pasta de segurança para proteger contra exclusões acidentais ou corrupções da pasta de segurança.

    Na pasta de backup, há um arquivo de log de backup dedicado: keystore_backup_audit_trail.log. Este log controla os arquivos e as atividades de backup. Cada entrada de log de backup tem um nome de arquivo de backup com um carimbo de data/hora, um keypairs.mid_id correspondente e uma lista de aliases de pares de chaves no backup.

    Nota:
    Por motivos de segurança, o armazenamento de chaves de backup deve ter os mesmos atributos do armazenamento de chaves original, como proprietário, grupo e permissões. Esses atributos garantem que o MID Server tenha a mesma proteção no nível do sistema de arquivos.

    Os backups de armazenamento de chaves podem ser modificados com as propriedades do MID Server mid.keystore.max_backups, mid.keystore.max_live_backups e mid.keystore.backup_overwrite_timespan. Para mais informações, consulte Propriedades do MID Server.

    Procedimento

    1. Interrompa o MID server.
    2. Navegue até security_backup e exiba o keystore_backup_audit_trail.log para escolher qual backup restaurar.
    3. Copie esse backup para o arquivo agent_keystore na pasta de segurança.
      Verifique as permissões do arquivo para ter certeza de que ele tem o mesmo proprietário e permissões do original. Se agent_keystore já existir nesse local, substitua-o pelo backup.
    4. Verifique o config.xml para ter certeza de que o keypairs.mid_id corresponde ao que está no arquivo de log de auditoria.
    5. Opcional: Se o keypairs.mid_id não corresponder, atualize o config.xml para que ele corresponda.
    6. Navegue até a instância e invalide o MID Server.
      Isso criará um comando de sistema delete_mid_keypair no ecc_queue.
    7. Encontre todas as mensagens de saída delete_mid_keypair para o MID Server e marque-as como processadas.
      O objetivo é marcar o MID Server como invalidado sem acionar a exclusão do par de chaves. A menos que os comandos do sistema sejam marcados como processados, o MID Server excluirá o par de chaves defaultsecuritykeypairhandle, independentemente de ser personalizado ou gerado automaticamente.
    8. Reinicie o MID Server.
    9. Navegue até a instância e valide o MID Server.