Apigee mTLS'yi kümenizdeki tüm düğümlere yükledikten sonra apigee-mtls
bileşenini yapılandırmanız ve başlatmanız gerekir. Bunu yapmak için bir sertifika/anahtar çifti oluşturup yönetim makinenizdeki yapılandırma dosyasını güncelleyin. Ardından, aynı oluşturulan dosyaları ve yapılandırma dosyasını kümedeki tüm düğümlere dağıtır ve yerel apigee-mtls
bileşenini başlatırsınız.
apigee-mtls'yi yapılandırma (ilk yüklemeden sonra)
Bu bölümde, ilk yüklemeden hemen sonra Apigee mTLS'nin nasıl yapılandırılacağı açıklanmaktadır. Apigee mTLS'nin mevcut bir kurulumunu güncelleme hakkında bilgi için Mevcut bir apigee-mtls yapılandırmasını değiştirme başlıklı makaleyi inceleyin.
Bu bölüm, tek bir veri merkezindeki yüklemeler için geçerlidir. Birden fazla veri merkezi kurulumunda Apigee mTLS'yi yapılandırma hakkında bilgi edinmek için Apigee mTLS için birden fazla veri merkezi yapılandırma başlıklı makaleyi inceleyin.
apigee-mtls
yapılandırmasına ilişkin genel süreç aşağıdaki gibidir:
- Yapılandırma dosyanızı güncelleyin: Yönetim makinenizde, yapılandırma dosyasını
apigee-mtls
ayarlarını içerecek şekilde güncelleyin. - Consul'u yükleyin ve kimlik bilgileri oluşturun: Consul'u yükleyin ve (isteğe bağlı olarak) TLS kimlik bilgileri oluşturmak için kullanın (yalnızca bir kez).
Ayrıca, Apigee mTLS yapılandırma dosyanızı aşağıdaki şekilde düzenleyin:
- Kimlik bilgisi ekleme
- Kümenin topolojisini tanımlama
Mevcut kimlik bilgilerinizi kullanabileceğinizi veya Consul ile oluşturabileceğinizi unutmayın.
- Kimlik bilgilerini ve yapılandırma dosyasını dağıtın: Oluşturulan aynı sertifika/anahtar çiftini ve güncellenen yapılandırma dosyasını kümenizdeki tüm düğümlere dağıtın.
- apigee-mtls'yi başlatın: Her düğümde
apigee-mtls
bileşenini başlatın.
Bu adımların her biri sonraki bölümlerde açıklanmaktadır.
1. adım: Yapılandırma dosyanızı güncelleyin
Bu bölümde, mTLS yapılandırma özelliklerini içerecek şekilde yapılandırma dosyanızı nasıl değiştireceğiniz açıklanmaktadır. Yapılandırma dosyası hakkında daha genel bilgi için Yapılandırma dosyası oluşturma başlıklı makaleyi inceleyin.
Yapılandırma dosyanızı mTLS ile ilgili özelliklerle güncelledikten sonra, bu düğümlerdeki apigee-mtls
bileşenini başlatmadan önce dosyayı kümedeki tüm düğümlere kopyalayın.
Yapılandırma dosyasını güncellemek için:
- Yönetim makinenizde yapılandırma dosyasını düzenlemek üzere açın.
- Aşağıdaki mTLS yapılandırma özelliklerini kopyalayıp yapılandırma dosyasına yapıştırın:
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"
Her özelliğin değerini yapılandırmanızla uyumlu olacak şekilde ayarlayın.
Aşağıdaki tabloda bu yapılandırma özellikleri açıklanmaktadır:
Mülk Açıklama ALL_IP
Kümedeki tüm düğümlerin özel ana makine IP adreslerinin boşlukla ayrılmış listesi. IP adreslerinin sırası önemli değildir. Ancak kümedeki tüm yapılandırma dosyalarında aynı olmalıdır.
Apigee mTLS'yi birden fazla veri merkezi için yapılandırırsanız tüm bölgelerdeki tüm ana makinelerin tüm IP adreslerini listeleyin.
LDAP_MTLS_HOSTS
Kümedeki SymasLDAP düğümünün özel ana makine IP adresi. ZK_MTLS_HOSTS
Kümedeki ZooKeeper düğümlerinin barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi.
Şartlara göre en az üç ZooKeeper düğümü olması gerektiğini unutmayın.
CASS_MTLS_HOSTS
Kümede Cassandra sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. PG_MTLS_HOSTS
Kümedeki Postgres sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. RT_MTLS_HOSTS
Yönlendiricilerin kümede barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. MTLS_ENCAPSULATE_LDAP
İleti işlemci ile LDAP sunucusu arasındaki LDAP trafiğini şifreler. y
olarak ayarlayın.MS_MTLS_HOSTS
Kümede Yönetim Sunucusu düğümlerinin barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. MP_MTLS_HOSTS
Kümede mesaj işlemcilerinin barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. QP_MTLS_HOSTS
Kümede Qpid sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. ENABLE_SIDECAR_PROXY
Cassandra ve Postgres'in hizmet ağı hakkında bilgi sahibi olup olmayacağını belirler. Bu değeri "y" olarak ayarlamanız gerekir.
ENCRYPT_DATA
Consul tarafından kullanılan Base64 kodlu şifreleme anahtarı. Bu anahtarı, 2. adım: Consul'u yükleyin ve kimlik bilgileri oluşturun bölümündeki consul keygen
komutunu kullanarak oluşturmuştunuz.Bu değer, kümedeki tüm düğümlerde aynı olmalıdır.
PATH_TO_CA_CERT
Sertifika dosyasının düğümdeki konumu. Bu dosyayı 2. adım: Consul'u yükleyin ve kimlik bilgilerini oluşturun bölümünde oluşturmuştunuz. Yapılandırma dosyalarının aynı olması için bu konum, kümedeki tüm düğümlerde aynı olmalıdır.
Sertifika, X509v3 kodlu olmalıdır.
PATH_TO_CA_KEY
Anahtar dosyasının düğümdeki konumu. Bu dosyayı 2. adım: Consul'u yükleyin ve kimlik bilgilerini oluşturun bölümünde oluşturmuştunuz. Yapılandırma dosyalarının aynı olması için bu konum, kümedeki tüm düğümlerde aynı olmalıdır.
Anahtar dosyası X509v3 kodlu olmalıdır.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
Özel sertifika oluşturduğunuzda sertifikanın geçerli olduğu gün sayısı.
Varsayılan değer 365'tir. Maksimum değer 7.865 gündür (5 yıl).
Apigee mTLS, yukarıda listelenen özelliklere ek olarak, çoklu veri merkezi yapılandırmasına yüklediğinizde birkaç ek özellik kullanır. Daha fazla bilgi için Birden fazla veri merkezi yapılandırma başlıklı makaleyi inceleyin.
ENABLE_SIDECAR_PROXY
değerinin "y" olarak ayarlandığından emin olun.- Ana makineyle ilgili özelliklerdeki IP adreslerini güncelleyin. Her bir düğüme başvururken genel IP adreslerini değil, özel IP adreslerini kullandığınızdan emin olun.
Sonraki adımlarda
ENCRYPT_DATA
,PATH_TO_CA_CERT
vePATH_TO_CA_KEY
gibi diğer özelliklerin değerlerini ayarlayacaksınız. Değerlerini henüz ayarlamadınız.apigee-mtls
yapılandırma özelliklerini düzenlerken aşağıdakileri göz önünde bulundurun:- Tüm özellikler dizedir. Tüm özelliklerin değerlerini tek veya çift tırnak içine almanız gerekir.
- Bir ana makineyle ilgili değerin birden fazla özel IP adresi varsa her IP adresini boşlukla ayırın.
- Yapılandırma dosyasındaki tüm ana makineyle ilgili özellikler için ana makine adları veya genel IP adresleri yerine özel IP adresleri kullanın.
- Bir özellik değerindeki IP adreslerinin sırası, kümedeki tüm yapılandırma dosyalarında aynı sırada olmalıdır.
- Yapılandırma dosyasındaki değişikliklerinizi kaydedin.
2. adım: Consul'u yükleyin ve kimlik bilgileri oluşturun
Bu bölümde, Consul'u yükleme ve mTLS'nin etkinleştirildiği bileşenler tarafından kullanılan kimlik bilgilerini oluşturma açıklanmaktadır.
Kimlik bilgilerinizi oluşturmak için aşağıdaki yöntemlerden birini seçmeniz gerekir:
- (Önerilir) Bu bölümde açıklandığı gibi Consul'u kullanarak kendi sertifika yetkilinizi (CA) oluşturun.
- Apigee mTLS (gelişmiş) ile mevcut bir CA'nın kimlik bilgilerini kullanma
Kimlik bilgileri hakkında
Kimlik bilgileri şunlardan oluşur:
- Sertifika: TLS sertifikası
- Anahtar: TLS ortak anahtarı
- Gossip mesajı: Base64 kodlu bir şifreleme anahtarı
Bu dosyaların her birinin tek bir sürümünü yalnızca bir kez oluşturursunuz. Ardından, anahtar ve sertifika dosyalarını kümenizdeki tüm düğümlere kopyalarsınız ve şifreleme anahtarını, tüm düğümlere kopyaladığınız yapılandırma dosyanıza eklersiniz.
Consul'un şifreleme uygulaması hakkında daha fazla bilgi için aşağıdakilere bakın:
Consul'u yükleme ve kimlik bilgileri oluşturma
Apigee mTLS'nin Özel Bulut kümenizdeki düğümler arasında güvenli iletişimin kimliğini doğrulamak için kullandığı kimlik bilgilerini oluşturmak üzere yerel bir Consul ikili dosyası kullanın . Bu nedenle, kimlik bilgisi oluşturabilmek için Consul'u yönetim makinenize yüklemeniz gerekir.
Consul'u yüklemek ve mTLS kimlik bilgileri oluşturmak için:
- Yönetim makinenizde, Consul 1.8.0 ikili dosyasını HashiCorp web sitesinden indirin.
- İndirilen arşiv dosyasının içeriğini ayıklayın. Örneğin, içerikleri
/opt/consul/
konumuna çıkarın. - Yönetim makinenizde aşağıdaki komutu çalıştırarak yeni bir sertifika yetkilisi (CA) oluşturun:
/opt/consul/consul tls ca create
Consul, sertifika/anahtar çifti oluşturan aşağıdaki dosyaları oluşturur:
consul-agent-ca.pem
(sertifika)consul-agent-ca-key.pem
(anahtar)
Sertifika ve anahtar dosyaları varsayılan olarak X509v3 kodludur.
Daha sonra bu dosyaları kümedeki tüm düğümlere kopyalayacaksınız. Ancak şu anda bu dosyaları düğümlerde nereye yerleştireceğinize karar vermeniz gerekir. Her düğümde aynı konumda olmalıdırlar. Örneğin,
/opt/apigee/
. - Yapılandırma dosyasında,
PATH_TO_CA_CERT
değerini düğümdekiconsul-agent-ca.pem
dosyasını kopyalayacağınız konuma ayarlayın. Örneğin:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
PATH_TO_CA_KEY
değerini, düğümdekiconsul-agent-ca-key.pem
dosyasını kopyalayacağınız konuma ayarlayın. Örneğin:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Aşağıdaki komutu çalıştırarak Consul için bir şifreleme anahtarı oluşturun:
/opt/consul/consul keygen
Consul, aşağıdakine benzer rastgele bir dize oluşturur:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Oluşturulan bu dizeyi kopyalayın ve yapılandırma dosyanızda
ENCRYPT_DATA
özelliğinin değeri olarak ayarlayın. Örneğin:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Yapılandırma dosyanızı kaydedin.
Aşağıdaki örnekte, bir yapılandırma dosyasındaki mTLS ile ilgili ayarlar (örnek değerlerle birlikte) gösterilmektedir:
... 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" ...
3. adım: Yapılandırma dosyasını ve kimlik bilgilerini dağıtın
scp
gibi bir araç kullanarak aşağıdaki dosyaları tüm düğümlere kopyalayın:
- Yapılandırma dosyası: Bu dosyanın güncellenmiş sürümünü kopyalayın ve tüm düğümlerde (yalnızca ZooKeeper'ı çalıştıran düğümler değil) mevcut sürümün yerine yapıştırın.
- consul-agent-ca.pem: Yapılandırma dosyasında
PATH_TO_CA_CERT
değeri olarak belirttiğiniz konuma kopyalayın. - consul-agent-ca-key.pem: Yapılandırma dosyasında
PATH_TO_CA_KEY
değeri olarak belirttiğiniz konuma kopyalayın.
Sertifika ve anahtar dosyalarını kopyaladığınız konumların, 2. adım: Consul'u yükleyin ve kimlik bilgileri oluşturun bölümündeki yapılandırma dosyasında ayarladığınız değerlerle eşleştiğinden emin olun.
4. adım: apigee-mtls'yi başlatın
apigee-mtls
'yı her düğüme yükledikten, yapılandırma dosyanızı güncelledikten ve dosyayı ile kimlik bilgilerini kümedeki tüm düğümlere kopyaladıktan sonra her düğümde apigee-mtls
bileşenini başlatmaya hazırsınızdır.
apigee-mtls'yi başlatmak için:
- Kümedeki bir düğüme kök kullanıcı olarak giriş yapın. Bu adımları düğümlerde istediğiniz sırayla uygulayabilirsiniz.
- Aşağıdaki örnekte gösterildiği gibi,
apigee:apigee
kullanıcısını güncellenen yapılandırma dosyasının sahibi yapın:chown apigee:apigee config_file
- Aşağıdaki komutu çalıştırarak
apigee-mtls
bileşenini yapılandırın:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (İsteğe bağlı) Kurulumunuzun başarılı olduğunu doğrulamak için aşağıdaki komutu yürütün:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Aşağıdaki komutu çalıştırarak Apigee mTLS'yi başlatın:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Apigee mTLS'yi yükledikten sonra bu bileşeni, düğümdeki diğer bileşenlerden önce başlatmanız gerekir.
- (Yalnızca Cassandra düğümleri) Cassandra'nın güvenlik ağı içinde çalışması için ek bağımsız değişkenler gerekir. Bu nedenle, her Cassandra düğümünde aşağıdaki komutları yürütmeniz gerekir:
/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
- (Yalnızca Postgres düğümleri) Postgres'in güvenlik ağı içinde çalışması için ek bağımsız değişkenler gerekir. Bu nedenle, Postgres düğümlerinde aşağıdakileri yapmanız gerekir:
(Yalnızca birincil)
- Postgres birincil düğümünde aşağıdaki komutları yürütün:
/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
(Yalnızca bekleme)
- Mevcut Postgres verilerinizi yedekleyin. Apigee mTLS'yi yüklemek için birincil/bekleme düğümlerini yeniden başlatmanız gerekir. Bu nedenle veri kaybı yaşanır. Daha fazla bilgi için Postgres için birincil/bekleme replikasyonu ayarlama başlıklı makaleyi inceleyin.
- Tüm Postgres verilerini silme:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Postgres'i yapılandırın ve ardından aşağıdaki örnekte gösterildiği gibi Postgres'i yeniden başlatın:
/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
Birden fazla veri merkezi topolojisine yükleme yapıyorsanız yapılandırma dosyası için mutlak bir yol kullanın.
- Postgres birincil düğümünde aşağıdaki komutları yürütün:
- Aşağıdaki örnekte gösterildiği gibi, düğümdeki kalan Apigee bileşenlerini başlatma sırasına göre başlatın:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Bu işlemi kümedeki her düğüm için tekrarlayın.
- (İsteğe bağlı) Aşağıdaki yöntemlerden birini veya daha fazlasını kullanarak
apigee-mtls
başlatma işleminin başarılı olduğunu doğrulayın:- iptables yapılandırmasını doğrulama
- Uzak proxy durumunu doğrulama
- Yeterli sayıda katılımcı durumunu doğrulama
Bu yöntemlerin her biri Yapılandırmanızı doğrulama bölümünde açıklanmıştır.
Mevcut bir apigee-mtls yapılandırmasını değiştirme
Mevcut bir apigee-mtls
yapılandırmasını özelleştirmek için apigee-mtls
'yı kaldırmanız ve yeniden yüklemeniz gerekir. Ayrıca, özelleştirmenizi tüm düğümlere uyguladığınızdan emin olmanız gerekir.
Bu noktayı tekrar vurgulamak gerekirse, mevcut bir Apigee mTLS yapılandırmasını değiştirirken:
- Bir yapılandırma dosyasını değiştirirseniz önce
apigee-mtls
uygulamasını kaldırmanız vesetup
veyaconfigure
uygulamasını yeniden çalıştırmanız gerekir:# 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
setup
veyaconfigure
komutunu yalnızca tek bir düğümde değil, kümedeki tüm düğümlerde kaldırmanız ve yeniden çalıştırmanız gerekir.