apigee-mtls
bileşenini kümedeki her düğüme yükledikten sonra yapılandırmanız ve başlatmanız gerekir. Bunu, bir sertifika/anahtar çifti oluşturarak ve yönetim makinenizde yapılandırma dosyasını güncelleyerek yapabilirsiniz. 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 yüklemenin hemen ardından tek bir veri merkezi için Apigee mTLS'nin nasıl yapılandırılacağı açıklanmaktadır. Apigee mTLS'nin mevcut kurulumunda güncelleme yapma hakkında bilgi edinmek 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.
Yapılandırmayla ilgili genel süreç şu şekildedir:apigee-mtls
- 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ükleyip kimlik bilgileri oluşturun: 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 bilgisi 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 ilk kullanıma hazır: Her düğümde
apigee-mtls
bileşenini başlatı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, apigee-mtls
bileşenini bu düğümlerde başlatmadan önce dosyayı kümedeki tüm düğümlere kopyalayın.
Yapılandırma dosyasına atıfta bulunan komutlar, her düğümde depolama konumuna bağlı olarak konumunun değişken olduğunu belirtmek için "config_file" parametresini 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 ö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_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 OpenLDAP düğümünün özel ana makine IP adresi. ZK_MTLS_HOSTS
ZooKeeper düğümlerinin kümede barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi.
Gereksinimlere göre en az üç ZooKeeper düğümü olması gerektiğini unutmayın.
CASS_MTLS_HOSTS
Cassandra sunucularının kümede barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. PG_MTLS_HOSTS
Postgres sunucularının kümede barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. RT_MTLS_HOSTS
Kümede yönlendiricilerin barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. MTLS_ENCAPSULATE_LDAP
İleti İşleyen ile LDAP sunucusu arasındaki LDAP trafiğini şifreler. y
olarak ayarlayın.MS_MTLS_HOSTS
Yönetim Sunucusu düğümlerinin kümede barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış listesi. MP_MTLS_HOSTS
Mesaj işleyicilerin kümede 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 örgüsünü bilip bilmeyeceği belirlenir. 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 bilgilerini oluşturun bölümündeki consul keygen
komutunu kullanarak oluşturdunuz.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şturdunuz. 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şturdunuz. 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çerlilik süresi.
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, birden fazla 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 bölümüne bakın.
ENABLE_SIDECAR_PROXY
özelliğinin "y" olarak ayarlandığından emin olun.- Ana makineyle ilgili mülklerdeki IP adreslerini güncelleyin. Her düğümden bahsederken 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. Henüz değerlerini ayarlamadıysanızapigee-mtls
yapı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ğerin birden fazla özel IP adresi varsa her IP adresini boşlukla ayırın.
- Yapılandırma dosyasında, ana makineyle ilgili tüm mülkler için ana makine adları veya genel IP adresleri yerine özel IP adresleri kullanın.
- Bir mülk değerindeki IP adreslerinin sırası, kümedeki tüm yapılandırma dosyalarında aynı olmalıdır.
- Yapılandırma dosyasına yaptığınız 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ığı gibi Consul'u kullanarak kendi CA'nızı oluşturun (önerilen)
- Apigee mTLS ile mevcut bir CA'nın kimlik bilgilerini kullanma (gelişmiş)
Kimlik bilgileri hakkında
Kimlik bilgileri aşağıdakilerden oluşur:
- Sertifika: Her düğümde barındırılan TLS sertifikası
- Anahtar: Her düğümde barındırılan TLS ortak anahtarı
- Dedikodu mesajı: Base64 kodlu bir ş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 kopyalarsınız ve şifreleme anahtarını, tüm düğümlere de kopyaladığınız yapılandırma dosyanıza eklersiniz.
Consul'un şifreleme uygulaması hakkında daha fazla bilgi için aşağıdaki konulara bakın:
Consul'u yükleyin ve kimlik bilgisi oluşturun
Apigee mTLS'nin, Özel Bulut kümenizdeki düğümler arasındaki güvenli iletişimi doğrulamak için kullandığı kimlik bilgilerini oluşturmak üzere yerel bir Consul ikili dosyası 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 dosyasını indirin.
- İndirilen arşiv dosyasının içeriğini ayıklayın. Örneğin, içeriği
/opt/consul/
içine aktarın. - Yönetim makinenizde aşağıdaki komutu yürüterek 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)
Sertifika ve anahtar dosyaları varsayılan olarak X509v3 kodlamalıdır.
Daha sonra bu dosyaları kümedeki tüm düğümlere kopyalayacaksınız. Ancak şu anda bu dosyaları düğümlerde yalnızca 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üğümdeconsul-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 yürüterek Consul için bir şifreleme anahtarı oluşturun:
/opt/consul/consul keygen
Consul, aşağıdakine benzer rastgele bir dize döndürür:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Dizeyi kopyalayıp yapılandırma dosyanızdaki
ENCRYPT_DATA
mülkünün 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ında 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 yalnızca ZooKeeper çalıştıran düğümler değil, tüm düğümlerdeki mevcut sürümü değiştirin.
- 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ükleme ve kimlik bilgileri oluşturma 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 başlatmak için:
- Kök kullanıcı olarak kümedeki bir düğüme giriş yapın. Düğümler üzerinde bu adımları 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
- Şu 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 yürüterek 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ışabilmesi için ek bağımsız değişkenler gerekir. Sonuç olarak, 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ğında çalışması için ek bağımsız değişkenler gerekir. Bu nedenle, Postgres düğümlerinde şunları yapmanız gerekir:
(Yalnızca ana)
- Postgres ana düğümünde şu 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 modu)
- Mevcut Postgres verilerinizi yedekleyin. Apigee mTLS'yi yüklemek için ana/beklemedeki düğümleri yeniden başlatmanız gerekir. Böylece veri kaybı yaşanabilir. Daha fazla bilgi için Postgres için ana/yedek çoğaltma 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üklüyorsanız yapılandırma dosyası için mutlak bir yol kullanın.
- Postgres ana düğümünde şu 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şlatmanın başarılı olduğunu doğrulayın:- iptables yapılandırmasını doğrulama
- Uzaktan proxy durumunu doğrulama
- Çoğunluğun sağlanıp sağlanmadığını doğrulama
Bu yöntemlerin her biri Yapılandırmanızı doğrulama bölümünde açıklanmıştır.
Mevcut 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 belirtmek isteriz:
- Bir yapılandırma dosyasını değiştirirseniz önce
apigee-mtls
'ü kaldırmanız vesetup
veyaconfigure
'yi 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
hizmetini tek bir düğümde değil, kümedeki tüm düğümlerde kaldırıp yeniden çalıştırmanız gerekir.