apigee-mtls bileşenini kümedeki her düğüme yükledikten sonra yapılandırmanız ve ilk kullanıma hazırlamanız gerekir. Bunu yapmak için bir sertifika/anahtar çifti oluşturun ve yönetim makinenizdeki yapılandırma dosyasını güncelleyin. Ardından, oluşturulan aynı dosyaları 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 kurulumdan sonra)
Bu bölümde, ilk kurulumdan hemen sonra tek bir veri merkezi için Apigee mTLS'nin nasıl yapılandırılacağı açıklanmaktadır. Apigee mTLS'nin mevcut bir kurulumunda güncelleme yapma hakkında bilgi için Mevcut bir apigee-mtls yapılandırmasını değiştirme başlıklı makaleyi inceleyin. Birden fazla veri merkezini yapılandırma hakkında bilgi edinmek için Apigee mTLS için birden fazla veri merkezini yapılandırma başlıklı makaleyi inceleyin.
apigee-mtls yapılandırmayla ilgili genel süreç aşağıdaki gibidir:
- Yapılandırma dosyanızı güncelleyin: Yönetim makinenizde, yapılandırma dosyasını
apigee-mtlsayarlarını içerecek şekilde güncelleyin. - Consul'u yükleme ve kimlik bilgileri oluşturma: Consul'u yükleyin ve TLS kimlik bilgilerini oluşturmak için kullanın (yalnızca bir kez).
Ayrıca, Apigee mTLS yapılandırma dosyanızı şu şekilde düzenleyin:
- Kimlik bilgilerini ekleme
- Kümenin topolojisini tanımlama
Mevcut kimlik bilgilerinizi kullanabileceğinizi veya Consul ile oluşturabileceğinizi unutmayın.
- Yapılandırma dosyasını ve kimlik bilgilerini dağıtın: Oluşturulan aynı sertifika/anahtar çiftini ve güncellenmiş yapılandırma dosyasını kümenizdeki tüm düğümlere dağıtın.
- apigee-mtls'yi ilk kullanıma hazırlama: Her düğümde
apigee-mtlsbileşenini ilk kullanıma hazırlayın.
Bu adımların her biri sonraki bölümlerde açıklanmıştır.
1. adım: Yapılandırma dosyanızı güncelleyin
Bu bölümde, yapılandırma dosyanızı mTLS yapılandırma özelliklerini içerecek şekilde 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 dosyasını mTLS ile ilgili özelliklerle güncelledikten sonra, bu düğümlerde apigee-mtls bileşenini başlatmadan önce dosyayı kümedeki tüm düğümlere kopyalarsınız.
Yapılandırma dosyasına referans veren komutlar, her düğümde depoladığınız yere bağlı olarak konumunun değişken olduğunu belirtmek için "config_file" ifadesini kullanır.
Yapılandırma dosyasını güncellemek için:
- Yönetim makinenizde yapılandırma dosyasını açın.
- Aşağıdaki mTLS yapılandırma özellikleri grubunu 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 bir özelliğin değerini yapılandırmanıza uygun şekilde ayarlayın.
Aşağıdaki tabloda bu yapılandırma özellikleri açıklanmaktadır:
Mülk Açıklama ALL_IPKü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ıyorsanız tüm bölgelerdeki tüm ana makinelerin IP adreslerini listeleyin.
LDAP_MTLS_HOSTSKümedeki OpenLDAP düğümünün özel ana makine IP adresi. ZK_MTLS_HOSTSKümede 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_HOSTSKümede Cassandra sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. PG_MTLS_HOSTSKümede Postgres sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. RT_MTLS_HOSTSKümede yönlendiricilerin barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. MTLS_ENCAPSULATE_LDAPMesaj İşleyici ile LDAP sunucusu arasındaki LDAP trafiğini şifreler. yolarak ayarlayın.MS_MTLS_HOSTSYönetim Sunucusu düğümlerinin kümede barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. MP_MTLS_HOSTSKümede Mesaj İşleyicilerin barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. QP_MTLS_HOSTSKümede Qpid sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. ENABLE_SIDECAR_PROXYCassandra ve Postgres'in hizmet ağından haberdar olup olmayacağını belirler. Bu değeri "y" olarak ayarlamanız gerekir.
ENCRYPT_DATAConsul tarafından kullanılan base64 kodlu şifreleme anahtarı . Bu anahtarı, 2. adım: Consul'u yükleyin ve kimlik bilgilerini oluşturun bölümündeki consul keygenkomutunu kullanarak oluşturdunuz.Bu değer, kümedeki tüm düğümlerde aynı olmalıdır.
PATH_TO_CA_CERTDüğümdeki sertifika dosyasının konumu. Bu dosyayı 2. adım: Consul'u yükleme ve kimlik bilgileri oluşturma bölümünde oluşturmuştunuz. Yapılandırma dosyalarının aynı olması için bu konumun kümedeki tüm düğümlerde aynı olması gerekir.
Sertifika, X509v3 kodlu olmalıdır.
PATH_TO_CA_KEYDüğümdeki anahtar dosyasının konumu. Bu dosyayı 2. adım: Consul'u yükleme ve kimlik bilgileri oluşturma 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özelliğinin "y" olarak ayarlandığından emin olun.- Ana makineyle ilgili özelliklerdeki IP adreslerini güncelleyin. Her bir düğüme atıfta bulunurken genel IP adreslerini değil, özel IP adreslerini kullandığınızdan emin olun.
Sonraki adımlarda
ENCRYPT_DATA,PATH_TO_CA_CERTvePATH_TO_CA_KEYgibi diğer özelliklerin değerlerini ayarlayacaksınız. Değerlerini henüz ayarlamayın.apigee-mtlsyapılandırma özelliklerini düzenlerken aşağıdakilere dikkat edin:- Tüm özellikler dizedir. Tüm özelliklerin değerlerini tek veya çift tırnak içine almanız gerekir.
- Ana makineyle ilgili bir değerde birden fazla özel IP adresi varsa her IP adresini boşlukla ayırın.
- Yapılandırma dosyasındaki ana makineyle ilgili tüm özellikler için ana makine adlarını veya herkese açık IP adreslerini değil, özel IP adreslerini kullanın.
- Bir özellik değerindeki IP adreslerinin sırası, kümedeki tüm yapılandırma dosyalarında aynı olmalıdır.
- Yapılandırma dosyasındaki değişiklikleri kaydedin.
2. adım: Consul'u yükleyin ve kimlik bilgileri oluşturun
Bu bölümde, Consul'un nasıl yükleneceği ve kimlik bilgilerinin nasıl oluşturulacağı açıklanmaktadır.
Kimlik bilgileri oluşturmak için aşağıdaki yöntemlerden birini seçmeniz gerekir:
- Bu bölümde açıklandığı şekilde Consul'u kullanarak kendi CA'nızı oluşturun (önerilir).
- Apigee mTLS ile mevcut bir CA'nın kimlik bilgilerini kullanma (gelişmiş)
Kimlik bilgileri hakkında
Kimlik bilgileri şunlardan oluşur:
- Sertifika: Her düğümde barındırılan TLS sertifikası
- Anahtar: Her düğümde barındırılan TLS ortak anahtarı
- Gossip mesajı: Base-64 kodlu şifreleme anahtarı
Bu dosyaların her birinin tek bir sürümünü yalnızca bir kez oluşturursunuz. Anahtar ve sertifika dosyalarını kümenizdeki tüm düğümlere kopyalar ve şifreleme anahtarını yapılandırma dosyanıza eklersiniz. Bu dosyayı da tüm düğümlere kopyalarsınız.
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 Private Cloud kümenizdeki düğümler arasında güvenli iletişimlerin kimliğini doğrulamak için kullandığı kimlik bilgilerini oluşturmak üzere yerel bir Consul ikili programı kullanırsınız. Bu nedenle, kimlik bilgileri oluşturabilmek için önce yönetim makinenize Consul'u yüklemeniz gerekir.
Consul'u yüklemek ve mTLS kimlik bilgilerini oluşturmak için:
- Yönetim makinenizde, HashiCorp web sitesinden Consul 1.6.2 ikili programını indirin.
- İndirilen arşiv dosyasının içeriğini ayıklayın. Örneğin, içerikleri
/opt/consul/dizinine ayıklayı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 olan aşağıdaki dosyaları oluşturur:
consul-agent-ca.pem(sertifika)consul-agent-ca-key.pem(anahtar)
Varsayılan olarak sertifika ve anahtar dosyaları X509v3 kodludur.
Daha sonra bu dosyaları kümedeki tüm düğümlere kopyalayacaksınız. Ancak şu anda yalnızca bu dosyaları düğümlerde nereye koyacağınıza karar vermeniz gerekir. Her düğümde aynı konumda olmalıdırlar. Örneğin,
/opt/apigee/. - Yapılandırma dosyasında,
PATH_TO_CA_CERTdeğerini, düğümdekiconsul-agent-ca.pemdosyasını kopyalayacağınız konuma ayarlayın. Örneğin:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
PATH_TO_CA_KEYdeğerini, düğümdekiconsul-agent-ca-key.pemdosyası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=
- Dizeyi kopyalayın ve yapılandırma dosyanızdaki
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
Aşağıdaki dosyaları, scp gibi bir araç kullanarak ZooKeeper çalıştıran düğümlere kopyalayın:
- Yapılandırma dosyası: Bu dosyanın güncellenmiş sürümünü kopyalayın ve tüm düğümlerdeki (yalnızca ZooKeeper çalıştıran düğümlerde değil) mevcut sürümü değiştirin.
- consul-agent-ca.pem: Yapılandırma dosyasında
PATH_TO_CA_CERTdeğeri olarak belirttiğiniz konuma kopyalayın. - consul-agent-ca-key.pem: Yapılandırma dosyasında
PATH_TO_CA_KEYdeğ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ünde 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
Yapılandırma dosyanızı güncelledikten, dosyayı ve kimlik bilgilerini kümedeki tüm düğümlere kopyaladıktan ve her düğüme apigee-mtls yükledikten sonra her düğümde apigee-mtls bileşenini ilk kullanıma hazırlamaya hazırsınız demektir.
apigee-mtls'yi ilk kullanıma hazırlamak için:
- Kümedeki bir düğüme kök kullanıcı olarak giriş yapın. Düğümlerde bu adımları istediğiniz sırayla uygulayabilirsiniz.
- Aşağıdaki örnekte gösterildiği gibi,
apigee:apigeekullanı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-mtlsbileş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 çalıştırı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ğında çalışması için ek bağımsız değişkenler gerekir. Bu nedenle, her Cassandra düğümünde aşağıdaki komutları çalıştırmanız 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ğında ç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 ana hesap)
- Postgres ana düğümünde aşağıdaki komutları çalıştırı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 ana/bekleme düğümlerini yeniden başlatmanız gerekir. Bu nedenle veri kaybı yaşanır. Daha fazla bilgi için Postgres için ana/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
Çoklu veri merkezi topolojisine yükleme yapıyorsanız yapılandırma dosyası için mutlak yol kullanın.
- Postgres ana düğümünde aşağıdaki komutları çalıştırın:
- Düğümdeki kalan Apigee bileşenlerini, aşağıdaki örnekte gösterildiği gibi 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-mtlsbaşlatma işleminin başarılı olduğunu doğrulayın:- iptables yapılandırmasını doğrulama
- Uzak proxy durumunu doğrulama
- Yeterli çoğunluk 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 uygulamasını kaldırıp yeniden yüklemeniz gerekir.
Mevcut bir Apigee mTLS yapılandırmasını değiştirirken bu noktayı tekrar vurgulamak gerekirse:
- Bir yapılandırma dosyasını değiştirirseniz önce
apigee-mtlsuygulamasını kaldırmanız vesetupveyaconfigurekomutunu 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 fileOR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure - Yalnızca tek bir düğümde değil, kümedeki tüm düğümlerde
setupveyaconfigurekomutunu kaldırıp yeniden çalıştırmanız gerekir.