Como configurar o TLS para a IU de gerenciamento

Por padrão, você acessa a interface do usuário do Edge por HTTP usando o endereço IP do o nó do servidor de gerenciamento e a porta 9000. Exemplo:

http://ms_IP:9000

Como alternativa, você pode configurar o acesso TLS à interface do Edge para poder acessá-la em o formulário:

https://ms_IP:9443

Neste exemplo, você configura o acesso por TLS para usar a porta 9443. No entanto, esse número de porta não é exigido pelo Edge, é possível configurar o servidor de gerenciamento para usar outros valores de porta. O único o firewall permite o tráfego pela porta especificada.

Verifique se a porta TLS está aberta

O procedimento nesta seção configura o TLS para usar a porta 9443 no servidor de gerenciamento. Independentemente da porta usada, você deve assegurar que ela esteja aberta no console do Servidor. Por exemplo, use o seguinte comando para abri-lo:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose

Configurar a TLS

Use o procedimento a seguir para configurar o acesso TLS à interface de gerenciamento:

  1. Gere o arquivo JKS do keystore contendo sua certificação TLS e chave privada e copie para o nó do servidor de gerenciamento. Para mais informações, consulte Como configurar TLS/SSL para o Edge no local.
  2. Execute o seguinte comando para configurar o TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Insira o número da porta HTTPS, por exemplo, 9443.
  4. Especifique se você quer desativar o acesso HTTP à interface de gerenciamento. Por padrão, as equipes de É possível acessar a IU por HTTP na porta 9000.
  5. Insira o algoritmo do keystore. O padrão é JKS.
  6. Insira o caminho absoluto para o arquivo JKS do keystore.

    O script copia o arquivo para o diretório /opt/apigee/customer/conf na do servidor de gerenciamento e muda a propriedade do arquivo para "apigee".

  7. Digite a senha do keystore em texto não criptografado.
  8. O script reinicia a interface de gerenciamento de borda. Após a reinicialização, a interface de gerenciamento oferece suporte ao acesso por TLS.

    Confira essas configurações em /opt/apigee/etc/edge-ui.d/SSL.sh.

Como usar um arquivo de configuração para definir o TLS

Como alternativa ao procedimento acima, você pode passar um arquivo de configuração para o comando na etapa 2 do procedimento. Você vai precisar usar esse método se quiser defina propriedades TLS opcionais.

Para usar um arquivo de configuração, crie um novo arquivo e adicione as seguintes propriedades:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Salve o arquivo em um diretório local com o nome que quiser. Em seguida, use o seguinte comando para configurar o TLS:

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

em que configFile é o caminho completo do arquivo que você salvou.

Configurar a interface do Edge quando o TLS é encerrada no balanceador de carga

Se você tiver um balanceador de carga que encaminha solicitações para a interface do Edge, poderá optar por Encerrar a conexão TLS no balanceador de carga e fazer com que o balanceador de carga encaminhe solicitações para a interface do Edge por HTTP. Esta configuração é compatível, mas você precisa configurar o balanceador de carga e para a interface do Edge.

A configuração adicional é necessária quando a interface do Edge envia e-mails aos usuários para definir quando o usuário é criado ou solicita a redefinição de uma senha perdida. Este e-mail contém um URL que o usuário seleciona para definir ou redefinir uma senha. Por padrão, se a interface do Edge for não estiver configurado para usar TLS, o URL no e-mail gerado usará o protocolo HTTP e não HTTPS. É preciso configurar o balanceador de carga e a interface do usuário do Edge para gerar um endereço de e-mail que use HTTPS.

Para configurar o balanceador de carga, verifique se ele define o seguinte cabeçalho nas solicitações encaminhadas na interface do Edge:

X-Forwarded-Proto: https

Para configurar a interface do Edge:

  1. Abra o /opt/apigee/customer/application/ui.properties em um editor. Se o arquivo não existir, crie-o:
    vi /opt/apigee/customer/application/ui.properties
  2. Defina a seguinte propriedade em ui.properties:
    conf/application.conf+trustxforwarded=true
  3. Salve as alterações em ui.properties.
  4. Reinicie a interface do Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Como definir propriedades TLS opcionais

