Como configurar o TLS para a nova IU do Edge

Por padrão, você acessa a nova IU do Edge por HTTP usando o endereço IP ou o nome DNS do nó da IU do Edge e da porta 3001. Exemplo:

http://newue_IP:3001

Também é possível configurar o acesso TLS à interface do Edge para que seja possível acessá-lo usando o formulário:

https://newue_IP:3001

Requisitos de TLS

A interface do Edge só é compatível com o TLS v1.2. Se você ativar o TLS na interface do Edge, os usuários precisarão se conectar a ela usando um navegador compatível com o TLS v1.2.

Propriedades de configuração de TLS

Execute o seguinte comando para configurar o TLS para a IU do Edge:

/opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

Em que configFile é o arquivo de configuração usado para instalar a IU do Edge.

Antes de executar esse comando, edite o arquivo de configuração para definir as propriedades necessárias que controlam o TLS. Na tabela a seguir, descrevemos as propriedades que você usa para configurar o TLS para a IU do Edge:

Propriedade Descrição Obrigatório?
MANAGEMENT_UI_SCHEME

Define o protocolo, "http" ou "https", usado para acessar a interface do Edge. O valor padrão é "http". Defina-o como "https" para ativar o TLS:

MANAGEMENT_UI_SCHEME=https
Sim
MANAGEMENT_UI_TLS_OFFLOAD

Se "n", especifica que as solicitações TLS para a interface do Edge serão encerradas nessa interface. É preciso definir MANAGEMENT_UI_TLS_KEY_FILE e MANAGEMENT_UI_TLS_CERT_FILE.

Se "y", especifica que as solicitações TLS para a IU do Edge são encerradas em um balanceador de carga e que o balanceador de carga então encaminha a solicitação para a IU do Edge usando HTTP.

Se você encerrar o TLS no balanceador de carga, a interface do Edge ainda precisará estar ciente de que a solicitação original veio por TLS. Por exemplo, alguns cookies têm um sinalizador de segurança definido.

Defina MANAGEMENT_UI_SCHEME como "https". Caso contrário, MANAGEMENT_UI_TLS_OFFLOAD será ignorado:

MANAGEMENT_UI_SCHEME=https
MANAGEMENT_UI_TLS_OFFLOAD=y
Sim
MANAGEMENT_UI_TLS_KEY_FILE

MANAGEMENT_UI_TLS_CERT_FILE

Se for MANAGEMENT_UI_TLS_OFFLOAD=n, especifica o caminho absoluto para os arquivos de chave e certificado TLS. Os arquivos precisam ser formatados como arquivos PEM sem senha longa e ser de propriedade do usuário "apigee".

O local recomendado para esses arquivos é:

/opt/apigee/customer/application/edge-management-ui

Se o diretório não existir, crie-o.

Se MANAGEMENT_UI_TLS_OFFLOAD=y, omita MANAGEMENT_UI_TLS_KEY_FILE e MANAGEMENT_UI_TLS_CERT_FILE.. Eles são ignorados porque as solicitações para a IU do Edge chegam por HTTP.

Sim, se MANAGEMENT_UI_TLS_OFFLOAD=n
MANAGEMENT_UI_PUBLIC_URIS

Se MANAGEMENT_UI_TLS_OFFLOAD=n, especifica o URL da interface do Edge.

Defina essa propriedade com base em outras no arquivo de configuração. Exemplo:

MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT

Em que:

  • MANAGEMENT_UI_SCHEME especifica o protocolo "http" ou "https", conforme descrito acima.
  • MANAGEMENT_UI_IP especifica o endereço IP ou o nome DNS da IU do Edge.
  • MANAGEMENT_UI_PORT especifica a porta usada pela interface do Edge.

Consulte Instalar a nova interface do Edge para saber mais sobre essas propriedades.

Se MANAGEMENT_UI_TLS_OFFLOAD=y:

  • MANAGEMENT_UI_IP especifica o endereço IP ou o nome DNS do balanceador de carga, não da interface do Edge.
  • O balanceador de carga e o novo UE precisam usar o mesmo número de porta para solicitações, por exemplo, 3001. Use MANAGEMENT_UI_PORT para especificar o número da porta no balanceador de carga e no Novo UE.

Sim

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS

Define a lista de criptografia TLS disponíveis como uma string separada por vírgulas ou espaços.

String separada por vírgulas:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

String separada por espaço entre aspas duplas:

MANAGEMENT_UI_TLS_ALLOWED_CIPHERS="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"

SHOEHORN_SCHEME

Antes de instalar a nova interface do Edge, você precisa instalar a interface básica do Edge, chamada shoehorn. O arquivo de configuração de instalação usa a seguinte propriedade para especificar o protocolo "http", usado para acessar a interface básica do Edge:

SHOEHORN_SCHEME=http

A interface básica do Edge não é compatível com TLS. Portanto, mesmo quando você ativar o TLS na interface do Edge, essa propriedade ainda vai precisar ser definida como "http".

Sim e definir como "http"

Configurar a TLS

