Por padrão, o TLS está desativado para a API Management, e você acessa a API Management do Edge por HTTP usando o endereço IP do nó do servidor de gerenciamento e a porta 8080. Exemplo:
http://ms_IP:8080
Como alternativa, é possível configurar o acesso TLS à API Management para que você possa acessá-la no formulário:
https://ms_IP:8443
Neste exemplo, você configura o acesso TLS para usar a porta 8443. No entanto, esse número de porta não é exigido pelo Edge. É possível configurar o Management Server para usar outros valores de porta. O único requisito é que o firewall permita o tráfego pela porta especificada.
Para garantir a criptografia do tráfego de entrada e saída da API Management, defina as configurações no arquivo
/opt/apigee/customer/application/management-server.properties.
Além da configuração de TLS, também é possível controlar a validação de senha (comprimento e força da senha) modificando o arquivo management-server.properties.
Verifique se a porta TLS está aberta
O procedimento nesta seção configura o TLS para usar a porta 8443 no servidor de gerenciamento. Independentemente da porta usada, é preciso garantir que ela esteja aberta no servidor de gerenciamento. Por exemplo, use o seguinte comando para abri-lo:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose
Configurar a TLS
Edite o arquivo /opt/apigee/customer/application/management-server.properties
para controlar o uso do TLS no tráfego de entrada e saída da API Management. Se esse arquivo não existir,
crie-o.
Para configurar o acesso TLS à API Management:
- Gere o arquivo JKS do keystore que contém sua certificação TLS e sua chave privada. Para mais informações, consulte Como configurar TLS/SSL para o Edge para nuvem privada.
- Copie o arquivo JKS do keystore para um diretório no nó do servidor de gerenciamento, como
/opt/apigee/customer/application. - Mude a propriedade do arquivo JKS para o usuário "apigee":
chown apigee:apigee keystore.jks
Em que keystore.jks é o nome do arquivo do keystore.
- Edite
/opt/apigee/customer/application/management-server.propertiespara definir as propriedades a seguir. Se esse arquivo não existir, crie-o:conf_webserver_ssl.enabled=true # Leave conf_webserver_http.turn.off set to false # because many Edge internal calls use HTTP. conf_webserver_http.turn.off=false conf_webserver_ssl.port=8443 conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks # Enter the obfuscated keystore password below. conf_webserver_keystore.password=OBF:obfuscatedPassword
Em que keyStore.jks é o arquivo do keystore e obfuscatedPassword é a senha ofuscada do keystore. Consulte Como configurar TLS/SSL para o Edge para nuvem privada para informações sobre como gerar uma senha ofuscada.
- Reinicie o servidor de gerenciamento do Edge usando o comando:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
A API Management agora é compatível com acesso por TLS.
Configurar a IU do Edge para usar o TLS para acessar a API Edge
No procedimento acima, a Apigee recomendou deixar
conf_webserver_http.turn.off=false para que
a IU do Edge possa continuar fazendo chamadas de API do Edge por HTTP.
Use o procedimento a seguir para configurar a IU do Edge para fazer essas chamadas somente por HTTPS:
- Configure o acesso TLS à API Management, conforme descrito acima.
- Depois de confirmar que o TLS está funcionando para a API Management, edite
/opt/apigee/customer/application/management-server.propertiespara definir a seguinte propriedade:conf_webserver_http.turn.off=true
- Reinicie o servidor de gerenciamento do Edge executando o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Edite
/opt/apigee/customer/application/ui.propertiespara definir a seguinte propriedade para a IU do Edge:conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"
Em que FQ_domain_name é o nome de domínio completo, de acordo com o endereço do certificado do servidor de gerenciamento, e port é a porta especificada acima por
conf_webserver_ssl.port.Se ui.properties não existir, crie-o.
- Somente se você tiver usado um certificado autoassinado (não recomendado em um ambiente de produção) ao configurar o acesso TLS à API de gerenciamento acima, adicione a seguinte propriedade a
ui.properties:conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true
Caso contrário, a interface do Edge vai rejeitar um certificado autoassinado.
- Reinicie a IU do Edge executando o seguinte comando:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
Propriedades de TLS para o servidor de gerenciamento
A tabela a seguir lista todas as propriedades de TLS/SSL que podem ser definidas em
management-server.properties:
| Propriedades | Descrição |
|---|---|
|
|
O padrão é 8080. |
|
|
Para ativar/desativar o TLS/SSL. Com o TLS/SSL ativado (true), você também precisa definir as propriedades ssl.port e keystore.path. |
|
|
Para ativar/desativar http com https. Se você quiser usar apenas HTTPS, deixe o
valor padrão como |
|
|
A porta TLS/SSL. Obrigatório quando o TLS/SSL está ativado ( |
|
|
O caminho para o arquivo do keystore. Obrigatório quando o TLS/SSL está ativado ( |
|
|
Use uma senha ofuscada neste formato: OBF:xxxxxxxxxx |
|
|
Alias opcional do certificado do keystore |
|
|
Se o gerenciador de chaves tiver uma senha, insira uma versão ofuscada dela neste formato: OBF:xxxxxxxxxx |
|
|
Defina as configurações do repositório de confiança. Determine se você quer aceitar todos os
certificados TLS/SSL (por exemplo, para aceitar tipos não padrão). O padrão é
OBF:xxxxxxxxxx |
|
|
Indique os pacotes de criptografia que você quer incluir ou excluir. Por exemplo, se você descobrir uma vulnerabilidade em uma criptografia, poderá excluí-la aqui. Separe várias criptografias com vírgulas. As criptografias removidas pela lista de bloqueio têm prioridade sobre as incluídas pela lista de permissões. Observação:por padrão, se nenhuma lista de bloqueio ou de permissões for especificada, as criptografias que correspondem à seguinte expressão regular do Java serão excluídas. ^.*_(MD5|SHA|SHA1)$ ^TLS_RSA_.*$ ^SSL_.*$ ^.*_NULL_.*$ ^.*_anon_.*$ No entanto, se você especificar uma lista de bloqueio, esse filtro será substituído, e será necessário bloquear todas as criptografias individualmente. Para informações sobre pacotes de criptografia e arquitetura de criptografia, consulte Documentação de provedores Oracle da arquitetura de criptografia Java para JDK 8. |
|
|
Números inteiros que determinam:
|