A interface do Edge é compatível com propriedades opcionais de configuração TLS que podem ser usadas para definir o seguinte:

  • Protocolo TLS padrão
  • Lista de protocolos TLS compatíveis
  • Algoritmos TLS com suporte
  • Criptografias TLS compatíveis

Esses parâmetros opcionais só ficam disponíveis quando você define a propriedade de configuração a seguir no arquivo de configuração, conforme descrito Usando um arquivo de configuração para definir o TLS:

TLS_CONFIGURE=y

A tabela a seguir descreve essas propriedades:

Propriedade Descrição
TLS_PROTOCOL Define o protocolo TLS padrão para a interface do Edge. Por padrão, ele é o TLS 1.2. Os valores válidos são TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Define a lista de protocolos ativados como uma matriz separada por vírgulas. Exemplo:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Você precisa escapar o caractere " caractere.

Por padrão, todos os protocolos ficam ativados.

TLS_DISABLED_ALGO

Define os pacotes de criptografia desativados e também pode ser usado para evitar que tamanhos pequenos de chaves sejam usados no handshake de TLS. Não há valor padrão.

Os valores transmitidos ao TLS_DISABLED_ALGO correspondem aos valores permitidos para jdk.tls.disabledAlgorithms, conforme descrito aqui. No entanto, é necessário fazer o escape de caracteres de espaço ao definir TLS_DISABLED_ALGO:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048

TLS_ENABLED_CIPHERS

Define a lista de criptografias TLS disponíveis como uma matriz separada por vírgulas. Exemplo:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Você precisa escapar o caractere " caractere.

A lista padrão de criptografias ativadas é:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

Encontrar a lista de criptografias disponíveis aqui.

Como desativar protocolos TLS

Para desativar os protocolos TLS, é necessário editar o arquivo de configuração, descrito em Com um arquivo de configuração para definir o TLS, da seguinte forma:

  1. Abra o arquivo de configuração em um editor.
  2. Para desativar um único protocolo TLS, por exemplo, TLSv1.0, adicione o seguinte ao arquivo de configuração:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Para desativar vários protocolos, por exemplo, TLSv1.0 e TLSv1.1, adicione o seguinte ao arquivo de configuração:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Salve as alterações no arquivo de configuração.
  4. Execute o seguinte comando para configurar o TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    em que configFile é o caminho completo para o arquivo de configuração.

  5. Reinicie a interface do Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Usar cookies seguros

O Apigee Edge para nuvem privada é compatível com a adição da sinalização secure ao cabeçalho Set-Cookie para da interface do Edge. Se essa sinalização estiver presente, o cookie só poderá ser enviado Canais com TLS ativado. Se ele não estiver presente, ele poderá ser enviado por qualquer canal, seja ele são seguros ou não.

Os cookies sem a flag secure podem permitir que um invasor capture e reutilizar o cookie ou sequestrar uma sessão ativa. Portanto, a prática recomendada é ativar do ambiente.

Para definir a flag secure para cookies da interface do Edge:

  1. Abra o arquivo a seguir em um editor de texto:
    /opt/apigee/customer/application/ui.properties

    Crie o arquivo se ele não existir.

  2. Defina a propriedade conf_application_session.secure como true no ui.properties, conforme o exemplo a seguir:
    conf_application_session.secure=true
  3. Salve as alterações.
  4. Reinicie a interface do Edge usando o utilitário apigee-serice, como no exemplo a seguir. mostra:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Para confirmar se a mudança está funcionando, verifique os cabeçalhos de resposta na interface do Edge usando um utilitário como curl; Por exemplo:

curl -i -v https://edge_UI_URL

O cabeçalho precisa conter uma linha semelhante a esta:

Set-Cookie: secure; ...

Desativar TLS na interface do Edge

Para desativar o TLS na interface do Edge, use o seguinte comando:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl