Configurazione di TLS per l'API di gestione

Per impostazione predefinita, TLS è disabilitato per l'API di gestione e puoi accedere all'API di gestione Edge 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 nel formato:

https://ms_IP:8443

In questo esempio, configuri l'accesso TLS per utilizzare la porta 8443. Tuttavia, questo numero di porta non è richiesto da Edge: puoi configurare il server di gestione in modo che utilizzi altri valori di porta. L'unico requisito è 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 nel /opt/apigee/customer/application/management-server.properties file.

Oltre alla configurazione TLS, puoi anche controllare la convalida della password (lunghezza della password e robustezza) 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. Ad esempio, puoi utilizzare il seguente comando per aprirla:

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

Configura TLS

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

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 saperne di più consulta Configurare TLS/SSL per Edge per il cloud privato.
  2. Copia il file JKS dell'archivio chiavi in una directory sul nodo del server di gestione, ad esempio /opt/apigee/customer/application.
  3. Modifica la proprietà del file JKS in modo che appartenga all'utente "apigee":
    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. Per informazioni su come generare una password offuscata, consulta Configurare TLS/SSL per Edge per il cloud privato.

  5. Riavvia il server di gestione Edge 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 nuova UI Edge in modo che utilizzi TLS per accedere a l'API Edge

Nella procedura precedente, Apigee consigliava di lasciare conf_webserver_http.turn.off=false in modo che la nuova UI Edge possa continuare a effettuare chiamate all'API Edge tramite HTTP.

Utilizza la seguente procedura per configurare la nuova 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 verificato che TLS funzioni per l'API di gestione, modifica /opt/apigee/customer/application/management-server.properties per impostare la seguente proprietà:
    conf_webserver_http.turn.off=true
  3. Riavvia il server di gestione Edge eseguendo il seguente comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Aggiorna la configurazione della nuova UI Edge in modo che si connetta al server di gestione tramite HTTPS. Imposta le seguenti proprietà nel file di configurazione della nuova UI Edge file:
    APIGEE_PORT_HTTP_MS=port
    MS_SCHEME=https

    Dove port è la porta specificata in precedenza da conf_webserver_ssl.port (ad esempio, 8443).

  5. Applica la configurazione aggiornata alla nuova UI Edge:
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile

    Per maggiori dettagli sul file di configurazione della nuova UI Edge, consulta Configurare la nuova UI Edge. Per configurare l'accesso HTTPS alla nuova UI Edge, consulta Configurare TLS per la nuova UI Edge.

Proprietà TLS per il server di gestione

La tabella seguente elenca tutte le proprietà TLS/SSL che puoi impostare in 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 le proprietà ssl.port e keystore.path.

conf_webserver_http.turn.off=true

Per attivare/disattivare http insieme a https. Se vuoi utilizzare solo HTTPS, lascia il valore predefinito su true.

conf_webserver_ssl.port=8443

La porta TLS/SSL.

Obbligatoria quando TLS/SSL è abilitato (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Il percorso del file dell'archivio chiavi.

Obbligatoria quando TLS/SSL è abilitato (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Utilizza una password offuscata in questo formato: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Alias del certificato dell'archivio chiavi facoltativo

conf_webserver_keymanager.password=password

Se il gestore delle 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 l'archivio di attendibilità. Determina se vuoi accettare tutti i certificati TLS/SSL (ad esempio, per accettare tipi non standard). Il valore predefinito è false. Fornisci il percorso all'archivio di attendibilità e inserisci una password dell'archivio di attendibilità offuscata 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 scopri una vulnerabilità in una crittografia, puoi escluderla qui. Separa più crittografie con virgole.

Le crittografie rimosse utilizzando la lista nera hanno la precedenza su quelle incluse nella lista consentita.

Nota: per impostazione predefinita, se non viene specificata alcuna lista nera o lista consentita, le crittografie che corrispondono a la seguente espressione regolare Java vengono 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 nella lista nera tutte le crittografie singolarmente.

Per informazioni sulle suite di crittografia e sull'architettura di crittografia, consulta Java Cryptography Architecture Oracle Providers Documentation for JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Numeri interi che determinano:

  • La dimensione della cache della sessione TLS/SSL (in byte) per l'archiviazione delle informazioni sulla sessione per più client.
  • La quantità di tempo per cui le sessioni TLS/SSL possono durare prima del timeout (in millisecondi).