Dopo aver installato Apigee mTLS su tutti i nodi del cluster, devi configurare e inizializzare il componente apigee-mtls
. Per farlo, genera una coppia di certificato/chiave e aggiorna il file di configurazione sul tuo computer di amministrazione. Successivamente, esegui il deployment
degli stessi file generati e del file di configurazione in tutti i nodi del cluster e inizializza il componente
apigee-mtls
locale.
Configura apigee-mtls (dopo l'installazione iniziale)
Questa sezione descrive come configurare mTLS di Apigee subito dopo l'installazione iniziale. Per informazioni sull'aggiornamento di un'installazione esistente di Apigee mTLS, vedi Modificare una configurazione apigee-mtls esistente.
Questa sezione si applica alle installazioni in un singolo data center. Per informazioni sulla configurazione di Apigee mTLS in una configurazione con più data center, vedi Configurare più data center per Apigee mTLS.
La procedura generale per configurare apigee-mtls
è la seguente:
- Aggiorna il file di configurazione: sulla macchina di amministrazione, aggiorna il file di configurazione in modo che includa le impostazioni
apigee-mtls
. - Installa Consul e genera le credenziali: installa
Consul e (facoltativamente) utilizzalo per generare le credenziali TLS (una sola volta).
Inoltre, modifica il file di configurazione Apigee mTLS per:
- Aggiungi le informazioni sulle credenziali
- Definisci la topologia del cluster
Tieni presente che puoi utilizzare le credenziali esistenti o generarle con Consul.
- Distribuisci le credenziali e il file di configurazione: Distribuisci la stessa coppia di certificato/chiave generata e il file di configurazione aggiornato a tutti i nodi nel cluster.
- Inizializza apigee-mtls: inizializza il componente
apigee-mtls
su ogni nodo.
Ogni passaggio è descritto nelle sezioni seguenti.
Passaggio 1: aggiorna il file di configurazione
Questa sezione descrive come modificare il file di configurazione per includere le proprietà di configurazione mTLS. Per informazioni più generali sul file di configurazione, vedi Creazione di un file di configurazione.
Dopo aver aggiornato il file di configurazione con le proprietà relative a mTLS, copialo in
tutti i nodi del cluster prima di inizializzare il componente apigee-mtls
su questi
nodi.
Per aggiornare il file di configurazione:
- Sulla macchina di amministrazione, apri il file di configurazione per modificarlo.
- Copia il seguente insieme di proprietà di configurazione mTLS e incollalo nel file di configurazione:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"
Imposta il valore di ogni proprietà in modo che sia in linea con la tua configurazione.
La seguente tabella descrive queste proprietà di configurazione:
Proprietà Descrizione ALL_IP
Un elenco separato da spazi degli indirizzi IP host privati di tutti i nodi del cluster. L'ordine degli indirizzi IP non è importante, tranne che deve essere lo stesso in tutti i file di configurazione del cluster.
Se configuri Apigee mTLS per più data center, elenca tutti gli indirizzi IP per tutti gli host in tutte le regioni.
LDAP_MTLS_HOSTS
L'indirizzo IP host privato del nodo SymasLDAP nel cluster. ZK_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i nodi ZooKeeper nel cluster.
Tieni presente che, in base ai requisiti, devono essere presenti almeno tre nodi ZooKeeper.
CASS_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i server Cassandra nel cluster. PG_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i server Postgres nel cluster. RT_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i router nel cluster. MTLS_ENCAPSULATE_LDAP
Cripta il traffico LDAP tra il processore di messaggi e il server LDAP. Imposta su y
.MS_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i nodi del server di gestione nel cluster. MP_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i processori di messaggi nel cluster. QP_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui sono ospitati i server Qpid nel cluster. ENABLE_SIDECAR_PROXY
Determina se Cassandra e Postgres devono essere a conoscenza del service mesh. Devi impostare questo valore su "y".
ENCRYPT_DATA
La chiave di crittografia con codifica Base64 utilizzata da Consul. Hai generato questa chiave utilizzando il comando consul keygen
nel passaggio 2: installa Consul e genera le credenziali.Questo valore deve essere lo stesso per tutti i nodi del cluster.
PATH_TO_CA_CERT
La posizione del file del certificato sul nodo. Hai generato questo file nel passaggio 2: installa Consul e genera le credenziali. Questa posizione deve essere la stessa per tutti i nodi del cluster in modo che i file di configurazione siano gli stessi.
Il certificato deve essere codificato in X509v3.
PATH_TO_CA_KEY
La posizione del file della chiave sul nodo. Hai generato questo file nel passaggio 2: installa Consul e genera le credenziali. Questa posizione deve essere la stessa per tutti i nodi del cluster, in modo che i file di configurazione siano identici.
Il file della chiave deve essere codificato X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
Il numero di giorni di validità di un certificato quando generi un certificato personalizzato.
Il valore predefinito è 365. Il valore massimo è 7865 giorni (5 anni).
Oltre alle proprietà elencate sopra, Apigee mTLS utilizza diverse proprietà aggiuntive quando lo installi in una configurazione multi-data center. Per maggiori informazioni, vedi Configurare più data center.
- Assicurati che
ENABLE_SIDECAR_PROXY
sia impostato su "y". - Aggiorna gli indirizzi IP nelle proprietà correlate all'host. Assicurati di utilizzare gli indirizzi IP privati quando fai riferimento a ogni nodo, non gli indirizzi IP pubblici.
Nei passaggi successivi, imposterai i valori delle altre proprietà, ad esempio
ENCRYPT_DATA
,PATH_TO_CA_CERT
ePATH_TO_CA_KEY
. Non hai ancora impostato i valori.Quando modifichi le proprietà di configurazione di
apigee-mtls
, tieni presente quanto segue:- Tutte le proprietà sono stringhe; devi racchiudere i valori di tutte le proprietà tra virgolette singole o doppie.
- Se un valore correlato all'host ha più di un indirizzo IP privato, separa ogni indirizzo IP con uno spazio.
- Utilizza indirizzi IP privati e non nomi host o indirizzi IP pubblici per tutte le proprietà relative all'host nel file di configurazione.
- L'ordine degli indirizzi IP in un valore della proprietà deve essere lo stesso in tutti i file di configurazione del cluster.
- Salva le modifiche apportate al file di configurazione.
Passaggio 2: installa Consul e genera le credenziali
Questa sezione descrive come installare Consul e generare le credenziali utilizzate dai componenti abilitati a mTLS.
Devi scegliere uno dei seguenti metodi per generare le credenziali:
- (Consigliato) Crea la tua autorità di certificazione (CA) utilizzando Consul, come descritto in questa sezione.
- Utilizzare le credenziali di una CA esistente con Apigee mTLS (avanzato)
Informazioni sulle credenziali
Le credenziali sono costituite da:
- Certificato:il certificato TLS
- Chiave:la chiave pubblica TLS
- Messaggio di gossip:una chiave di crittografia con codifica Base64
Generi una sola versione di ciascuno di questi file una sola volta. Quindi, copia i file della chiave e del certificato in tutti i nodi del cluster e aggiungi la chiave di crittografia al file di configurazione che copi anche in tutti i nodi.
Per ulteriori informazioni sull'implementazione della crittografia di Consul, consulta le seguenti risorse:
Installare Consul e generare le credenziali
Per generare le credenziali utilizzate da Apigee mTLS per autenticare le comunicazioni sicure tra i nodi del cluster Private Cloud, utilizza un binario Consul locale . Di conseguenza, devi installare Consul sulla macchina di amministrazione prima di poter generare le credenziali.
Per installare Consul e generare le credenziali mTLS:
- Sulla macchina di amministrazione, scarica il file binario di Consul 1.8.0 dal sito web di HashiCorp.
- Estrai i contenuti del file di archivio scaricato. Ad esempio, estrai i contenuti in
/opt/consul/
. - Sulla macchina di amministrazione, crea una nuova autorità di certificazione (CA) eseguendo il
seguente comando:
/opt/consul/consul tls ca create
Consul crea i seguenti file, che formano una coppia di certificato/chiave:
consul-agent-ca.pem
(certificato)consul-agent-ca-key.pem
(chiave)
Per impostazione predefinita, i file del certificato e della chiave sono codificati X509v3.
In un secondo momento, copierai questi file in tutti i nodi del cluster. Al momento, però, devi decidere dove posizionare questi file sui nodi. Devono trovarsi nella stessa posizione su ogni nodo. Ad esempio,
/opt/apigee/
. - Nel file di configurazione, imposta il valore di
PATH_TO_CA_CERT
sulla posizione in cui copierai il fileconsul-agent-ca.pem
sul nodo. Ad esempio:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Imposta il valore di
PATH_TO_CA_KEY
sulla posizione in cui copierai il fileconsul-agent-ca-key.pem
sul nodo. Ad esempio:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Crea una chiave di crittografia per Consul eseguendo il comando seguente:
/opt/consul/consul keygen
Consul restituisce una stringa casuale simile alla seguente:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Copia questa stringa generata e impostala come valore della proprietà
ENCRYPT_DATA
nel file di configurazione. Ad esempio:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Salva il file di configurazione.
L'esempio seguente mostra le impostazioni relative a mTLS in un file di configurazione (con valori di esempio):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Passaggio 3: distribuisci il file di configurazione e le credenziali
Copia i seguenti file in tutti i nodi utilizzando uno strumento come scp
:
- File di configurazione:copia la versione aggiornata di questo file e sostituisci la versione esistente su tutti i nodi (non solo su quelli che eseguono ZooKeeper).
- consul-agent-ca.pem::copia nella posizione specificata come valore di
PATH_TO_CA_CERT
nel file di configurazione. - consul-agent-ca-key.pem::copia nella posizione specificata come valore di
PATH_TO_CA_KEY
nel file di configurazione.
Assicurati che le posizioni in cui copi i file del certificato e della chiave corrispondano ai valori impostati nel file di configurazione nel passaggio 2: installa Consul e genera le credenziali.
Passaggio 4: inizializza apigee-mtls
Dopo aver installato apigee-mtls
su ogni nodo, aggiornato il file di configurazione e
copiato quest'ultimo e le credenziali su tutti i nodi del cluster, puoi inizializzare il
componente apigee-mtls
su ogni nodo.
Per inizializzare apigee-mtls:
- Accedi a un nodo del cluster come utente root. Puoi eseguire questi passaggi sui nodi nell'ordine che preferisci.
- Rendi l'utente
apigee:apigee
proprietario del file di configurazione aggiornato, come mostrato nell'esempio seguente:chown apigee:apigee config_file
- Configura il componente
apigee-mtls
eseguendo questo comando:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Facoltativo) Esegui questo comando per verificare che la configurazione sia andata a buon fine:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Avvia Apigee mTLS eseguendo questo comando:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Dopo aver installato Apigee mTLS, devi avviare questo componente prima di qualsiasi altro componente sul nodo.
- (Solo nodi Cassandra) Cassandra richiede argomenti aggiuntivi per funzionare all'interno del
mesh di sicurezza. Di conseguenza, devi eseguire i seguenti comandi su ogni nodo Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- (Solo nodi Postgres) Postgres richiede argomenti aggiuntivi per funzionare all'interno del
mesh di sicurezza. Di conseguenza, devi eseguire le seguenti operazioni sui nodi Postgres:
(solo principale)
- Esegui questi comandi sul nodo primario Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(solo in standby)
- Esegui il backup dei dati Postgres esistenti. Per installare Apigee mTLS, devi reinizializzare i nodi primario/di standby, quindi si verificherà una perdita di dati. Per ulteriori informazioni, vedi Configurare la replica primaria/standby per PostgreSQL.
- Elimina tutti i dati di Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configura Postgres e riavvialo, come mostrato nell'esempio seguente:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Se esegui l'installazione su una topologia multi-data center, utilizza un percorso assoluto per il file di configurazione.
- Esegui questi comandi sul nodo primario Postgres:
- Avvia i componenti Apigee rimanenti sul nodo nell'ordine di avvio, come mostrato nell'esempio seguente:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Ripeti questa procedura per ogni nodo del cluster.
- (Facoltativo) Verifica che l'inizializzazione di
apigee-mtls
sia riuscita utilizzando uno o più dei seguenti metodi:- Convalida la configurazione di iptables
- Verificare lo stato del proxy remoto
- Verificare lo stato del quorum
Ciascuno di questi metodi è descritto in Verifica la configurazione.
Modificare una configurazione apigee-mtls esistente
Per personalizzare una configurazione apigee-mtls
esistente, devi disinstallare e reinstallare apigee-mtls
. Devi anche assicurarti di applicare la personalizzazione a tutti i
nodi.
Per ribadire questo punto, quando modifichi una configurazione Apigee mTLS esistente:
- Se modifichi un file di configurazione, devi prima disinstallare
apigee-mtls
e eseguire di nuovosetup
oconfigure
:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall
# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f file
OR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
- Devi disinstallare ed eseguire di nuovo
setup
oconfigure
su tutti i nodi del cluster, non solo su un singolo nodo.