Como configurar o TLS para a API de gerenciamento

Edge para nuvem privada v. 4.17.05

Por padrão, o TLS está desativado para a API de gerenciamento, e você acessa a API de gerenciamento de borda por HTTP usando o endereço IP do nó do servidor de gerenciamento e a porta 8080. Exemplo:

http://ms_IP:8080

Como alternativa, você pode configurar o acesso TLS à API de gerenciamento para acessá-la desta forma:

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 pela Edge. Você pode configurar o servidor de gerenciamento para usar outros valores de porta. O único requisito é que o firewall permita o tráfego na porta especificada.

Para garantir a criptografia do tráfego de e para a API Management, defina as configurações no arquivo /opt/apigee/customer/application/management-server.properties.

Além da configuração do TLS, também é possível controlar a validação da senha (tamanho e nível de segurança) 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, você precisa 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 de TLS no tráfego de entrada e saída da API Management. Se esse arquivo não existir, crie-o.

Use o procedimento a seguir para configurar o acesso TLS à API Management:

  1. Gere o arquivo JKS do keystore que contém a certificação TLS e a chave privada. Para mais informações, consulte Como configurar TLS/SSL para o Edge local.
  2. Copie o arquivo JKS do keystore para um diretório no nó do servidor de gerenciamento, como /opt/apigee/customer/application.
  3. Mude a propriedade do arquivo JKS para Apigee:
    $ chown apigee:apigee keystore.jks

    em que keystore.jks é o nome do seu arquivo de keystore.
  4. Edite /opt/apigee/customer/application/management-server.properties para definir as propriedades a seguir. Se esse arquivo não existir, crie-o:
    conf_webserver_ssl.enabled=true
    # Deixe conf_webserver_http.turn.off definido como falso
    # porque muitas chamadas internas do Edge usam HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Digite a senha do keystore ofuscado abaixo.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    em que keyStore.jks é o arquivo de keystore e obfuscatedPassword é a senha do keystore ofuscado. Consulte Como configurar o TLS/SSL para o Edge local se quiser informações sobre como gerar uma senha ofuscada.
  5. Reinicie o Servidor de Gerenciamento de Borda com o comando:
    $ /opt/apigee/apigee-service/bin/apigee-serviceedge-management-server restart

A API de gerenciamento agora oferece suporte ao acesso por TLS.

Depois de garantir que o TLS esteja funcionando corretamente, incluindo garantir que ele esteja funcionando para a interface do Edge, desative o acesso HTTP à API de gerenciamento, conforme descrito na próxima seção.

Configurar a IU do Edge para usar TLS para acessar a API Edge

No procedimento acima, a Apigee recomendou deixar conf_webserver_http.turn.off=false para que a interface do Edge possa continuar a fazer chamadas da API Edge por HTTP.

Use o procedimento a seguir para configurar a interface do Edge para fazer essas chamadas apenas por HTTPS:

  1. Configure o acesso por TLS à API de gerenciamento, conforme descrito acima.
  2. Depois de confirmar que o TLS está funcionando para a API Management, edite /opt/apigee/customer/application/management-server.properties para definir a seguinte propriedade:
    conf_webserver_http.turn.off=true
  3. Reinicie o Servidor de Gerenciamento de Borda com este comando:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. Edite /opt/apigee/customer/application/ui.properties para definir a propriedade a seguir na interface do Edge. Se esse arquivo não existir, crie-o:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    em que FQDN é o nome de domínio completo, conforme o endereço do certificado do servidor de gerenciamento, e o número da porta é a porta especificada acima por conf_webserver_ssl.port.
  5. 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 terá um certificado de rejeição autoassinado.
  6. Reinicie a IU do Edge com o 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 TLS/SSL que você pode definir em management-server.properties:

Propriedades

Descrição

conf_webserver_http.port=8080

O padrão é 8080.

conf_webserver_ssl.enabled=false

Para ativar/desativar o TLS/SSL. Com TLS/SSL ativado (verdadeiro), você também precisa definir as propriedades ssl.port e keystore.path.

conf_webserver_http.turn.off=true

Para ativar/desativar http com https. Se você quiser usar apenas HTTPS, deixe o valor padrão como true.

conf_webserver_ssl.port=8443

A porta TLS/SSL.

Obrigatório quando o TLS/SSL está ativado (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=<path>

O caminho para o arquivo do keystore.

Obrigatório quando o TLS/SSL está ativado (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=

Use uma senha ofuscada neste formato: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

Alias de certificado opcional do keystore

conf_webserver_keymanager.password=

Se o gerenciador de chaves tiver uma senha, insira uma versão ofuscada da senha neste formato: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

Defina as configurações do seu repositório de confiança. Determine se você quer aceitar todos os certificados TLS/SSL (por exemplo, para tipos não padrão). O padrão é false. Forneça o caminho para o repositório de confiança e insira uma senha ofuscada do repositório de confiança neste formato: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

Indique todos os pacotes de criptografia que você quer incluir ou excluir. Por exemplo, se você descobrir vulnerabilidade em uma criptografia, é possível excluí-la aqui. Separe várias criptografias com um espaço.

Para mais informações sobre pacotes de criptografia e arquitetura de criptografia, consulte:

http://docs.oracle.com/javase/8/docs/technotes/
sources/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Números inteiros que determinam:

  • O tamanho do cache da sessão TLS/SSL (em bytes) para armazenar informações da sessão de vários clientes.
  • O tempo que as sessões TLS/SSL podem durar antes de expirarem (em milissegundos).