Como configurar o TLS/SSL para o Edge no local

Edge para nuvem privada v. 4.16.09

O Transport Layer Security (TLS, na sigla em inglês), que é o antecessor SSL, é a tecnologia de segurança padrão que garante mensagens seguras e criptografadas em todo o ambiente de API, desde apps até Apigee Edge e serviços de back-end.

Seja qual for a configuração do ambiente da API de gerenciamento, por exemplo, se você estiver usando um proxy, um roteador e/ou um balanceador de carga na frente da API de gerenciamento (ou não), o Edge permite ativar e configurar o TLS, oferecendo controle sobre a criptografia de mensagens no ambiente de gerenciamento de APIs local.

Para uma instalação local da nuvem privada do Edge, há vários locais em que é possível configurar o TLS:

  1. Entre um roteador e um processador de mensagens
  2. Para acessar a API Edge Management
  3. Para acessar a interface de gerenciamento do Edge
  4. Para acessar suas APIs a partir de um app
  5. Para acessar do Edge aos seus serviços de back-end

A configuração do TLS para os três primeiros itens é descrita abaixo. Todos esses procedimentos presumem que você criou um arquivo JKS contendo a certificação TLS e a chave privada.

Para configurar o TLS para acesso de um app às suas APIs, item 4 acima, consulte Como configurar o acesso TLS a uma API para a nuvem privada. Para configurar o TLS para acesso do Edge aos seus serviços de back-end, o item 5 acima, consulte Como configurar o TLS do Edge para o back-end (nuvem e nuvem privada).

Para uma visão geral completa da configuração do TLS no Edge, consulte TLS/SSL.

Como criar um arquivo JKS

Você representa o keystore como um arquivo JKS, em que ele contém o certificado TLS e a chave privada. Há várias maneiras de criar um arquivo JKS, mas uma delas é usar os utilitários openssl e keytool.

Por exemplo, você tem um arquivo PEM chamado server.pem, que contém o certificado TLS e um arquivo PEM chamado private_key.pem, que contém a chave privada. Use os seguintes comandos para criar o arquivo PKCS12:

> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

Você deve inserir a senha longa da chave, se houver, e uma senha de exportação. Esse comando cria um arquivo PKCS12 chamado keystore.pkcs12.

Use o seguinte comando para convertê-lo em um arquivo JKS chamado keystore.jks:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

Será necessário inserir a nova senha para o arquivo JKS e a senha existente para o arquivo PKCS12. Use a mesma senha para o arquivo JKS e do arquivo PKCS12.

Se for necessário especificar um alias de chave, como ao configurar o TLS entre um roteador e um processador de mensagens, inclua a opção "-name" no comando openssl:

>  openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

Em seguida, inclua a opção "-alias" no comando keytool:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

Como gerar uma senha ofuscada

Algumas partes do procedimento de configuração do TLS de borda exigem que você insira uma senha ofuscada em um arquivo de configuração. Uma senha ofuscada é uma alternativa mais segura do que inserir sua senha em texto simples.

É possível gerar uma senha ofuscada em Java usando os arquivos .jar do local .jar instalados com o Edge. Gere a senha ofuscada usando um comando no formulário:

> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar

Insira a nova senha no prompt. Por motivos de segurança, o texto da senha não é exibido. Esse comando retorna a senha no formato:

OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

Use a senha ofuscada especificada pelo OBF ao configurar o TLS.

Para mais informações, consulte este artigo.