Configura mTLS Apigee

Dopo aver installato Apigee mTLS su tutti i nodi del tuo cluster, deve configurare e inizializzare il componente apigee-mtls. Per farlo, devi generare di certificazione/chiave e l'aggiornamento di configurazione del dominio sulla macchina di amministrazione. Poi esegui il deployment gli stessi file generati e di configurazione su tutti i nodi nel cluster e inizializzano apigee-mtls componente.

Configura apigee-mtls (dopo l'installazione iniziale)

Questa sezione descrive come configurare Apigee mTLS direttamente dopo l'installazione iniziale. Per informazioni sull'aggiornamento di Installazione esistente di Apigee mTLS, consulta Cambiare un file apigee-mtls esistente configurazione.

Questa sezione riguarda le installazioni in un singolo data center. Per informazioni sulla configurazione di Apigee mTLS in una configurazione di più data center, vedi Configura più data center per Apigee mTLS.

La procedura generale per la configurazione di apigee-mtls è la seguente:

  1. Aggiorna il file di configurazione: nella tua di amministrazione, aggiorna il file di configurazione in modo da includere apigee-mtls impostazioni.
  2. Installa Consul e genera credenziali: installa Consul e, facoltativamente, lo utilizzano per generare credenziali TLS (solo una volta).

    Inoltre, modifica il file di configurazione di Apigee mTLS in modo da:

    1. Aggiungi le informazioni sulle credenziali
    2. Definisci la topologia del cluster

    Tieni presente che puoi usare le credenziali esistenti generarli con Consul.

  3. Distribuisci le credenziali e il file di configurazione: Distribuisci la stessa coppia di certificati/chiavi generata e il file di configurazione aggiornato su tutti i nodi nel tuo cluster.
  4. 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.

Per aggiornare il file di configurazione:

  1. Sul computer di amministrazione, apri il file di configurazione da modificare.
  2. 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.

  3. Assicurati che ENABLE_SIDECAR_PROXY sia impostato su "y".
  4. 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 e PATH_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.
  5. 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 i componenti abilitati per mTLS.

Devi scegliere uno dei seguenti metodi per generare le credenziali:

  • (Consigliato) Crea la tua autorità di certificazione (CA) utilizzando Consul, come descritto in sezione
  • Utilizza le credenziali di una CA esistente con Apigee mTLS (opzione avanzata)

Informazioni sulle credenziali

Queste credenziali sono costituite da:

  • Certificato: il certificato TLS
  • Chiave:la chiave pubblica TLS
  • Messaggio gossip: una chiave di crittografia codificata in Base64.

Puoi generare una sola versione di ciascuno di questi file una sola volta. Poi copi 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

per generare le credenziali che Apigee mTLS utilizza per autenticare le comunicazioni sicure tra i nodi nel tuo cluster Private Cloud, utilizza una Consul binario . Di conseguenza, devi installare Consul sulla macchina di amministrazione prima di poter per generare le credenziali.

Per installare Consul e generare le credenziali mTLS:

  1. Sul computer di amministrazione, scaricare il file binario di Consul 1.8.0 dal Sito web hashiCorp.
  2. Estrai i contenuti del file di archivio scaricato. Ad esempio, estrai i contenuti /opt/consul/.
  3. 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 formano una coppia di 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/.

  4. Nel file di configurazione, imposta il valore di PATH_TO_CA_CERT sulla posizione su che copierai il file consul-agent-ca.pem sul nodo. Ad esempio:
    PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
  5. Imposta il valore PATH_TO_CA_KEY nella posizione in cui copierai il consul-agent-ca-key.pem sul nodo. Ad esempio:
    PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
  6. 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=
  7. 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="
  8. 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 in tutti i nodi 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 installato apigee-mtls su ciascun nodo, hai aggiornato il file di configurazione e e le credenziali in tutti i nodi del cluster, è tutto pronto per inizializzare apigee-mtls su ciascun nodo.

Per inizializzare apigee-mtls:

  1. Accedi a un nodo nel cluster come utente root. Puoi eseguire questi passaggi sui nodi in in qualsiasi ordine.
  2. Imposta l'utente apigee:apigee come proprietario del file di configurazione aggiornato, come nell'esempio seguente:
    chown apigee:apigee config_file
  3. Configura il componente apigee-mtls eseguendo questo comando:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
  4. (Facoltativo) Esegui questo comando per verificare che la configurazione sia riuscita:
    /opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
  5. 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.

  6. (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
  7. (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 Principale)

    1. Esegui i seguenti comandi sul nodo principale 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)

    1. Esegui il backup dei dati Postgres esistenti. Per installare Apigee mTLS, devi reinizializzare nodi primari/in standby, quindi si verificherà una perdita di dati. Per ulteriori informazioni, vedi Configura la replica principale/in standby per Postgres.
    2. Elimina tutti i dati di Postgres:
      rm -rf /opt/apigee/data/apigee-postgresql/pgdata
    3. 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
    di Gemini Advanced.

    Se esegui l'installazione su una topologia multi-data center, utilizza un percorso assoluto per di configurazione del deployment.

  8. Avvia i restanti componenti Apigee sul nodo nell' ordine iniziale, come nell'esempio seguente:
    /opt/apigee/apigee-service/bin/apigee-service component_name start
  9. Ripeti questa procedura per ciascun nodo nel cluster.
  10. (Facoltativo) Verifica che l'inizializzazione apigee-mtls sia riuscita utilizzando una o più dei seguenti metodi:
    1. Convalida la configurazione di iptables
    2. Verifica lo stato del proxy remoto
    3. 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. Devi inoltre assicurarti di applicare la personalizzazione a tutte nodi.

Per ribadire questo punto, quando modifichi una configurazione Apigee mTLS esistente:

  • Se modifichi un file di configurazione, devi prima disinstallare apigee-mtls e esegui nuovamente setup o configure:
    # 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 o configure su tutti i nodi in e non un solo nodo.
di Gemini Advanced.