Edge for Private Cloud 4.19.01 sürümü
Apigee mTLS özelliği, Edge for Private Cloud kümenizdeki bileşenler arasındaki iletişimlere güvenlik ekler.
Mimariye genel bakış
Apigee mTLS, bileşenler arasında güvenli iletişim sağlamak için bileşenler arasında güvenli, karşılıklı kimlik doğrulamalı TLS bağlantıları oluşturan bir hizmet ağı kullanır.
Aşağıdaki resimde, Apigee mTLS'nin güvenliğini sağladığı Apigee bileşenleri arasındaki bağlantılar (in red) gösterilmektedir. Resimde gösterilen bağlantı noktaları örnektir. Her bileşenin kullanabileceği aralıkların listesi için Bağlantı noktası kullanımı bölümüne bakın.

("M" ile belirtilen bağlantı noktalarının bileşeni yönetmek için kullanıldığını ve Yönetim Sunucusu'nun erişebilmesi için bileşende açık olması gerektiğini unutmayın.)
Yukarıdaki şemada görebileceğiniz gibi Apigee mTLS, kümedeki çoğu bileşen arasındaki bağlantılara güvenlik ekler. Bu bileşenler şunlardır:
| Kaynak | Hedef | |
|---|---|---|
| Yönetim Sunucusu | Yönlendirici, MP, QPid, LDAP, Postgres, Zookeeper ve Cassandra düğümleri | |
| Yönlendirici | Loopback; Qpid, Zookeeper ve Cassandra düğümleri | |
| Mesaj İşleyici | Loopback; Qpid, Zookeeper ve Cassandra düğümleri | |
| ZooKeeper ve Cassandra | Diğer Zookeeper ve Cassandra düğümleri | |
| Edge kullanıcı arayüzü | SMTP (yalnızca harici IdP için) | |
| Postgres | Diğer Postgres, Zookeeper ve Cassandra düğümleri |
İleti şifreleme/şifre çözme
Apigee mTLS hizmet ağı, kümenizdeki her ZooKeeper düğümünde çalışan Consul sunucularından ve kümedeki her düğümde bulunan aşağıdaki Consul hizmetlerinden oluşur:
- Ana makine düğümünde giden mesajları yakalayan bir çıkış proxy'si. Bu hizmet, giden mesajları hedeflerine göndermeden önce şifreler.
- Ana makine düğümünde gelen mesajları yakalayan bir giriş proxy'si. Bu hizmet, gelen mesajların şifresini çözerek nihai hedeflerine gönderir.
Örneğin, Yönetim Sunucusu Yönlendirici'ye bir mesaj gönderdiğinde çıkış proxy hizmeti giden mesajı yakalar, şifreler ve ardından Yönlendirici'ye gönderir. Yönlendirici'nin düğümü mesajı aldığında giriş proxy hizmeti mesajın şifresini çözer ve ardından işlenmek üzere Yönlendirici bileşenine iletir.
Tüm bunlar Edge bileşenleri için şeffaf bir şekilde gerçekleşir: Consul proxy hizmetleri tarafından gerçekleştirilen şifreleme ve şifre çözme işlemlerinden haberdar olmazlar.
Ayrıca Apigee mTLS, trafik yönlendirmeyi yöneten bir Linux güvenlik duvarı hizmeti olan iptables yardımcı programını kullanır.
Şartlar
Apigee mTLS, hizmet ağını yapılandırmak ve yüklemek için endüstri standardı bir yöntem sunar. Paket yönetimini ve yapılandırma otomasyonunu destekler.
Consul proxy hizmetleri, her bir işlem için bağlantı noktası atamaları olarak sıkı bir şekilde bağlı olduğundan bir düğümde yapılan değişiklik diğer tüm düğümleri etkiler. Bu nedenle, topolojiniz değişirse kümedeki her düğümde hizmetleri yeniden yapılandırmanız ve yeniden başlatmanız gerekir.
Apigee mTLS'yi yükleyebilmeniz için ortamınızın bu bölümde açıklanan aşağıdaki koşulları karşılaması gerekir.
Bu şartlar şunları içerir:
- Edge for Private Cloud sürümü
- Yüklü ve etkinleştirilmiş bir dizi yardımcı program
- Uygun düzeyde izinlere sahip bir kullanıcı hesabı
- Yönetim makinesi (önerilir)
Edge for Private Cloud şartları
Apigee mTLS, Private Cloud için Edge'in aşağıdaki sürümünü destekler (ancak OS gereksinimleri bölümünde açıklandığı gibi desteklenen tüm platformlarda desteklenmez):
- 4.19.06
- 4.19.01
Apigee mTLS, Private Cloud kümenizin en az üç Zookeeper düğümü içeren bir topoloji kullanmasını gerektirir. Sonuç olarak, Apigee mTLS'yi yalnızca 5, 9, 12 (çoklu veri merkezi) veya 13 düğüm kullanan topolojilere yükleyebilirsiniz. Daha fazla bilgi için Yükleme topolojileri başlıklı makaleyi inceleyin.
İşletim sistemi gereksinimleri
Apigee mTLS, Private Cloud kümeniz için aşağıdaki platformları destekler (mTLS için desteklenen işletim sistemi, Private Cloud sürümüne bağlıdır):
| İşletim Sistemi | Desteklenen Private Cloud Sürümü | ||
|---|---|---|---|
| v4.19.06 | v4.50.00 | v4.51.00 | |
| CentOS RedHat Enterprise Linux (RHEL) Oracle Linux |
7.5, 7.6, 7.7 | 7.5, 7.6, 7.7, 7.8, 7.9 | 7.5, 7.6, 7.7, 7.8, 7.9, 8.0 |
Yardımcı programlar/paketler
Apigee mTLS, yükleme işlemine başlamadan önce yönetim makineniz de dahil olmak üzere kümenizdeki her makinede aşağıdaki paketlerin yüklü ve etkin olmasını gerektirir:
| Yardımcı program/paket | Açıklama | Yükleme işleminden sonra kaldırılabilir mi? |
|---|---|---|
base64 |
Yükleme komut dosyalarındaki verileri doğrular. | |
gnu-bashgnu-sedgnu-grep |
Yükleme komut dosyası ve diğer yaygın araçlar tarafından kullanılır. | |
iptables |
Varsayılan güvenlik duvarı olan firewalld değiştirilir. |
|
iptables-services |
iptables yardımcı programına işlevsellik sağlar. |
|
lsof |
Yükleme komut dosyası tarafından kullanılır. | |
nc |
iptables rotayı doğrular. |
|
openssl |
İlk önyükleme işlemi sırasında sertifikaları yerel olarak imzalar. |
Yükleme sırasında, kimlik bilgileri ve şifreleme anahtarı oluşturabilmek için yönetim makinesine Consul paketini de yüklersiniz.
apigee-mtls paketi, kümedeki ZooKeeper düğümlerinde giriş ve çıkış proxy'leri de dahil olmak üzere Consul sunucularını yükleyip yapılandırır.
Kullanıcı hesabı izinleri
Kümedeki her düğümde Apigee mTLS yüklemesini yürüten hesap şunları yapabilmelidir:
- Apigee bileşenlerini başlatma, durdurma, yeniden başlatma ve ilk kullanıma hazırlama
- Güvenlik duvarı kurallarını ayarlama
- Yeni bir işletim sistemi/sistem kullanıcı hesabı oluşturma
systemctlile hizmetleri etkinleştirme, devre dışı bırakma, başlatma, durdurma ve maskeleme
Yönetim makinesi (önerilir)
Apigee, kümede bu dokümanda açıklanan çeşitli görevleri gerçekleştirmek için kullanabileceğiniz bir düğüm bulundurmanızı önerir. Bu görevler arasında şunlar yer alır:
- HashiCorp Consul 1.6.2'yi yükleyin.
- Sertifika/anahtar çifti ve dedikodu şifreleme anahtarı oluşturup dağıtın.
- Yapılandırma dosyasını güncelleyip dağıtın.
Yönetim makinesinde şunlar gereklidir:
- Edge apigee-setup yardımcı programını yükleme bölümünde açıklandığı gibi
apigee-serviceveapigee-setupyardımcı programlarını indirip yüklediniz. - Kümedeki tüm düğümlere
scp/ssherişimi vardır. Yapılandırma dosyanızı ve kimlik bilgilerinizi dağıtmak için kümedeki tüm ana makinelerescp/ssherişiminiz olmalıdır. - Yönetim makinesine root erişiminiz olmalıdır.
Bağlantı noktası kullanımı ve ataması
Bu bölümde, Apigee mTLS ile Consul iletişimlerini desteklemek için bağlantı noktası kullanımı ve bağlantı noktası atamaları açıklanmaktadır.
Bağlantı noktası kullanımı: apigee-mtls çalıştıran tüm düğümler
Kümede apigee-mtls hizmetini kullanan tüm düğümler, yerel ana makinedeki (127.0.0.1) hizmetlerden gelen bağlantılara izin vermelidir. Bu sayede Consul proxy'leri, gelen ve giden mesajları işlerken diğer hizmetlerle iletişim kurabilir.
Bağlantı noktası kullanımı: Consul sunucu düğümleri (ZooKeeper çalıştıran düğümler)
Kümedeki tüm düğümlerden gelen istekleri kabul etmek için Consul sunucu düğümlerinde (ZooKeeper çalıştıran düğümler) aşağıdaki bağlantı noktalarının çoğunu açmanız gerekir:
| Düğüm | Consul sunucu bağlantı noktası | Açıklama | Protokol | Harici mtls-agents'a izin ver * |
|---|---|---|---|---|
| Consul Server (ZooKeeper düğümleri) | 8300 |
Kümedeki tüm Consul sunucularını bağlar. | TBG | |
8301 |
Küme içindeki üyelik ve yayın mesajlarını işler. | UDP/TCP | ||
8302 |
Birden çok veri merkezi yapılandırmasında üyelik ve yayın mesajlarını işleyen WAN bağlantı noktası. | UDP/TCP | ||
8500 |
Aynı düğümdeki işlemlerden Consul Server API'lerine yapılan HTTP bağlantılarını yönetir.
Bu bağlantı noktası, uzaktan iletişim veya koordinasyon için kullanılmaz; yalnızca yerel ana makinede dinleme yapar. |
HTTP | ||
8502 |
Kümedeki diğer düğümlerden Consul Server API'lerine gRPC+HTTPS bağlantılarını yönetir. | gRPC+HTTPS | ||
8503 |
Kümedeki diğer düğümlerden Consul Server API'lerine yapılan HTTPS bağlantılarını yönetir. | HTTPS | ||
8600 |
Consul sunucusunun DNS'sini yönetir. | UDP/TCP | ||
* Apigee, gelen istekleri yalnızca küme üyeleriyle (veri depoları arası dahil) sınırlamanızı önerir. Bunu iptables ile yapabilirsiniz.
|
||||
Bu tabloda gösterildiği gibi, consul-server bileşenini çalıştıran düğümler (ZooKeeper düğümleri), veri merkezleri arasında bile apigee-mtls hizmetini çalıştıran kümenin tüm üyelerine 8301, 8302, 8502 ve 8503 numaralı bağlantı noktalarını açmalıdır. ZooKeeper çalıştırmayan düğümlerin bu bağlantı noktalarını açması gerekmez.
Tüm Consul düğümleri için bağlantı noktası atamaları (ZooKeeper çalıştıran düğümler dahil)
Consul iletişimlerini desteklemek için aşağıdaki Apigee bileşenlerini çalıştıran düğümler, aşağıdaki aralıklardaki bağlantı noktalarına harici bağlantılara izin vermelidir:
| Apigee Bileşeni | Aralık | Düğüm Başına Gerekli Bağlantı Noktası Sayısı |
|---|---|---|
| Apigee mTLS | 10700 - 10799 | 1 |
| Cassandra | 10100 - 10199 | 2 |
| Mesaj İşleyici | 10500 - 10599 | 2 |
| OpenLDAP | 10200 - 10299 | 1 |
| Postgres | 10300 - 10399 | 3 |
| Qpid | 10400-10499 | 2 |
| Yönlendirici | 10600 - 10699 | 2 |
| ZooKeeper | 10001-10099 | 3 |
Consul, bağlantı noktalarını basit ve doğrusal bir şekilde atar. Örneğin, kümenizde iki Postgres düğümü varsa ilk düğüm iki bağlantı noktası kullanır. Bu nedenle Consul, bu düğüme 10300 ve 10301 numaralı bağlantı noktalarını atar. İkinci düğüm de iki bağlantı noktası kullandığından Consol bu düğüme 10302 ve 10303'ü atar. Bu, tüm bileşen türleri için geçerlidir.
Gördüğünüz gibi, gerçek bağlantı noktası sayısı topolojiye bağlıdır: Kümenizde iki Postgres düğümü varsa dört bağlantı noktası açmanız gerekir (iki düğüm çarpı iki bağlantı noktası).
Aşağıdakileri göz önünde bulundurun:
- Consul proxy'leri, Apigee hizmetleriyle aynı bağlantı noktalarını dinleyemez.
- Consul'da yalnızca bir bağlantı noktası adres alanı vardır. Consul proxy bağlantı noktası atamaları, veri merkezleri de dahil olmak üzere küme genelinde benzersiz olmalıdır. Yani, A ana makinesindeki A proxy'si 15000 numaralı bağlantı noktasını dinliyorsa B ana makinesindeki B proxy'si 15000 numaralı bağlantı noktasını dinleyemez.
- Kullanılan bağlantı noktalarının sayısı, daha önce açıklandığı gibi topolojiye göre değişir.
Çoklu veri merkezi yapılandırmasında, mTLS çalıştıran tüm ana makinelerin 8302 numaralı bağlantı noktasını da açması gerekir.
Apigee mTLS'nin kullandığı varsayılan bağlantı noktalarını özelleştirebilirsiniz. Bunun nasıl yapılacağı hakkında bilgi edinmek için Proxy bağlantı noktası aralığı özelleştirmesi başlıklı makaleyi inceleyin.
Sınırlamalar
Apigee mTLS'de aşağıdaki sınırlamalar vardır:
- Düğümler arası Cassandra iletişimlerini (7000 numaralı bağlantı noktası) şifrelemez.
- Yapılandırma ve kurulum idempotent değildir. Yani bir düğümde değişiklik yaparsanız aynı değişikliği tüm düğümlerde yapmanız gerekir. Sistem bu değişikliği algılayıp diğer düğümlere uygulamaz. Daha fazla bilgi için Mevcut bir apigee-mtls yapılandırmasını değiştirme başlıklı makaleyi inceleyin.
Terminoloji
Bu bölümde aşağıdaki terminoloji kullanılmaktadır:
| Terim | Tanım |
|---|---|
| cluster | Özel Bulut için Edge kurulumunuzu oluşturan makine grubu. |
| Consul | Apigee mTLS tarafından kullanılan hizmet ağı. Consul'un Private Cloud iletişimlerinizin güvenliğini nasıl sağladığı hakkında bilgi edinmek için Consul'un Güvenlik Modeli'ni inceleyin. |
| mTLS | Karşılıklı Kimlik Doğrulamalı TLS. |
| hizmet ağı | Yer paylaşımlı ağ (veya ağ içinde ağ). |
| TLS | Taşıma Katmanı Güvenliği. Güvenli iletişim için endüstri standardı bir kimlik doğrulama protokolü. |