Après avoir installé Apigee mTLS sur tous les nœuds de votre cluster, vous devez configurer et initialiser le composant apigee-mtls
. Pour ce faire, générez une paire certificat/clé et mettez à jour le fichier de configuration sur votre machine d'administration. Vous déployez ensuite les mêmes fichiers générés et le même fichier de configuration sur tous les nœuds du cluster, puis vous initialisez le composant apigee-mtls
local.
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 une installation existante d'Apigee mTLS, consultez Modifier une configuration apigee-mtls existante.
Cette section s'applique aux installations dans un seul centre de données. Pour savoir comment configurer Apigee mTLS dans une configuration à plusieurs centres de données, consultez Configurer plusieurs centres de données pour Apigee mTLS.
Voici la procédure générale de configuration de apigee-mtls
:
- Mettez à jour votre fichier de configuration : sur votre machine d'administration, mettez à jour le fichier de configuration pour inclure les paramètres
apigee-mtls
. - Installez Consul et générez des identifiants : installez Consul et (facultativement) utilisez-le pour générer des identifiants TLS (une seule fois).
Modifiez également 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 : Distribuez la même paire certificat/clé générée et le fichier de configuration mis à jour à tous les nœuds de votre cluster.
- Initialiser apigee-mtls : initialisez le composant
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 les propriétés de configuration mTLS. Pour obtenir des informations plus générales sur le fichier de configuration, consultez Créer un fichier de configuration.
Après avoir mis à jour votre fichier de configuration avec les propriétés liées à mTLS, copiez-le sur tous les nœuds du cluster avant d'initialiser le composant apigee-mtls
sur ces nœuds.
Pour mettre à jour le fichier de configuration :
- Sur votre machine d'administration, ouvrez le fichier de configuration pour le modifier.
- Copiez l'ensemble suivant de propriétés de configuration mTLS et collez-les dans le fichier de 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é en fonction de votre configuration.
Le tableau suivant décrit ces propriétés de configuration :
Propriété Description ALL_IP
Liste des adresses IP hôtes privées 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 les fichiers de configuration du cluster.
Si vous configurez Apigee mTLS pour plusieurs centres de données, listez toutes les adresses IP de tous les hôtes dans toutes les régions.
LDAP_MTLS_HOSTS
Adresse IP de l'hôte privé du nœud SymasLDAP dans le cluster. ZK_MTLS_HOSTS
Liste des adresses IP des hôtes privés sur lesquels les nœuds ZooKeeper sont hébergés dans le cluster, séparées par des espaces.
Notez que, conformément aux exigences, il doit y avoir au moins trois nœuds ZooKeeper.
CASS_MTLS_HOSTS
Liste d'adresses IP d'hôtes privés sur lesquels les serveurs Cassandra sont hébergés dans le cluster, séparées par des espaces. PG_MTLS_HOSTS
Liste d'adresses IP d'hôtes privés séparées par des espaces sur lesquelles les serveurs Postgres sont hébergés dans le cluster. RT_MTLS_HOSTS
Liste d'adresses IP d'hôtes privés séparées par des espaces sur lesquelles 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éfini sur y
.MS_MTLS_HOSTS
Liste d'adresses IP d'hôte privées séparées par des espaces sur lesquelles les nœuds du serveur de gestion sont hébergés dans le cluster. MP_MTLS_HOSTS
Liste des adresses IP des hôtes privés sur lesquels les processeurs de messages sont hébergés dans le cluster, séparées par des espaces. QP_MTLS_HOSTS
Liste d'adresses IP d'hôtes privés séparées par des espaces sur lesquelles les serveurs Qpid sont hébergés dans le cluster. ENABLE_SIDECAR_PROXY
Détermine si Cassandra et Postgres doivent être informés du 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 commande consul keygen
dans l'étape 2 : Installer Consul et générer des identifiants.Cette valeur doit être identique pour 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 à l'é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 les fichiers de configuration soient 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 à l'é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 les fichiers de configuration soient identiques.
Le fichier de clé doit être encodé au format X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
Nombre de jours pendant lesquels un certificat est valide lorsque vous générez un certificat personnalisé.
La valeur par défaut est 365. La valeur maximale est de 7 865 jours (5 ans).
En plus des propriétés listées ci-dessus, Apigee mTLS utilise plusieurs propriétés supplémentaires lorsque vous l'installez dans une configuration multidata center. 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 les adresses IP privées lorsque vous faites référence à chaque nœud, et non les adresses IP publiques.
Dans les é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 définissez pas encore leurs valeurs.Lorsque vous modifiez les propriétés de configuration
apigee-mtls
, tenez compte des points suivants :- Toutes les propriétés sont des chaînes. Vous devez placer les valeurs de toutes les propriétés entre guillemets simples ou doubles.
- Si une valeur liée à un hôte comporte plusieurs adresses IP privées, séparez-les par un espace.
- Utilisez des adresses IP privées, et non des noms d'hôte ni des adresses IP publiques, pour toutes les propriétés liées à l'hôte dans le fichier de configuration.
- L'ordre des adresses IP dans une valeur de propriété doit être le même dans tous les fichiers de configuration du 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 avec mTLS.
Vous devez choisir l'une des méthodes suivantes pour générer vos identifiants :
- (Recommandé) Créez votre propre autorité de certification (CA) à l'aide de Consul, comme décrit dans cette section.
- Utiliser les identifiants d'une CA existante avec Apigee mTLS (avancé)
À propos des identifiants
Les identifiants se composent des éléments suivants :
- Certificat : certificat TLS
- Clé : clé publique TLS
- Message Gossip : clé de chiffrement encodée en base64
Vous ne générez qu'une seule version de chacun de ces fichiers. Vous copiez ensuite les fichiers de clé et de certificat sur tous les nœuds de votre cluster, et vous ajoutez la clé de chiffrement à votre fichier de configuration que vous copiez également sur tous les nœuds.
Pour en savoir plus sur l'implémentation du chiffrement de Consul, consultez les ressources suivantes :
Installer Consul et générer des identifiants
Pour générer les identifiants qu'Apigee mTLS utilise pour authentifier les communications sécurisées entre les nœuds de votre cluster Private Cloud, utilisez un binaire Consul local . Par conséquent, vous devez installer Consul sur votre machine d'administration avant de pouvoir générer des identifiants.
Pour installer Consul et générer des identifiants mTLS :
- Sur votre machine d'administration, téléchargez le fichier binaire Consul 1.8.0 depuis le site Web de HashiCorp.
- Extrayez le contenu du fichier d'archive téléchargé. Par exemple, extrayez le contenu vers
/opt/consul/
. - Sur votre machine d'administration, créez une autorité de certification en exécutant la commande suivante :
/opt/consul/consul tls ca create
Consul crée les fichiers suivants, qui forment une paire 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 au format X509v3.
Vous copierez ces fichiers ultérieurement sur tous les nœuds du cluster. Pour le moment, vous devez uniquement décider où placer ces fichiers sur les nœuds. Ils doivent se trouver au même 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 où 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 le fichierconsul-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 montre les paramètres liés à mTLS dans un fichier de configuration (avec des exemples de valeurs) :
... 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 la version existante sur tous les nœuds (et pas seulement ceux qui exécutent ZooKeeper).
- consul-agent-ca.pem: : copiez-le à l'emplacement que vous avez spécifié comme valeur de
PATH_TO_CA_CERT
dans le fichier de configuration. - consul-agent-ca-key.pem: : copiez-le à l'emplacement que vous avez spécifié comme valeur de
PATH_TO_CA_KEY
dans le fichier de configuration.
Assurez-vous que les emplacements où vous copiez les fichiers de certificat et de clé correspondent aux valeurs que vous avez définies dans le fichier de configuration à l'étape 2 : Installez Consul et générez des identifiants.
Étape 4 : Initialiser apigee-mtls
Une fois que vous avez installé apigee-mtls
sur chaque nœud, mis à jour votre fichier de configuration, et copié ce fichier et les identifiants sur tous les nœuds du cluster, vous pouvez initialiser le composant 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 l'ordre de votre choix.
- Définissez l'utilisateur
apigee:apigee
comme propriétaire du fichier de configuration mis à jour, comme le montre l'exemple suivant :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 tout autre composant du nœud.
- (Nœuds Cassandra uniquement) Cassandra nécessite des arguments supplémentaires pour fonctionner dans le maillage de sécurité. Par conséquent, vous devez 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 dans le maillage de sécurité. Par conséquent, vous devez effectuer les opérations suivantes sur les nœuds Postgres :
(Principal 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 les nœuds principal/de secours, ce qui entraînera une perte de données. Pour en savoir plus, consultez Configurer la réplication primaire/de secours pour Postgres.
- Supprimez toutes les données Postgres :
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Configurez Postgres, puis redémarrez-le, comme indiqué dans 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 sur une topologie multidata center, utilisez un chemin d'accès absolu pour le 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 l'ordre de démarrage, comme le montre l'exemple suivant :
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Répétez cette procédure pour chaque nœud du cluster.
- (Facultatif) Vérifiez que l'initialisation de
apigee-mtls
a réussi en utilisant une ou plusieurs des méthodes suivantes :- Valider la configuration iptables
- Vérifier l'état du proxy à distance
- Vérifier l'état du quorum
Chacune de ces méthodes est décrite dans Vérifier votre configuration.
Modifier une configuration apigee-mtls existante
Pour personnaliser une configuration apigee-mtls
existante, vous devez désinstaller et réinstaller apigee-mtls
. Vous devez également veiller à appliquer votre personnalisation à tous les nœuds.
Pour réitérer ce point, lorsque vous modifiez une configuration Apigee mTLS existante :
- Si vous modifiez un fichier de configuration, vous devez d'abord désinstaller
apigee-mtls
et réexécutersetup
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 cluster, et pas seulement sur un seul nœud.