Dopo aver installato il componente apigee-mtls
su ogni nodo del cluster,
deve configurarla e inizializzarla. Per farlo, devi generare una coppia certificato/chiave e aggiornare
di configurazione del dominio sulla macchina di amministrazione. Poi esegui il deployment
gli stessi file generati in tutti i nodi nel cluster e inizializzare il cluster
apigee-mtls
componente.
Configura apigee-mtls (dopo l'installazione iniziale)
Questa sezione descrive come configurare Apigee mTLS per un singolo data center subito dopo l'installazione iniziale. Per informazioni su come aggiornare un'installazione esistente di Apigee mTLS, vedi Cambiare una configurazione apigee-mtls esistente. Per informazioni sulla configurazione di più data center, vedi Configurare più data center per Apigee mTLS.
Di seguito è riportata la procedura generale per configurare
apigee-mtls
:
- Aggiorna il file di configurazione: nella tua
di amministrazione, aggiorna il file di configurazione in modo da includere
apigee-mtls
impostazioni. - Installa Consul e genera credenziali: installa
Consul e utilizzarlo per generare le credenziali TLS (solo una volta).
Inoltre, modifica il file di configurazione di Apigee mTLS in modo da:
- Aggiungi le informazioni sulle credenziali
- Definisci la topologia del cluster
Tieni presente che puoi usare le credenziali esistenti generarli con Consul.
- Distribuisci il file di configurazione e le credenziali: Distribuisci la stessa coppia di certificati/chiavi generata e il file di configurazione aggiornato su tutti i nodi nel tuo cluster.
- Inizializza apigee-mtls: inizializza l'oggetto
apigee-mtls
su ciascun nodo.
Ciascuno di questi passaggi è descritto nelle sezioni seguenti.
Passaggio 1: aggiorna il file di configurazione
In questa sezione viene descritto come modificare il file di configurazione per includere la configurazione mTLS. proprietà. Per informazioni più generali sul file di configurazione, consulta Creazione di una configurazione .
Dopo aver aggiornato il file di configurazione con le proprietà relative a mTLS, copialo in
tutti i nodi nel cluster prima di inizializzare il componente apigee-mtls
su
nodi.
I comandi che fanno riferimento al file di configurazione utilizzano "config_file" per indicare che è variabile, a seconda di dove viene archiviata su ciascun nodo.
Per aggiornare il file di configurazione:
- Sul computer di amministrazione, apri il file di configurazione.
- Copia il seguente set di proprietà di configurazione mTLS e incollalo nella configurazione
file:
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.
Nella tabella seguente vengono descritte le proprietà di configurazione:
Proprietà Descrizione ALL_IP
Un elenco separato da spazi degli indirizzi IP host privati di tutti i nodi nel cluster. L'ordine degli indirizzi IP non è importante, ma deve essere lo stesso in tutte di configurazione in tutto il cluster.
Se configuri Apigee mTLS per più data center, elenca gli indirizzi IP di tutti gli host in tutte le regioni.
LDAP_MTLS_HOSTS
L'indirizzo IP dell'host privato del nodo OpenLDAP 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, è necessario che 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 in un cluster Kubernetes. 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 si trovano i nodi del server di gestione ospitati nel cluster. MP_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati su cui si trovano i processori di messaggi ospitati nel cluster. QP_MTLS_HOSTS
Un elenco separato da spazi di indirizzi IP host privati in cui sono ospitati i server Qpid nel cluster. ENABLE_SIDECAR_PROXY
Determina se Cassandra e Postgres devono essere a conoscenza del mesh di servizi. Devi impostare questo valore su "y".
ENCRYPT_DATA
La chiave di crittografia con codifica Base64 utilizzata da Consul . Hai generato questa chiave utilizzando consul keygen
nel Passaggio 2: installa Consul e genera le credenziali.Questo valore deve essere uguale in tutti i nodi nel cluster.
PATH_TO_CA_CERT
La posizione del file del certificato sul nodo. Hai generato questo file in Passaggio 2: installa Consul e genera le credenziali. Questa località deve essere la stessa in tutti i nodi nel cluster, di configurazione sono uguali.
Il certificato deve essere codificato X509v3.
PATH_TO_CA_KEY
La posizione del file della chiave sul nodo. Hai generato questo file in Passaggio 2: installa Consul e genera le credenziali. Questa località deve essere la stessa in tutti i nodi nel cluster, di configurazione sono uguali.
Il file della chiave deve essere codificato X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
Il numero di giorni in cui un certificato è utile quando genera 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 su una configurazione multi-data center. Per ulteriori informazioni, vedi Configurare più data center.
- Assicurati che la proprietà
ENABLE_SIDECAR_PROXY
sia impostata su "y". - Aggiorna gli indirizzi IP nelle proprietà relative all'host. Assicurati di utilizzare
indirizzi IP privati quando fai riferimento a ciascun nodo, non a quello pubblico
e gli indirizzi IP esterni.
Nei passaggi successivi, imposterai i valori delle altre proprietà come
ENCRYPT_DATA
,PATH_TO_CA_CERT
ePATH_TO_CA_KEY
. Tu sì non hanno ancora impostato i propri 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à in una formula singola o doppia citazioni.
- Se un valore relativo all'host ha più di un indirizzo IP privato, separa ciascun indirizzo IP con uno spazio.
- Utilizza indirizzi IP privati e non nomi host o indirizzi IP pubblici per tutti gli host nel file di configurazione.
- L'ordine degli indirizzi IP nel valore di una proprietà deve essere lo stesso in tutte di configurazione in tutto il 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.
Devi scegliere uno dei seguenti metodi per generare le credenziali:
- Crea la tua CA utilizzando Consul, come descritto in questa sezione (consigliato)
- Utilizza le credenziali di una CA esistente con Apigee mTLS (opzione avanzata)
Informazioni sulle credenziali
Queste credenziali sono costituite da:
- Certificato: il certificato TLS ospitato su ciascun nodo
- Chiave:la chiave pubblica TLS ospitata su ciascun nodo
- Messaggio gossip: una chiave di crittografia codificata in Base64.
Puoi generare una sola versione di ciascuno di questi file una sola volta. Copia la chiave e il certificato a tutti i nodi del tuo cluster e aggiungi la chiave di crittografia al file di configurazione che puoi copiare in tutti i nodi.
Per ulteriori informazioni sull'implementazione della crittografia di Consul, consulta quanto segue:
Installa Consul e genera credenziali
Puoi usare un programma binario di Consul locale per generare le credenziali che Apigee mTLS utilizza per autenticando comunicazioni sicure tra i nodi nel tuo cluster Private Cloud. Di conseguenza, devi installare Consul sulla macchina di amministrazione prima di poter per generare le credenziali.
Per installare Consul e generare le credenziali mTLS:
- Sul computer di amministrazione, scaricare il file binario di Consul 1.6.2 dal Sito web hashiCorp.
- Estrai i contenuti del file di archivio scaricato. Ad esempio, estrai i contenuti
/opt/consul/
. - Sul computer di amministrazione, crea una nuova autorità di certificazione (CA) eseguendo
seguente comando:
/opt/consul/consul tls ca create
Consul crea i seguenti file, che sono una coppia certificato/chiave:
consul-agent-ca.pem
(certificato)consul-agent-ca-key.pem
(chiave)
Per impostazione predefinita, i file dei certificati e delle chiavi hanno la codifica X509v3.
Successivamente, copierai questi file in tutti i nodi del cluster. Al momento, tuttavia, è necessario solo decide dove posizionare questi file sui nodi. I due elementi devono essere nello stesso ordine più elevata su ciascun nodo. Ad esempio,
/opt/apigee/
. - Nel file di configurazione, imposta il valore di
PATH_TO_CA_CERT
sulla posizione su che copierai il fileconsul-agent-ca.pem
sul nodo. Ad esempio:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Imposta il valore
PATH_TO_CA_KEY
nella posizione in cui copierai ilconsul-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 questo comando:
/opt/consul/consul keygen
Consul restituisce una stringa randomizzata simile alla seguente:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Copia la stringa e impostala come valore della proprietà
ENCRYPT_DATA
nel tuo di configurazione del deployment. 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 esempio di sicurezza):
... 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 nei nodi che eseguono ZooKeeper utilizzando uno strumento come
scp
:
- File di configurazione: copia la versione aggiornata di questo file e sostituisci la su tutti i nodi (non solo su quelli su cui è in esecuzione ZooKeeper).
- consul-agent-ca.pem: copia nella località specificata come valore di
PATH_TO_CA_CERT
nel file di configurazione. - consul-agent-ca-key.pem: copia nella posizione che hai specificato come valore di
PATH_TO_CA_KEY
nel file di configurazione.
Assicurati che le posizioni in cui copi il certificato e i file della chiave corrispondano ai valori che impostato nel file di configurazione in Passaggio 2: installa Consul e genera credenziali.
Passaggio 4: inizializza apigee-mtls
Dopo aver aggiornato il file di configurazione, copialo insieme alle credenziali in tutti i nodi nella
e hai installato apigee-mtls
su ciascun nodo, puoi inizializzare
apigee-mtls
su ciascun nodo.
Per inizializzare apigee-mtls:
- Accedi a un nodo nel cluster come utente root. Puoi eseguire questi passaggi sui nodi in in qualsiasi ordine.
- Imposta l'utente
apigee:apigee
come proprietario del file di configurazione aggiornato, come 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 riuscita:
/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 componenti sul nodo.
- (Solo nodi Cassandra) Cassandra richiede argomenti aggiuntivi per funzionare all'interno
mesh di sicurezza. Di conseguenza, devi eseguire i comandi seguenti su ciascun 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
mesh di sicurezza. Di conseguenza, devi eseguire le seguenti operazioni sui nodi Postgres:
(Solo master)
- Esegui i seguenti comandi sul nodo master di 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 standby)
- Esegui il backup dei dati Postgres esistenti. Per installare Apigee mTLS, devi reinizializzare nodi master/di standby, si verificherà una perdita di dati. Per ulteriori informazioni, vedi Configura la replica master/in standby per Postgres.
- Elimina tutti i dati di Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configura Postgres, quindi riavvia Postgres, 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 di configurazione del deployment.
- Esegui i seguenti comandi sul nodo master di Postgres:
- Avvia i restanti componenti Apigee sul nodo nell'
ordine iniziale, come
nell'esempio seguente:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Ripeti questa procedura per ciascun nodo nel cluster.
- (Facoltativo) Verifica che l'inizializzazione
apigee-mtls
sia riuscita utilizzando una o più dei seguenti metodi:- Convalida la configurazione di iptables
- Verifica lo stato del proxy remoto
- Verificare lo stato del quorum
Ciascuno di questi metodi è descritto nella sezione Verificare il tuo configurazione.
Cambiare una configurazione apigee-mtls esistente
Per personalizzare una configurazione di apigee-mtls
esistente, devi disinstallare e
reinstalla apigee-mtls
.
Per ribadire questo punto, quando modifichi una configurazione Apigee mTLS esistente:
- Se modifichi un file di configurazione, devi prima disinstallare
apigee-mtls
e esegui nuovamentesetup
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 nuovamente
setup
oconfigure
su tutti i nodi in e non un solo nodo.