Por padrão, você acessa a interface do Edge por HTTP usando o endereço IP do 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 que ele possa ser acessado da seguinte forma:
https://ms_IP:9443
Neste exemplo, você configura o acesso 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. A única exigência é que o firewall permita o tráfego pela porta especificada.
Verifique se a porta TLS está aberta
O procedimento desta seção configura o TLS para usar a porta 9443 no servidor de gerenciamento. Independentemente da porta usada, é necessário garantir que ela esteja aberta no servidor de gerenciamento. Por exemplo, use o comando a seguir 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:
- Gere o arquivo JKS do keystore contendo a certificação TLS e a chave privada e copie-o para o nó do servidor de gerenciamento. Para mais informações, consulte Como configurar o TLS/SSL para o Edge local.
- Execute o comando a seguir para configurar o TLS:
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- Insira o número da porta HTTPS, por exemplo, 9443.
- Especifique se você quer desativar o acesso HTTP à interface de gerenciamento. Por padrão, a interface de gerenciamento é acessível por HTTP na porta 9000.
- Insira o algoritmo do keystore. O padrão é JKS.
- Insira o caminho absoluto para o arquivo JKS do keystore.
O script copia o arquivo para o diretório
/opt/apigee/customer/conf
no nó do servidor de gerenciamento e muda a propriedade do arquivo para "apigee". - Digite a senha do keystore em texto não criptografado.
- Em seguida, o script reinicia a interface de gerenciamento do Edge. Após a reinicialização, a interface de gerenciamento
oferece suporte ao acesso por TLS.
Essas configurações estão disponíveis em
/opt/apigee/etc/edge-ui.d/SSL.sh
.
Como usar um arquivo de configuração para configurar o TLS
Como alternativa ao procedimento acima, é possível transmitir um arquivo de configuração para o comando na etapa 2 do procedimento. Você precisará usar esse método se quiser definir propriedades TLS opcionais.
Para usar um arquivo de configuração, crie um novo arquivo e adicione as seguintes propriedades:
HTTPSPORT=9443 DISABLE_HTTP=y # Set type to PKCS12 if you are using a PKCS12 keystore 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 para o arquivo salvo.
Uso de um keystore PKCS12 para sistemas operacionais habilitados para FIPS
Se você estiver usando o Edge para nuvem privada em um sistema operacional habilitado para FIPS, use um keystore PKCS12. É possível gerar um keystore PKCS12 usando comandos OpenSSL padrão. Ao usar um keystore PKCS12, defina KEY_ALGO=PKCS12
no arquivo de configuração.
Configure a interface do Edge quando o TLS for encerrado no balanceador de carga
Se você tiver um balanceador de carga que encaminha solicitações para a interface do Edge, poderá encerrar a conexão TLS no balanceador de carga e encaminhar as solicitações para a interface do Edge por HTTP. Essa configuração é compatível, mas você precisa configurar o balanceador de carga e a interface do Edge de acordo.
A configuração extra é necessária quando a interface do Edge envia e-mails aos usuários para definir a senha quando o usuário é criado ou quando o usuário solicita a redefinição de uma senha perdida. Esse 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 não estiver configurada 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 IU 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 à interface do Edge:
X-Forwarded-Proto: https
Para configurar a interface do Edge:
- Abra o arquivo
/opt/apigee/customer/application/ui.properties
em um editor. Se o arquivo não existir, crie-o:vi /opt/apigee/customer/application/ui.properties
- Defina a seguinte propriedade em
ui.properties
:conf/application.conf+trustxforwarded=true
- Salve as alterações em
ui.properties
. - Reinicie a interface do Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Como definir propriedades TLS opcionais
A interface do Edge oferece suporte a propriedades de configuração TLS opcionais que podem ser usadas para definir o seguinte:
- Protocolo TLS padrão
- Lista de protocolos TLS com suporte
- Algoritmos TLS com suporte
- Criptografias TLS compatíveis
Esses parâmetros opcionais só estão disponíveis quando você define a propriedade de configuração a seguir no arquivo de configuração, conforme descrito em Como usar um arquivo de configuração para configurar 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 e 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\"] É preciso usar o escape do caractere ".
Por padrão, todos os protocolos estão ativados. |
TLS_DISABLED_ALGO
|
Define os pacotes de criptografia desativados e também pode ser usado para impedir que tamanhos de chave pequenos sejam usados para o handshake de TLS. Não há valor padrão. Os valores transmitidos para o
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\"] É preciso usar o escape no 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" Confira a lista de cifras disponíveis aqui. |
Como desativar os protocolos TLS
Para desativar os protocolos TLS, edite o arquivo de configuração, conforme descrito em Como usar um arquivo de configuração para configurar o TLS, da seguinte maneira:
- Abra o arquivo de configuração em um editor.
- 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"
- Salve as alterações no arquivo de configuração.
- Execute o comando a seguir 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.
- Reinicie a interface do Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Usar cookies seguros
O Apigee Edge para nuvem privada oferece suporte à adição da flag secure
ao cabeçalho Set-Cookie
para
respostas da interface do Edge. Se essa flag estiver presente, o cookie só poderá ser enviado por
canais ativados para TLS. Se ele não estiver presente, o cookie poderá ser enviado por qualquer canal, seja ele seguro ou não.
Cookies sem a flag secure
podem permitir que um invasor capture e
reutilize o cookie ou sequestre uma sessão ativa. Portanto, a prática recomendada é ativar essa
configuração.
Para definir a flag secure
para cookies da interface do Edge:
- Abra o seguinte arquivo em um editor de texto:
/opt/apigee/customer/application/ui.properties
Se o arquivo não existir, crie-o.
- Defina a propriedade
conf_application_session.secure
comotrue
no arquivoui.properties
, conforme mostrado no exemplo a seguir:conf_application_session.secure=true
- Salve as alterações.
- Reinicie a interface do Edge usando o utilitário
apigee-serice
, como no exemplo a seguir:/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 o 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