Para configurar o acesso TLS à interface do Edge:

  1. Gere o certificado e a chave TLS como arquivos PEM sem senha longa. Exemplo:

    mykey.pem
    mycert.pem

    Há várias maneiras de gerar um certificado e uma chave TLS. Por exemplo, é possível executar o seguinte comando para gerar um certificado e uma chave não assinados:

    openssl req -x509 -newkey rsa:4096 -keyout mykey.pem -out mycert.pem -days 365 -nodes -subj '/CN=localhost'
  2. Copie os arquivos de chave e de certificado para o diretório /opt/apigee/customer/application/edge-management-ui. Se o diretório não existir, crie-o.
  3. Verifique se o certificado e a chave são de propriedade do usuário "apigee":

    chown apigee:apigee /opt/apigee/customer/application/edge-management-ui/*.pem
  4. Edite o arquivo de configuração usado para instalar a interface do Edge para definir as seguintes propriedades de TLS:

    # Set to https to enable TLS.
    MANAGEMENT_UI_SCHEME=https 
    # Do NOT terminate TLS on a load balancer.
    MANAGEMENT_UI_TLS_OFFLOAD=n
    
    # Specify the key and cert. 
    MANAGEMENT_UI_TLS_KEY_FILE=/opt/apigee/customer/application/edge-management-ui/mykey.pem
    MANAGEMENT_UI_TLS_CERT_FILE=/opt/apigee/customer/application/edge-management-ui/mycert.pem
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
  5. Execute o seguinte comando para configurar o TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    Em que configFile é o nome do arquivo de configuração.

    O script reinicia a IU do Edge.

  6. Execute os seguintes comandos para configurar e reiniciar o Shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Após a reinicialização, a interface do Edge vai oferecer suporte ao acesso por HTTPS. Se não for possível fazer login na interface do Edge depois de ativar o TLS, limpe o cache do navegador e tente fazer login novamente.

Configurar a IU do Edge quando o TLS for encerrado no balanceador de carga

Se você tiver um balanceador de carga que encaminha solicitações para a IU do Edge, poderá optar por encerrar a conexão TLS no balanceador de carga e, em seguida, fazer com que o balanceador de carga encaminhe as solicitações para a IU do Edge por HTTP:

Encerrar o TLS no balanceador de carga

Essa configuração é compatível, mas você precisa configurar o balanceador de carga e a IU do Edge de maneira adequada.

Para configurar a IU do Edge quando o TLS for encerrado no balanceador de carga:

  1. Edite o arquivo de configuração usado para instalar a interface do Edge para definir as seguintes propriedades TLS:

    # Set to https to enable TLS
    MANAGEMENT_UI_SCHEME=https
    # Terminate TLS on a load balancer
    MANAGEMENT_UI_TLS_OFFLOAD=y
    # Set to the IP address or DNS name of the load balancer.
    MANAGEMENT_UI_IP=LB_IP_DNS
    # Set to the port number for the load balancer and Edge UI.
    # The load balancer and the Edge UI must use the same port number.
    MANAGEMENT_UI_IP=3001
    
    # Leave these properties set to the same values as when you installed the Edge UI:
    MANAGEMENT_UI_PUBLIC_URIS=$MANAGEMENT_UI_SCHEME://$MANAGEMENT_UI_IP:$MANAGEMENT_UI_PORT
    SHOEHORN_SCHEME=http
    

    Se você definir MANAGEMENT_UI_TLS_OFFLOAD=y, omita MANAGEMENT_UI_TLS_KEY_FILE e MANAGEMENT_UI_TLS_CERT_FILE.. Eles são ignorados porque as solicitações para a IU do Edge chegam por HTTP.

  2. Execute o seguinte comando para configurar o TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    Em que configFile é o nome do arquivo de configuração.

    O script reinicia a IU do Edge.

  3. Execute os seguintes comandos para configurar e reiniciar o Shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Após a reinicialização, a interface do Edge vai oferecer suporte ao acesso por HTTPS. Se não for possível fazer login na interface do Edge depois de ativar o TLS, limpe o cache do navegador e tente fazer login novamente.

Desativar o TLS na interface do Edge

Para desativar o TLS na interface do usuário do Edge:

  1. Edite o arquivo de configuração usado para instalar a interface do Edge para definir a seguinte propriedade TLS:

    # Set to http to disable TLS.
    MANAGEMENT_UI_SCHEME=http
    
    # Only if you had terminated TLS on a load balancer,
    # reset to the IP address or DNS name of the Edge UI.
    MANAGEMENT_UI_IP=newue_IP_DNS
    
  2. Execute o seguinte comando para desativar o TLS:

    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-ssl -f configFile

    Em que configFile é o nome do arquivo de configuração.

    O script reinicia a IU do Edge.

  3. Execute os seguintes comandos para configurar e reiniciar o Shoehorn:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

    Agora é possível acessar a interface do Edge por HTTP. Se não for possível fazer login na interface do Edge depois de desativar o TLS, limpe o cache do navegador e tente fazer login novamente.