Configurazione di TLS per l'API di gestione

Edge for Private Cloud v4.18.05

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

https://ms_IP:8443

In questo esempio, configuri l'accesso TLS in modo che utilizzi la porta 8443. Tuttavia, questo numero di porta non è obbligatorio per 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 verso e dalla tua 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 e complessità) modificando il file management-server.properties.

Assicurati che la porta TLS sia aperta

La procedura in questa sezione configura TLS in modo da utilizzare la porta 8443 sul server di gestione. Indipendentemente dalla porta utilizzata, devi assicurarti che sia aperta sul server di gestione. 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 il file /opt/apigee/customer/application/management-server.properties per controllare l'utilizzo di TLS sul traffico verso e dalla tua API di gestione. Se questo file non esiste, creane uno.

Per configurare l'accesso TLS all'API di gestione, segui la procedura riportata di seguito:

  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 On-Premises.
  2. Copia il file JKS del keystore in una directory sul nodo del server di gestione, ad esempio /opt/apigee/customer/application.
  3. Modifica la proprietà del file JKS in 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, creane uno:
    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 del keystore e obfuscatedPassword è la password del keystore offuscata. Per informazioni sulla generazione di una password offuscata, consulta Configurare TLS/SSL per Edge On Premises.
  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 l'interfaccia utente Edge in modo che utilizzi TLS per accedere all'API Edge

Nella procedura precedente, Apigee ha consigliato di lasciare conf_webserver_http.turn.off=false in modo che l'interfaccia utente di Edge possa continuare a effettuare chiamate all'API Edge tramite HTTP.

Utilizza la procedura seguente per configurare l'interfaccia utente di Edge in modo da effettuare 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 Edge Management Server utilizzando il 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 l'interfaccia utente di Edge. Se il file non esiste, creane uno: conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1" dove FQDN è il nome di dominio completo, come da indirizzo del certificato del server di gestione, e il numero di porta è la porta specificata sopra da conf_webserver_ssl.port.
  5. Solo se hai utilizzato un certificato autofirmato (non consigliato in un ambiente di produzione) durante la configurazione dell'accesso TLS all'API di gestione indicata sopra, aggiungi la seguente proprietà a ui.properties: conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true In caso contrario, l'interfaccia utente di Edge rifiuterà un certificato autofirmato.
  6. Riavvia l'interfaccia utente di Edge utilizzando il comando:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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. Con 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 true.

conf_webserver_ssl.port=8443

La porta TLS/SSL.

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

conf_webserver_keystore.path=<path>

Il percorso del file dell'archivio chiavi.

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

conf_webserver_keystore.password=

Utilizza una password offuscata in questo formato: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

Alias del certificato dell'archivio chiavi facoltativo

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

Configura le impostazioni per il tuo store delle firme attendibili. Decidi se accettare tutti i certificati TLS/SSL (ad esempio, per accettare tipi non standard). Il valore predefinito è false. Fornisci il percorso all'archivio attendibile e inserisci una password dell'archivio attendibile offuscata in questo formato: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

Indica le suite di crittografia da includere o escludere. Ad esempio, se scopri una vulnerabilità in un'algoritmo di crittografia, puoi escluderla qui. Separa più cifre con uno spazio.

Per informazioni sulle suite di crittografia e sull'architettura della crittografia, consulta:

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

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 memorizzare le informazioni sulla sessione per più client.
  • La durata massima delle sessioni TLS/SSL prima del timeout (in millisecondi).