Configurazione di TLS per l'interfaccia utente di gestione

Per impostazione predefinita, puoi accedere alla UI Edge tramite HTTP utilizzando l'indirizzo IP del il nodo del server di gestione e la porta 9000. Ad esempio:

http://ms_IP:9000

In alternativa, puoi configurare l'accesso TLS alla UI Edge in modo da potervi accedere in il modulo:

https://ms_IP:9443

In questo esempio, configuri l'accesso TLS in modo che utilizzi la porta 9443. 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.

Assicurati che la porta TLS sia aperta

La procedura in questa sezione configura TLS in modo che utilizzi la porta 9443 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 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, la chiave privata e la copia al nodo del server di gestione. Per ulteriori informazioni, consulta Configurazione di TLS/SSL per Edge on-premise.
  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, La UI è 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 nella che modifica la proprietà del file in "apigee".

  7. Inserisci la password dell'archivio chiavi in testo in chiaro.
  8. Lo script riavvia quindi l'interfaccia utente di gestione perimetrale. Dopo il riavvio, la UI 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. Devi usare questo metodo se vuoi imposta 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 desideri. Quindi, utilizza il seguente comando per configurare TLS:

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

dove configFile è il percorso completo del file che hai salvato.

Configurare l'UI Edge quando TLS termina sul bilanciatore del carico

Se hai un bilanciatore del carico che inoltra le richieste alla UI Edge, potresti scegliere di termina la connessione TLS sul bilanciatore del carico e poi fa in modo che inoltri il bilanciatore del carico richieste alla UI Edge tramite HTTP. Questa configurazione è supportata, ma devi configurare il bilanciatore del carico e la UI perimetrale di conseguenza.

La configurazione aggiuntiva è necessaria quando la UI Edge invia email agli utenti per impostare password quando l'utente viene creato o quando l'utente richiede di reimpostare una password dimenticata. Questo indirizzo email contiene un URL selezionato dall'utente per impostare o reimpostare una password. Per impostazione predefinita, se la UI Edge se non è configurato 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 da generare un indirizzo email che utilizzi HTTPS.

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

X-Forwarded-Proto: https

Per configurare la UI Edge:

  1. Apri /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 Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Impostazione delle proprietà TLS facoltative

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

  • Protocollo TLS predefinito
  • Elenco dei protocolli TLS supportati
  • Algoritmi TLS supportati
  • Crittografia TLS supportata

Questi parametri facoltativi sono disponibili solo se 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

Nella tabella seguente vengono descritte queste proprietà:

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

Definisce l'elenco di 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 tag " .

Per impostazione predefinita sono abilitati tutti i protocolli.

TLS_DISABLED_ALGO

Definisce i pacchetti di crittografia disabilitati e può essere utilizzato anche per impedire che chiavi di piccole dimensioni utilizzata per l'handshake TLS. Non esiste un valore predefinito.

I valori trasmessi a TLS_DISABLED_ALGO corrispondono ai valori consentiti per jdk.tls.disabledAlgorithms come descritto qui. Tuttavia, devi utilizzare i caratteri di escape per l'impostazione di TLS_DISABLED_ALGO:

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

Definisce l'elenco di 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 tag " .

L'elenco predefinito delle 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"

Trova l'elenco delle crittografie disponibili qui

Disattivazione dei protocolli TLS

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

  1. Apri il file di configurazione in un editor.
  2. Per disabilitare 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 Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Usa cookie sicuri

Apigee Edge per Private Cloud supporta l'aggiunta del flag secure all'intestazione Set-Cookie per risposte da parte dell'UI di Edge. Se questo flag è presente, il cookie può essere inviato solo Canali abilitati per TLS. Se non è presente, il cookie può essere inviato su qualsiasi canale, sia che se è sicuro o meno.

I cookie senza il flag secure possono potenzialmente consentire a un utente malintenzionato di acquisire e riutilizzare il cookie o compromettere una sessione attiva. Pertanto, la best practice consiste nell'abilitare dell'ambientazione.

Per impostare il flag secure per i cookie della UI 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 ui.properties, come mostrato nell'esempio seguente:
    conf_application_session.secure=true
  3. Salva le modifiche.
  4. Riavvia l'UI Edge utilizzando l'utilità apigee-serice, come nell'esempio seguente mostra:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Per verificare che la modifica funzioni, controlla le intestazioni delle risposte della UI 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; ...

Disattiva TLS nell'interfaccia utente perimetrale

Per disabilitare TLS nella UI perimetrale, utilizza il seguente comando:

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