Configurazione di TLS per l'interfaccia utente di gestione

Edge per Private Cloud v4.19.01

Per impostazione predefinita, si accede all'interfaccia utente di gestione perimetrale tramite HTTP utilizzando l'indirizzo IP del nodo del server di gestione e la porta 9000. Ad esempio:

http://ms_IP:9000

In alternativa, puoi configurare l'accesso TLS all'interfaccia utente di gestione in modo da potervi accedere nel formato:

https://ms_IP:9443

In questo esempio, configurerai l'accesso TLS in modo da utilizzare la porta 9443. 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.

Assicurati che la porta TLS sia aperta

La procedura descritta in questa sezione consente di configurare TLS in modo che utilizzi la porta 9443 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 aprirla:

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

Configura TLS

Utilizza la seguente procedura per configurare l'accesso TLS all'interfaccia utente di gestione:

  1. Genera il file JKS dell'archivio chiavi contenente la certificazione TLS e la chiave privata e copialo nel nodo del server di gestione. Per ulteriori informazioni, vedi Configurare TLS/SSL per Edge On Premises.
  2. Esegui questo comando per configurare TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Inserisci il numero di porta HTTPS, ad esempio 9443.
  4. Specifica se vuoi disattivare l'accesso HTTP all'interfaccia utente di gestione. Per impostazione predefinita, l'interfaccia utente di gestione è accessibile tramite HTTP sulla porta 9000.
  5. Inserisci l'algoritmo dell'archivio chiavi. Il valore predefinito è JKS.
  6. Inserisci il percorso assoluto al file JKS dell'archivio chiavi.

    Lo script copia il file nella directory /opt/apigee/customer/conf sul nodo del server di gestione e cambia la proprietà del file in "apigee".

  7. Inserisci la password dell'archivio chiavi in chiaro.
  8. Lo script riavvia quindi l'interfaccia utente di gestione perimetrale. Dopo il riavvio, l'interfaccia utente di gestione supporta l'accesso tramite TLS.

    Puoi visualizzare queste impostazioni in /opt/apigee/etc/edge-ui.d/SSL.sh.

Utilizzo di un file di configurazione per configurare TLS

In alternativa alla procedura precedente, puoi passare un file di configurazione al comando nel passaggio 2 della procedura. Dovrai utilizzare questo metodo per impostare proprietà TLS facoltative.

Per utilizzare un file di configurazione, crea un nuovo file e aggiungi le seguenti proprietà:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Salva il file in una directory locale con il nome che preferisci. Utilizza quindi il comando seguente per configurare TLS:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

dove configFile è il percorso completo del file salvato.

Configura la UI perimetrale quando TLS termina sul bilanciatore del carico

Se disponi di un bilanciatore del carico che inoltra le richieste alla UI perimetrale, puoi scegliere di terminare la connessione TLS sul bilanciatore del carico, quindi fare in modo che il bilanciatore del carico inoltri le richieste alla UI perimetrale tramite HTTP. Questa configurazione è supportata, ma devi configurare di conseguenza il bilanciatore del carico e la UI perimetrale.

La configurazione aggiuntiva è richiesta quando la UI perimetrale invia agli utenti email per impostare la loro password quando viene creato l'utente o quando quest'ultimo richiede di reimpostare una password smarrita. Questa email contiene un URL selezionato dall'utente per impostare o reimpostare una password. Per impostazione predefinita, se l'interfaccia utente perimetrale non è configurata per l'utilizzo di TLS, l'URL nell'email generata utilizza il protocollo HTTP e non HTTPS. Devi configurare il bilanciatore del carico e la UI perimetrale in modo che generino un indirizzo email che utilizza HTTPS.

Per configurare il bilanciatore del carico, assicurati che imposti la seguente intestazione per le richieste inoltrate alla UI perimetrale:

X-Forwarded-Proto: https

Per configurare l'UI Edge:

  1. Apri il file /opt/apigee/customer/application/ui.properties in un editor. Se il file non esiste, crealo:
    vi /opt/apigee/customer/application/ui.properties
  2. Imposta la seguente proprietà in ui.properties:
    conf/application.conf+trustxforwarded=true
  3. Salva le modifiche apportate a ui.properties.
  4. Riavvia la UI di Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Impostazione di proprietà TLS facoltative

