Gerar certificados para a configuração do navegador remoto para Linux

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • Gere certificados TLS/SSL para proteger a REST API do Docker e autenticar solicitações HTTP.

    Antes de Iniciar

    Conclua os pré-requisitos listados no tópico Configuração do navegador remoto para Linux.

    Função necessária: administrador na sua instância ServiceNow e administrador local na máquina host.

    Por Que e Quando Desempenhar Esta Tarefa

    Aviso:
    Obtenha chaves de autoridade de certificação de uma autoridade de certificação confiável.

    Por padrão, ao expor a API do Docker, as solicitações não são autenticadas, o que pode deixar sua máquina host vulnerável a ataques. A API do Docker, no entanto, oferece suporte à autenticação TLS em que as solicitações são verificadas em relação às chaves privadas públicas fornecidas na criptografia HTTPS. Nesta etapa, você cria essas chaves para o servidor e o cliente.

    Dica:
    Para facilitar a memorização, insira os seguintes comandos no seu terminal Linux. Observação: não adicione essas variáveis de ambiente ao seu perfil de terminal. Por motivos de segurança, eles devem existir somente durante a sessão atual.
    • exportar SENHA="<password to generate the certificates with> "
    • export SERVERIP="<this server's IP address> "
    • export HOSTNAME="<hostname of this server> "
    Para saber mais, consulte Usar TLS (HTTPS) para proteger o soquete daemon do Docker.

    Procedimento

    1. Abra uma linha de comando.
    2. Gere uma chave de autoridade de certificação autoassinada ou recupere um par de chaves de uma autoridade de certificação confiável.
      Os comandos a seguir são um exemplo. Observe que sua configuração pode variar.
      • openssl genrsa -aes256 -passout pass:$PASSWORD -out ca-key.pem 4096
      • openssl req -passin pass:$PASSWORD -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
      • chmod 0400 ca-key.pem
      • chmod 0444 ca.pem
    3. Gere o par de chaves do servidor usando a chave de autoridade de certificação.
      Os comandos a seguir são um exemplo. Observe que sua configuração pode variar.
      • openssl genrsa -out server-key.pem 4096
      • openssl req -subj "/CN=$HOSTNAME" -new -key server-key.pem -out server.csr
      • echo "subjectAltName = DNS:$HOSTNAME,IP:$SERVERIP,IP:127.0.0.1" > extfile.cnf
      • openssl x509 -passin pass:$PASSWORD -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
    4. Crie o par de chaves do cliente usando a chave de autoridade de certificação.
      Os comandos a seguir são um exemplo. Observe que sua configuração pode variar.
      • openssl genrsa -out client-key.pem 4096
      • openssl req -subj "/CN=$HOSTNAME" -new -key client-key.pem -out client.csr
      • echo "extendedKeyUsage = clientAuth" > extfile.cnf
      • openssl x509 -passin pass:$PASSWORD -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf

      Agora que você criou todas as suas chaves de criptografia.

    5. Importe a chave pública da CA e o par de chaves do cliente para um armazenamento de chaves java.
      Os comandos a seguir são um exemplo. Observe que sua configuração pode variar.

      Crie o arquivo de armazenamento de chaves e crie uma senha para ele (e salve para uso posterior): keytool -genkey -keyalg RSA -alias dse -keystore my.keystore

      Exclua uma entrada padrão do arquivo de armazenamento de chaves: keytool -delete -alias dse -keystore my.keystore

      Importe a chave pública da CA para o armazenamento de chaves: keytool -import -keystore my.keystore -trustcacerts -alias ca -file ca.pem

      Importe o par de chaves do cliente.
      Nota:
      Você está criando um novo arquivo de armazenamento de chaves pkcs12 e importando o par de chaves para ele. Em seguida, copie o conteúdo para o arquivo de armazenamento de chaves original.
      • openssl pkcs12 -export -name clientkeypair -in client-cert.pem -inkey client-key.pem -out clientkeypair.p12
      • keytool -importkeystore -destkeystore my.keystore -srckeystore clientkeypair.p12 -srcstoretype pkcs12 -alias clientkeypair

      Agora que você adicionou todos os certificados ao arquivo de armazenamento de chaves, salve o arquivo my.keystore para mais tarde, pois ele será carregado para a instância ServiceNow. Além disso, lembre-se da senha que você inseriu quando solicitado a criar o arquivo de armazenamento de chaves; será necessário inseri-lo em um formulário na instância ServiceNow.