Como configurar o TLS para a API de gerenciamento

Por padrão, o TLS está desativado para a API Management, e você acessa a API Edge Management 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 em formato:

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

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

Além da configuração do TLS, também é possível controlar a validação de senhas (comprimento da senha e força) modificando o arquivo management-server.properties.

Verificar se a porta TLS está aberta

O procedimento nesta seção configura o TLS para usar a porta 8443 no servidor de gerenciamento. Independente da porta usada, é necessário garantir que ela esteja aberta no servidor de gerenciamento. Por exemplo, é possível usar o comando a seguir para abrir:

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 e para a API Management. Se esse arquivo não existir, crie-o.

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 no 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 o usuário "apigee":
    chown apigee:apigee keystore.jks

    Em que keystore.jks é o nome do arquivo do keystore.

  4. Edite /opt/apigee/customer/application/management-server.properties para definir as seguintes propriedades. 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 do keystore ofuscada. Consulte Como configurar TLS/SSL para o Edge no local para informações sobre como gerar uma senha ofuscada.

  5. 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 oferece suporte ao acesso por TLS.

Configurar a nova interface 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 nova interface do Edge possa continuar fazendo chamadas da API Edge por HTTP.

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

  1. Configure o acesso TLS à API Management 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 do Edge executando o seguinte comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Atualize a configuração da nova interface do Edge para se conectar ao servidor de gerenciamento por HTTPS. Defina as seguintes propriedades no arquivo de configuração da nova interface do Edge:
    APIGEE_PORT_HTTP_MS=port
    MS_SCHEME=https

    Em que port é a porta especificada anteriormente por conf_webserver_ssl.port (por exemplo, 8443).

  5. Aplique a configuração atualizada à nova interface do Edge:
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile

    Para mais detalhes sobre o arquivo de configuração da nova interface do Edge, consulte Configurar a nova interface do Edge. Para configurar o acesso HTTPS à nova interface do Edge, consulte Configurar o TLS para a nova interface do Edge.

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

conf_webserver_http.port=8080

O padrão é 8080.

conf_webserver_ssl.enabled=false

Para ativar/desativar TLS/SSL. Com o TLS/SSL ativado (true), também é necessário definir as propriedades ssl.port e keystore.path.

conf_webserver_http.turn.off=true

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

conf_webserver_ssl.port=8443

A porta TLS/SSL.

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

conf_webserver_keystore.path=path

O caminho para o arquivo do keystore.

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

conf_webserver_keystore.password=password

Use uma senha ofuscada neste formato: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Alias de certificado de keystore opcional

conf_webserver_keymanager.password=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=password

Configure as definiçõ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 é false. Forneça o caminho para o repositório de confiança e insira uma senha de repositório de confiança ofuscada neste formato:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

Indique os conjuntos 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.

Todas as criptografias removidas usando a lista de bloqueio têm precedência sobre as criptografias incluídas na lista de permissões.

Observação: por padrão, se nenhuma lista de bloqueio ou permissões for especificada, as criptografias que correspondem à seguinte expressão regular Java serão excluídas por padrão.

^.*_(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 conjuntos de criptografia e arquitetura de criptografia, consulte a documentação de provedores do Oracle da arquitetura de criptografia Java para JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Números inteiros que determinam:

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