Configurazione di TLS per l'interfaccia utente di gestione

Per impostazione predefinita, puoi accedere alla UI perimetrale 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, questo numero di porta non è obbligatorio per 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 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 9443 -j ACCEPT --verbose

Configura TLS

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

  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, consulta Configurare TLS/SSL per Edge On Premises.
  2. Esegui il seguente 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 del keystore. Il valore predefinito è JKS.
  6. Inserisci il percorso assoluto del file JKS dell'archivio chiavi.

    Lo script copia il file nella directory /opt/apigee/customer/conf sul nodo del server di gestione e 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 di Edge. 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. 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
# Set type to PKCS12 if you are using a PKCS12 keystore
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.

Utilizzo di un keystore PKCS12 per i sistemi operativi conformi a FIPS

Se utilizzi Edge per il cloud privato su un sistema operativo abilitato per FIPS, devi utilizzare un archivio chiavi PKCS12. Puoi generare un keystore PKCS12 utilizzando i comandi OpenSSL standard. Quando utilizzi un keystore PKCS12, imposta KEY_ALGO=PKCS12 nel file di configurazione.

Configura l'interfaccia utente di 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 l'interfaccia utente di Edge 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 l'interfaccia utente di Edge 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 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 l'interfaccia utente di 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 in ui.properties.
  4. Riavvia l'interfaccia utente di Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Impostazione di proprietà TLS facoltative

L'interfaccia utente di Edge supporta 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 nel file di configurazione, come descritto 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 l'interfaccia utente di 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 utilizzato anche per impedire l'uso di chiavi di piccole dimensioni 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 l'interpretazione letterale dei caratteri di spaziatura 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 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"

Puoi trovare l'elenco delle crittografie disponibili qui.

Disattivazione dei protocolli TLS

Per disattivare i protocolli TLS, devi modificare il file di configurazione descritto in Utilizzare 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 Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Usa cookie sicuri

Apigee Edge for Private Cloud supporta l'aggiunta del flag secure all'intestazione Set-Cookie per le risposte dall'interfaccia utente di Edge. Se questo flag è presente, il cookie può essere inviato solo tramite canali con TLS abilitato. 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 è attivare questa impostazione.

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, creane uno.

  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'interfaccia utente 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 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 disattivare TLS nell'interfaccia utente di Edge, utilizza il seguente comando:

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