Configurazione di TLS/SSL per Edge on-premise

Edge per Private Cloud v. 4.16.09

TLS (Transport Layer Security, il cui predecessore è SSL) è la tecnologia di sicurezza standard per garantire la messaggistica sicura e criptata nell'ambiente API, dalle app ad Apigee Edge ai servizi di backend.

Indipendentemente dalla configurazione dell'ambiente per l'API di gestione, ad esempio se utilizzi un proxy, un router e/o un bilanciatore del carico a fronte dell'API di gestione (o meno), Edge consente di abilitare e configurare TLS, in modo da avere il controllo sulla crittografia dei messaggi nell'ambiente di gestione delle API on-premise.

Per un'installazione on-premise di Edge Private Cloud, esistono diverse posizioni in cui è possibile configurare TLS:

  1. Tra un router e un processore di messaggi
  2. Per accedere all'API di gestione perimetrale
  3. Per accedere all'interfaccia utente di gestione perimetrale
  4. Per l'accesso da un'app alle tue API
  5. Per l'accesso da Edge ai tuoi servizi di backend

La configurazione di TLS per i primi tre elementi è descritta di seguito. Tutte queste procedure presuppongono che tu abbia creato un file JKS contenente la certificazione TLS e la chiave privata.

Per configurare TLS per l'accesso da un'app alle tue API, punto 4 sopra, consulta Configurazione dell'accesso TLS a un'API per il cloud privato. Per configurare TLS per l'accesso da Edge ai servizi di backend, punto 5 sopra, consulta Configurazione di TLS da Edge al backend (Cloud e Private Cloud).

Per una panoramica completa della configurazione di TLS su Edge, vedi TLS/SSL.

Creazione di un file JKS

Rappresenti l'archivio chiavi come file JKS, che contiene il certificato TLS e la chiave privata. Esistono diversi modi per creare un file JKS, ma uno è utilizzare le utilità openssl e keytool.

Ad esempio, hai un file PEM denominato server.pem contenente il tuo certificato TLS e un file PEM denominato private_key.pem contenente la tua chiave privata. Utilizza i comandi seguenti per creare il file PKCS12:

> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

Devi inserire la passphrase per la chiave, se presente, e una password di esportazione. Questo comando crea un file PKCS12 denominato keystore.pkcs12.

Utilizza il seguente comando per convertirlo in un file JKS denominato keystore.jks:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

Ti viene chiesto di inserire la nuova password per il file JKS e la password esistente per il file PKCS12. Assicurati di utilizzare la stessa password per il file JKS che hai utilizzato per il file PKCS12.

Se devi specificare un alias chiave, ad esempio quando configuri TLS tra un router e un elaboratore di messaggi, includi l'opzione "-name" nel comando openssl:

>  openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

Quindi includi l'opzione "-alias" al comando keytool:

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

Generazione di una password offuscata

Alcune parti della procedura di configurazione di Edge TLS richiedono l'inserimento di una password offuscata in un file di configurazione. Una password offuscata è un'alternativa più sicura all'inserimento della password in testo normale.

Puoi generare una password offuscata in Java utilizzando i file .jar di Jetty installati con Edge. Genera la password offuscata utilizzando un comando nel seguente formato:

> IFS= read -rsp Password: passvar; echo; java -cp "/opt/apigee/edge-gateway/lib/thirdparty/*" org.eclipse.jetty.util.security.Password $passvar 2>&1 |tail -2; unset passvar

Inserisci la nuova password quando richiesto. Per motivi di sicurezza, il testo della password non viene visualizzato. Il comando seguente restituisce la password in questo formato:

OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

Utilizza la password offuscata specificata da OBF durante la configurazione di TLS.

Per saperne di più, consulta questo articolo.