La UI Edge supporta proprietà facoltative di configurazione TLS che puoi utilizzare per impostare quanto segue:

  • Protocollo TLS predefinito
  • Elenco dei protocolli TLS supportati
  • Algoritmi TLS supportati
  • Cifrari TLS supportati

Questi parametri facoltativi sono disponibili solo quando imposti la seguente proprietà di configurazione in un file di configurazione, come descritto in Utilizzo di un file di configurazione per configurare TLS:

TLS_CONFIGURE=y

La tabella seguente descrive queste proprietà:

Proprietà Descrizione
TLS_PROTOCOL Definisce il protocollo TLS predefinito per l'UI Edge. Per impostazione predefinita, è TLS 1.2. I valori validi sono TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Definisce l'elenco dei protocolli abilitati come array separato da virgole. Ad esempio:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Tieni presente che devi eseguire l'escape del carattere ".

Per impostazione predefinita, sono abilitati tutti i protocolli.

TLS_DISABLED_ALGO

Definisce le suite di crittografia disattivate e può essere utilizzata anche per impedire l'utilizzo di chiavi di dimensioni ridotte per l'handshake TLS. Non è presente alcun valore predefinito.

I valori trasferiti a TLS_DISABLED_ALGO corrispondono ai valori consentiti per jdk.tls.disabledAlgorithms, come descritto qui. Tuttavia, devi utilizzare l'escape dei caratteri spaziali quando imposti TLS_DISABLED_ALGO:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048

TLS_ENABLED_CIPHERS

Definisce l'elenco delle crittografie TLS disponibili come array separato da virgole. Ad esempio:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Tieni presente che devi eseguire l'escape del carattere ".

L'elenco predefinito di crittografie abilitate è:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

L'elenco delle crittografie disponibili è disponibile qui.

Disattivazione dei protocolli TLS

Per disabilitare i protocolli TLS, devi modificare il file di configurazione, descritto in Utilizzo di un file di configurazione per configurare TLS, come segue:

  1. Apri il file di configurazione in un editor.
  2. Per disattivare un singolo protocollo TLS, ad esempio TLSv1.0, aggiungi quanto segue al file di configurazione:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Per disabilitare più protocolli, ad esempio TLSv1.0 e TLSv1.1, aggiungi quanto segue al file di configurazione:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Salva le modifiche apportate al file di configurazione.
  4. Esegui questo comando per configurare TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    dove configFile è il percorso completo del file di configurazione.

  5. Riavvia la UI di Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Usa cookie sicuri

Apigee Edge per il cloud privato supporta l'aggiunta del flag secure all'intestazione Set-Cookie per le risposte dall'interfaccia utente Edge. Se questo flag è presente, il cookie può essere inviato solo su canali abilitati per TLS. Se non è presente, il cookie può essere inviato su qualsiasi canale, che sia sicuro o meno.

I cookie senza il flag secure potrebbero consentire a un utente malintenzionato di acquisire e riutilizzare il cookie oppure di compromettere una sessione attiva. Di conseguenza, la best practice prevede di abilitare questa impostazione.

Per impostare il flag secure per i cookie dell'UI di Edge:

  1. Apri il seguente file in un editor di testo:
    /opt/apigee/customer/application/ui.properties

    Se il file non esiste, crealo.

  2. Imposta la proprietà conf_application_session.secure su true nel file ui.properties, come illustrato nell'esempio seguente:
    conf_application_session.secure=true
  3. Salva le modifiche.
  4. Riavvia la UI di Edge utilizzando l'utilità apigee-serice, come mostrato nell'esempio seguente:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Per verificare che la modifica funzioni, controlla le intestazioni delle risposte dall'interfaccia utente Edge utilizzando un'utilità come curl. Ad esempio:

curl -i -v https://edge_UI_URL

L'intestazione deve contenere una riga simile alla seguente:

Set-Cookie: secure; ...

Disabilita TLS sulla UI perimetrale

Per disabilitare TLS sulla UI Edge, utilizza il comando seguente:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl