Après avoir installé Apigee mTLS sur tous les nœuds de votre cluster,
doit configurer et initialiser le composant apigee-mtls
. Pour ce faire, vous devez générer
du certificat/de clé et en mettant à jour
sur votre machine d'administration. Vous déployez ensuite
les mêmes fichiers générés et fichier de configuration sur tous les nœuds du cluster, puis initialisez le fichier
Composant apigee-mtls
.
Configurer apigee-mtls (après l'installation initiale)
Cette section explique comment configurer Apigee mTLS directement après l'installation initiale. Pour savoir comment mettre à jour installation existante d'Apigee mTLS, voir Modifier une version existante de apigee-mtls configuration.
Cette section concerne les installations dans un seul centre de données. Pour plus d'informations sur la configuration d'Apigee mTLS dans une configuration avec plusieurs centres de données, consultez Configurez plusieurs centres de données pour Apigee mTLS.
Le processus général de configuration de apigee-mtls
est le suivant:
- Mettre à jour le fichier de configuration:sur votre
machine d'administration, mettez à jour le fichier de configuration pour y inclure le
apigee-mtls
paramètres. - Installer Consul et générer des identifiants:installation
Consul et, éventuellement, l'utiliser pour générer des identifiants TLS (une seule fois).
De plus, modifiez votre fichier de configuration Apigee mTLS pour:
- Ajouter les informations d'identification
- Définir la topologie du cluster
Notez que vous pouvez utiliser vos identifiants existants ou les générer avec Consul.
- Distribuez les identifiants et le fichier de configuration: Distribuer la même paire de certificats/clés générés et le fichier de configuration mis à jour à tous les nœuds dans votre cluster.
- Initialiser apigee-mtls: Initialiser le
apigee-mtls
sur chaque nœud.
Toutes ces étapes sont décrites plus en détail dans les sections suivantes.
Étape 1: Mettez à jour votre fichier de configuration
Cette section explique comment modifier votre fichier de configuration pour inclure la configuration mTLS. propriétés. Pour plus d'informations générales sur le fichier de configuration, consultez Créer une configuration fichier.
Après avoir mis à jour votre fichier de configuration avec les propriétés mTLS, copiez-le dans
tous les nœuds du cluster avant d'initialiser le composant apigee-mtls
sur ces nœuds
nœuds.
Pour mettre à jour le fichier de configuration:
- Sur votre ordinateur, ouvrez le fichier de configuration afin de le modifier.
- Copiez l'ensemble de propriétés de configuration mTLS suivant et collez-le dans la configuration
:
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"
Définissez la valeur de chaque propriété pour qu'elle corresponde à votre configuration.
Le tableau suivant décrit ces propriétés de configuration:
Propriété Description ALL_IP
Liste des adresses IP privées des hôtes de tous les nœuds du cluster, séparées par un espace. L'ordre des adresses IP n'a pas d'importance, sauf qu'il doit être le même dans tous de configuration Terraform dans le cluster.
Si vous configurez Apigee mTLS pour plusieurs centres de données, répertoriez toutes les adresses IP de tous les hôtes de toutes les régions.
LDAP_MTLS_HOSTS
Adresse IP privée de l'hôte du nœud OpenLDAP du cluster. ZK_MTLS_HOSTS
Liste d'adresses IP privées d'hôtes sur lesquels des nœuds ZooKeeper sont hébergés dans le cluster.
Notez que selon les exigences, vous devez spécifier au moins trois nœuds ZooKeeper.
CASS_MTLS_HOSTS
Liste d'adresses IP privées de l'hôte sur lequel les serveurs Cassandra sont hébergés, séparées par un espace dans le cluster. PG_MTLS_HOSTS
Liste d'adresses IP privées des hôtes sur lesquels les serveurs Postgres sont hébergés, séparées par des espaces dans le cluster. RT_MTLS_HOSTS
Une liste d'adresses IP privées des hôtes sur lesquels les routeurs sont hébergés dans le cluster. MTLS_ENCAPSULATE_LDAP
Chiffre le trafic LDAP entre le processeur de messages et le serveur LDAP. Définir sur y
MS_MTLS_HOSTS
Liste d'adresses IP privées des hôtes sur lesquels les nœuds du serveur de gestion sont, séparés par un espace hébergé dans le cluster. MP_MTLS_HOSTS
Liste d'adresses IP privées de l'hôte sur lequel les processeurs de messages sont hébergé dans le cluster. QP_MTLS_HOSTS
Une liste d'adresses IP privées des hôtes sur lesquels les serveurs Qpid sont hébergés, séparés par un espace le cluster. ENABLE_SIDECAR_PROXY
Détermine si Cassandra et Postgres doivent connaître le maillage de services. Vous devez définir cette valeur sur "y".
ENCRYPT_DATA
Clé de chiffrement encodée en base64 utilisée par Consul. Vous avez généré cette clé à l'aide de la méthode consul keygen
à l'étape 2: installez Consul et générer des identifiants.Cette valeur doit être identique sur tous les nœuds du cluster.
PATH_TO_CA_CERT
Emplacement du fichier de certificat sur le nœud. Vous avez généré ce fichier dans Étape 2: Installez Consul et générez des identifiants Cet emplacement doit être le même pour tous les nœuds du cluster afin que de configuration sont identiques.
Le certificat doit être encodé au format X509v3.
PATH_TO_CA_KEY
Emplacement du fichier de clé sur le nœud. Vous avez généré ce fichier dans Étape 2: Installez Consul et générez des identifiants Cet emplacement doit être le même pour tous les nœuds du cluster afin que de configuration sont identiques.
Le fichier de clé doit être encodé au format X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
Le nombre de jours pendant lesquels un certificat est valable générer un certificat personnalisé.
La valeur par défaut est 365. La valeur maximale est de 7 865 jours (cinq ans).
En plus des propriétés répertoriées ci-dessus, Apigee mTLS utilise plusieurs propriétés supplémentaires lorsque vous l'installez dans une configuration multicentre de données. Pour en savoir plus, consultez Configurer plusieurs centres de données
- Assurez-vous que
ENABLE_SIDECAR_PROXY
est défini sur "y". - Mettez à jour les adresses IP dans les propriétés liées à l'hôte. Veillez à utiliser le
private lorsque vous faites référence à chaque nœud, et non aux adresses IP publiques
à vos adresses IP internes.
Lors des étapes suivantes, vous définirez les valeurs des autres propriétés telles que
ENCRYPT_DATA
,PATH_TO_CA_CERT
etPATH_TO_CA_KEY
. Vous ne pas encore définir leurs valeurs.Lorsque vous modifiez les propriétés de configuration de
apigee-mtls
, tenez compte des points suivants:- Toutes les propriétés sont des chaînes. vous devez encapsuler les valeurs de toutes les propriétés devis.
- Si une valeur liée à l'hôte possède plusieurs adresses IP privées, séparez chaque adresse IP. avec un espace.
- Utilisez des adresses IP privées et non des noms d'hôte ou des adresses IP publiques pour toutes les ressources dans le fichier de configuration.
- L'ordre des adresses IP dans une valeur de propriété doit être dans le même ordre dans toutes de configuration Terraform dans le cluster.
- Enregistrez les modifications apportées au fichier de configuration.
Étape 2: Installez Consul et générez des identifiants
Cette section explique comment installer Consul et générer les identifiants utilisés par les composants compatibles mTLS.
Vous devez choisir l'une des méthodes suivantes pour générer vos identifiants:
- (Recommandé) Créez votre propre autorité de certification à l'aide de Consul, comme décrit dans ce section
- Utiliser les identifiants d'une autorité de certification existante avec Apigee mTLS (avancé)
À propos des identifiants
Les identifiants comprennent les éléments suivants:
- Certificate (Certificat) : le certificat TLS
- Clé:clé publique TLS
- Message Gossip:clé de chiffrement encodée en base64
Vous ne générez une version unique de chacun de ces fichiers qu'une seule fois. Copiez ensuite la clé et le certificat à tous les nœuds de votre cluster, puis ajoutez la clé de chiffrement à votre fichier de configuration que vous copiez aussi dans tous les nœuds.
Pour en savoir plus sur l'implémentation du chiffrement dans Consul, consultez les pages suivantes:
Installer Consul et générer des identifiants
Pour générer des identifiants utilisés par Apigee mTLS authentifier des communications sécurisées entre les nœuds de votre cluster Private Cloud, utilisez Binaire Consul . Par conséquent, vous vous devez installer Consul sur votre ordinateur d'administration pour pouvoir générer des identifiants.
Pour installer Consul et générer des identifiants mTLS:
- Sur votre ordinateur, téléchargez le fichier binaire Consul 1.8.0 à partir de la Site Web de HashiCorp
- Extrayez le contenu du fichier d'archive téléchargé. Par exemple, extrayez le contenu
/opt/consul/
- Sur votre machine d'administration, créez une autorité de certification en exécutant la commande
la commande suivante:
/opt/consul/consul tls ca create
Consul crée les fichiers suivants, qui forment une paire de certificat/clé:
consul-agent-ca.pem
(certificat)consul-agent-ca-key.pem
(clé)
Par défaut, les fichiers de certificat et de clé sont encodés en X509v3.
Par la suite, vous copierez ces fichiers sur tous les nœuds du cluster. Pour le moment, vous devez décider uniquement où vous placerez ces fichiers sur les nœuds. Ils doivent être au même endroit emplacement sur chaque nœud. Exemple :
/opt/apigee/
- Dans le fichier de configuration, définissez la valeur de
PATH_TO_CA_CERT
sur l'emplacement sur Vous allez copier le fichierconsul-agent-ca.pem
sur le nœud. Exemple :PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Définissez la valeur de
PATH_TO_CA_KEY
sur l'emplacement où vous allez copier leconsul-agent-ca-key.pem
sur le nœud. Exemple :PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Créez une clé de chiffrement pour Consul en exécutant la commande suivante:
/opt/consul/consul keygen
Consul génère une chaîne aléatoire semblable à celle-ci:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Copiez cette chaîne générée et définissez-la comme valeur de la propriété
ENCRYPT_DATA
dans votre fichier de configuration. Exemple :ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Enregistrez votre fichier de configuration.
L'exemple suivant présente les paramètres associés à mTLS dans un fichier de configuration (avec des exemples ):
... 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" ...
Étape 3: Distribuez le fichier de configuration et les identifiants
Copiez les fichiers suivants sur tous les nœuds à l'aide d'un outil tel que scp
:
- Fichier de configuration:copiez la version mise à jour de ce fichier et remplacez le sur tous les nœuds (pas uniquement sur ceux qui exécutent ZooKeeper).
- consul-agent-ca.pem::copie à l'emplacement que vous avez spécifié en tant que valeur de
PATH_TO_CA_CERT
dans le fichier de configuration. - consul-agent-ca-key.pem::copie à l'emplacement que vous avez spécifié comme valeur de
PATH_TO_CA_KEY
dans le fichier de configuration.
Assurez-vous que les emplacements dans lesquels vous copiez les fichiers de certificat et de clé correspondent aux valeurs que vous dans le fichier de configuration à l'Étape 2: Installez Consul et générez identifiants.
Étape 4: Initialiser apigee-mtls
Après avoir installé apigee-mtls
sur chaque nœud, mis à jour le fichier de configuration et
l'avez copiée et les identifiants associés à tous les nœuds du cluster, vous êtes prêt à initialiser
apigee-mtls
sur chaque nœud.
Pour initialiser apigee-mtls:
- Connectez-vous à un nœud du cluster en tant qu'utilisateur racine. Vous pouvez effectuer ces étapes sur les nœuds dans dans l'ordre de votre choix.
- Attribuez à l'utilisateur
apigee:apigee
le rôle de propriétaire du fichier de configuration mis à jour, en tant que l'exemple suivant montre:chown apigee:apigee config_file
- Configurez le composant
apigee-mtls
en exécutant la commande suivante:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Facultatif) Exécutez la commande suivante pour vérifier que votre configuration a réussi:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Démarrez Apigee mTLS en exécutant la commande suivante:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Après avoir installé Apigee mTLS, vous devez démarrer ce composant avant toute autre composants sur le nœud.
- (Nœuds Cassandra uniquement) Cassandra a besoin d'arguments supplémentaires pour fonctionner dans la
réseau maillé de sécurité. Vous devez donc exécuter les commandes suivantes sur chaque nœud 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
- (Nœuds Postgres uniquement) Postgres nécessite des arguments supplémentaires pour fonctionner
réseau maillé de sécurité. Par conséquent, vous devez effectuer les opérations suivantes sur les nœuds Postgres:
(Principale uniquement)
- Exécutez les commandes suivantes sur le nœud principal 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
(veille uniquement)
- Sauvegardez vos données Postgres existantes. Pour installer Apigee mTLS, vous devez réinitialiser le les nœuds principaux/de secours, ce qui entraîne une perte de données. Pour en savoir plus, consultez Configurez la réplication principale/de secours pour Postgres
- Supprimez toutes les données Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configurez Postgres, puis redémarrez Postgres, comme le montre l'exemple suivant:
/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
Si vous effectuez l'installation dans une topologie multicentre de données, utilisez un chemin d'accès absolu pour la variable fichier de configuration.
- Exécutez les commandes suivantes sur le nœud principal Postgres:
- Démarrez les composants Apigee restants sur le nœud dans le
start order (ordre de départ)
l'exemple suivant montre:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Répétez ce processus pour chaque nœud du cluster.
- (Facultatif) Vérifiez que l'initialisation de
apigee-mtls
a réussi en utilisant un ou plusieurs des méthodes suivantes: <ph type="x-smartling-placeholder">- </ph>
- Valider la configuration d'iptables
- Vérifier l'état du proxy distant
- Vérifier l'état du quorum
Chacune de ces méthodes est décrite dans la section Vérifier votre configuration.
Modifier une configuration apigee-mtls existante
Pour personnaliser une configuration apigee-mtls
existante, vous devez désinstaller et
réinstallez apigee-mtls
. Vous devez également veiller à appliquer votre personnalisation à toutes
nœuds.
Pour rappel, lorsque vous modifiez une configuration Apigee mTLS existante:
- Si vous modifiez un fichier de configuration, vous devez d'abord désinstaller
apigee-mtls
, puis réexécutezsetup
ouconfigure
:# 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
- Vous devez désinstaller et réexécuter
setup
ouconfigure
sur tous les nœuds du et non sur un seul nœud.