Configurazione di TLS per l'API di gestione

Per impostazione predefinita, il protocollo TLS è disabilitato per l'API di gestione e si accede all'API di gestione perimetrale tramite HTTP utilizzando l'indirizzo IP del nodo del server di gestione e la porta 8080. Ad esempio:

http://ms_IP:8080

In alternativa, puoi configurare l'accesso TLS all'API di gestione in modo da potervi accedere in il modulo:

https://ms_IP:8443

In questo esempio, configuri l'accesso TLS in modo che utilizzi la porta 8443. Tuttavia, quel numero di porta non è richiesto da Edge: puoi configurare il server di gestione in modo che utilizzi altri valori di porta. L'unico è che il firewall consenta il traffico sulla porta specificata.

Per garantire la crittografia del traffico da e verso l'API di gestione, configura le impostazioni nella /opt/apigee/customer/application/management-server.properties .

Oltre alla configurazione TLS, puoi controllare la convalida delle password (lunghezza della password e l'efficacia) modificando il file management-server.properties.

Assicurati che la porta TLS sia aperta

La procedura descritta in questa sezione configura TLS in modo che utilizzi la porta 8443 sul server di gestione. Indipendentemente dalla porta che utilizzi, devi assicurarti che sia aperta sul server di gestione Server. Ad esempio, puoi utilizzare il seguente comando per aprirlo:

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

Configura TLS

Modifica /opt/apigee/customer/application/management-server.properties per controllare l'utilizzo di TLS sul traffico da e verso l'API di gestione. Se il file non esiste, a crearlo.

Per configurare l'accesso TLS all'API di gestione:

  1. Genera il file JKS dell'archivio chiavi contenente la certificazione TLS e la chiave privata. Per ulteriori informazioni consulta Configurazione di TLS/SSL per Edge on-premise.
  2. Copia il file JKS dell'archivio chiavi in una directory sul nodo del server di gestione, come come /opt/apigee/customer/application.
  3. Cambiare la proprietà del file JKS in "apigee" utente:
    chown apigee:apigee keystore.jks

    Dove keystore.jks è il nome del file dell'archivio chiavi.

  4. Modifica /opt/apigee/customer/application/management-server.properties per impostare le seguenti proprietà. Se il file non esiste, crealo:
    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

    Dove keyStore.jks è il file dell'archivio chiavi e obfuscatedPassword è la password dell'archivio chiavi offuscata. Consulta Configurazione di TLS/SSL per Edge on-premise per le informazioni sulla generazione di una password offuscata.

  5. Riavvia Edge Management Server utilizzando il comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

L'API di gestione ora supporta l'accesso tramite TLS.

Configura la UI Edge per l'utilizzo di TLS per l'accesso l'API Edge

Nella procedura precedente, Apigee ha consigliato di abbandonare conf_webserver_http.turn.off=false in modo che la UI Edge può continuare a effettuare chiamate API Edge tramite HTTP.

Usa la seguente procedura per configurare la UI Edge in modo che effettui queste chiamate solo tramite HTTPS:

  1. Configura l'accesso TLS all'API di gestione come descritto sopra.
  2. Dopo aver confermato che TLS funziona per l'API di gestione, modifica Da /opt/apigee/customer/application/management-server.properties a imposta la seguente proprietà:
    conf_webserver_http.turn.off=true
  3. Riavvia Edge Management Server eseguendo questo comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Modifica /opt/apigee/customer/application/ui.properties per impostare la seguente proprietà per la UI Edge:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Dove FQ_domain_name è il nome di dominio completo, come indicato nel tuo certificato del server di gestione e port è la porta specificata sopra conf_webserver_ssl.port.

    Se ui.properties non esiste, crealo.

  5. Solo se hai utilizzato un certificato autofirmato (non consigliato in un ambiente ) quando configuri l'accesso TLS all'API di gestione indicata sopra, aggiungi il parametro seguente proprietà a ui.properties:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    In caso contrario, la UI Edge rifiuterà un certificato autofirmato.

  6. Riavvia la UI Edge eseguendo questo comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Proprietà TLS per il server di gestione

Nella tabella seguente sono elencate tutte le proprietà TLS/SSL che puoi impostare management-server.properties:

Proprietà Descrizione

conf_webserver_http.port=8080

Il valore predefinito è 8080.

conf_webserver_ssl.enabled=false

Per attivare/disattivare TLS/SSL. Se TLS/SSL è abilitato (true), devi impostare anche ssl.port e le proprietà keystore.path.

conf_webserver_http.turn.off=true

Per attivare/disattivare sia http sia https. Se vuoi utilizzare solo HTTPS, lascia la il valore predefinito è true.

conf_webserver_ssl.port=8443

La porta TLS/SSL.

Obbligatorio quando TLS/SSL è attivato (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Il percorso del file dell'archivio chiavi.

Obbligatorio quando TLS/SSL è attivato (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Utilizza una password offuscata nel seguente formato: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Alias certificato archivio chiavi facoltativo

conf_webserver_keymanager.password=password

Se il gestore chiavi ha una password, inserisci una versione offuscata della password in questo formato:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Configura le impostazioni per il tuo archivio attendibilità. Scegli se accettare tutti Certificati TLS/SSL (ad esempio per accettare tipi non standard). Il valore predefinito è false. Specifica il percorso al tuo archivio attendibilità e inserisci una password offuscata dell'archivio attendibilità in questo formato:

OBF:xxxxxxxxxx

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

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

Indica le suite di crittografia che vuoi includere o escludere. Ad esempio, se le vulnerabilità in una crittografia, puoi escluderle qui. Separa più crittografie con le virgole.

Qualsiasi crittografia rimossa tramite la lista nera avrà la precedenza su qualsiasi crittografia inclusa tramite la lista consentita.

Nota: per impostazione predefinita, se non vengono specificate liste nere o whitelist, la corrispondenza delle crittografie le seguenti espressioni regolari Java sono escluse per impostazione predefinita.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Tuttavia, se specifichi una lista nera, questo filtro viene sostituito e devi inserire singolarmente tutte le crittografie nella lista nera.

Per informazioni sulle suite di crittografia e sull'architettura di crittografia, vedi Java Cryptography Architecture - Documentazione dei provider Oracle per JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Numeri interi che determinano:

  • Le dimensioni (in byte) della cache di sessione TLS/SSL per l'archiviazione delle informazioni sulla sessione per più clienti.
  • La durata delle sessioni TLS/SSL prima che scadano (in millisecondi).