Apigee mTLS özelliği, Private Cloud kümesi için Edge'inizdeki bileşenler arasındaki iletişimin güvenliğini sağlar. Hizmet ağını yapılandırmak ve kurmak için endüstri standardında bir yol sunar. Paket yönetimini ve yapılandırma otomasyonunu destekler.
Mimariye genel bakış
Apigee mTLS, bileşenler arasında güvenli iletişim sağlamak için bileşenler arasında güvenli ve karşılıklı kimlik doğrulaması yapılmış TLS bağlantıları oluşturan bir hizmet ağı kullanır.
Aşağıdaki resimde, Apigee mTLS'nin güvenli hale getirdiği 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, aşağıdakiler de dahil olmak üzere kümedeki çoğu bileşen arasındaki bağlantılara güvenlik sağlar:
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 yer alan aşağıdaki Consul hizmetlerinden oluşur:
- Ana makine düğümünde giden iletilere müdahale eden bir çıkış proxy'si. Bu hizmet giden iletileri hedeflerine gönderilmeden önce şifreler.
- Ana makine düğümünde gelen mesajlara müdahale eden bir giriş proxy'si. Bu hizmet, gelen mesajları son hedeflerine göndermeden önce şifresini çözer.
Örneğin, Yönetim Sunucusu Yönlendirici'ye mesaj gönderdiğinde çıkış proxy hizmeti giden mesajı engeller, şifreler ve ardından Yönlendiriciye gönderir. Yönlendiricinin düğümü iletiyi aldığında, giriş proxy hizmeti mesajın şifresini çözer ve iletiyi işleme için Yönlendirici bileşenine iletir.
Tüm bunlar Edge bileşenleri üzerinde şeffaf bir şekilde gerçekleşir. Bu bileşenler, Consul proxy hizmetlerinin gerçekleştirdiği şifreleme ve şifre çözme işleminin farkında değildir.
Ayrıca Apigee mTLS, trafik yönlendirmesini yöneten bir Linux güvenlik duvarı hizmeti olan iptables
yardımcı programını kullanır.
Koşullar
Apigee mTLS'yi yükleyebilmeniz için ortamınızın aşağıdaki gereksinimleri karşılaması gerekir:
- Topolojiyle ilgili gereksinimler
- Yüklü ve etkinleştirilen yardımcı programlar
- Uygun izin düzeyine sahip kullanıcı hesabı
- Yönetim makinesi (önerilir)
- Bağlantı noktası kullanımı
Bu şartların her biri aşağıdaki bölümlerde ayrıntılı olarak açıklanmaktadır.
Topolojiyle ilgili gereksinimler
Apigee mTLS, ortamınızın topolojisinin en az üç Zookeeper düğümü içermesini 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 bölümüne bakın.
Yardımcı programlar/paketler
Apigee mTLS, kurulum işlemine başlamadan önce yönetim makineniz de dahil olmak üzere kümenizdeki her makinede aşağıdaki paketlerin yüklenmesini ve etkinleştirilmesini gerektirir:
Yardımcı program/paket | Açıklama | Kurulumdan Sonra Kaldırılsın mı? |
---|---|---|
base64 |
Yükleme komut dosyalarındaki verileri doğrular. | |
gnu-bash gnu-sed gnu-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 'in yerini alır. |
|
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 bilgilerini ve şifreleme anahtarını oluşturabilmek için Consul paketini yönetim makinesine de yüklersiniz.
apigee-mtls
paketi, kümedeki ZooKeeper düğümlerindeki giriş ve çıkış proxy'leri de dahil olmak üzere Consul sunucularını yükler ve yapılandırır.
Kullanıcı hesabı izinleri
Yüklemeden önce yeni bir kullanıcı hesabı oluşturun veya üst düzey ayrıcalıklara sahip bir hesaba erişiminiz olduğundan emin olun.
Kümedeki her düğümde Apigee mTLS yüklemesini yürüten hesabın şunları yapabilmesi gerekir:
- Apigee bileşenlerini başlatma, durdurma, yeniden başlatma ve başlatma
- Güvenlik duvarı kuralları belirleyin
- Yeni bir işletim sistemi/sistem kullanıcı hesabı oluşturma
systemctl
ile hizmetleri etkinleştirin, devre dışı bırakın, başlatın, durdurun ve maskeleyin
Yönetim makinesi (önerilir)
Apigee, kümenin içinde bu belgede açıklanan çeşitli yönetim görevlerini gerçekleştirebileceğiniz bir düğümünüzün olmasını önerir:
- HashiCorp Consul 1.6.2'yi yükleyin.
- Bir sertifika/anahtar çifti ve dedikodu şifreleme anahtarı oluşturup dağıtın.
- Yapılandırma dosyasını güncelleyin ve dağıtın.
Yönetim makinesini ayarlarken:
- Cihaza root erişiminiz olduğundan emin olun.
- Install Edge Apigee-setup yardımcı programı bölümünde açıklandığı gibi bu dosyadaki
apigee-service
veapigee-setup
yardımcı programlarını indirip yükleyin. - Yönetim makinesinden kümedeki tüm düğümlere erişmek için
scp/ssh
kullanabildiğinizden emin olun. Bu, yapılandırma dosyanızı ve kimlik bilgilerinizi dağıtabilmeniz için gereklidir.
Bağlantı noktası kullanımı ve ataması
Bu bölümde, Apigee mTLS ile Consul iletişimini 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ümedeki apigee-mtls
hizmetini kullanan tüm düğümler, localhost'taki (127.0.0.1) hizmetlerden gelen bağlantılara izin vermelidir. Böylece Consul proxy'leri gelen ve giden mesajları işlerken diğer hizmetlerle iletişim kurabilir.
Bağlantı noktası kullanımı: Konsol 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 Server Bağlantı Noktası | Açıklama | Protokol | Harici mtls-agent'lara izin verin * |
---|---|---|---|---|
Consul Server (ZooKeeper düğümleri) | 8300 |
Kümedeki tüm Consul sunucularını bağlar. | RPC | |
8301 |
Küme içindeki üyelik ve yayın mesajlarını yönetir. | UDP/TCP | ||
8302 |
Çoklu 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 HTTP bağlantılarını işler.
Bu bağlantı noktası uzaktan iletişim veya koordinasyon için kullanılmaz, yalnızca localhost'ta dinleme yapar. |
HTTP | ||
8502 |
Kümedeki diğer düğümlerden Consul Server API'lerine yönelik gRPC+HTTPS bağlantılarını işler. | gRPC+HTTPS | ||
8503 |
Kümedeki diğer düğümlerden Consul Server API'lerine yapılan HTTPS bağlantılarını işler. | HTTPS | ||
8600 |
Consul sunucusunun DNS'sini işler. | UDP/TCP | ||
* Apigee, gelen istekleri yalnızca küme üyeleriyle (veri depoları arası dahil) kısıtlamanı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 tüm küme üyelerine 8301, 8302, 8502 ve 8503 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üğümlerin aşağıdaki aralıklardaki bağlantı noktalarına harici bağlantılara izin vermesi gerekir:
Apigee Bileşeni | Aralık | Düğüm Başına Gerekli Bağlantı Noktası Sayısı |
---|---|---|
Apigee mTLS | 10.700 - 10.799 | 1 |
Cassandra | 10.100-10.199 | 2 |
Mesaj İşleyici | 10.500 - 10.599 | 2 |
OpenLDAP | 10.200-10.299 | 1 |
Postgres | 10.300 - 10.399 | 3 |
Qpid | 10.400-10.499 | 2 |
Yönlendirici | 10.600-10.699 | 2 |
ZooKeeper | 10.000 - 10.099 | 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, kümeye 10300 ve 10301 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 x iki bağlantı noktası).
Aşağıdakileri göz önünde bulundurun:
- Consul proxy'leri, Apigee hizmetleriyle aynı bağlantı noktalarından dinleyemez.
- Consul'un 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, ana makine A'daki A proxy'si 15000 bağlantı noktasında dinlerse B ana makinesindeki B proxy'si 15000 bağlantı noktasında dinleyemez.
- Kullanılan bağlantı noktası 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 makineler ayrıca 8302 numaralı bağlantı noktasını açmalıdır.
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 bölümüne bakın.
Sınırlamalar
Apigee mTLS'de aşağıdaki sınırlamalar mevcuttur:
- Cassandra düğümleri arası iletişimleri (bağlantı noktası 7000) şifrelemez
- Yapılandırma ve kurulum eş değer değil. Bu, bir düğümde bir değişiklik yaparsanız aynı değişikliği tüm düğümlerde yapmanız gerektiği anlamına gelir. Sistem bu değişikliği sizin için başka bir düğümde uygulamaz. Daha fazla bilgi için Mevcut Apigee-mtls yapılandırmasını değiştirme bölümüne bakın.
Terminoloji
Bu bölümde aşağıdaki terminoloji kullanılmıştır:
Terim | Tanım |
---|---|
küme | Private Cloud kurulumu için Edge'inizi oluşturan makine grubu. |
Konsolos | Apigee mTLS tarafından kullanılan hizmet ağı. Consul'un Private Cloud iletişimlerinizin güvenliğini nasıl sağladığı hakkında bilgi için Consul'un Güvenlik Modeli'ne bakın. |
mTLS | Karşılıklı Olarak Doğrulanmış TLS. |
hizmet ağı | Yer paylaşımlı bir ağ (veya ağ içindeki bir ağ). |
TLS | İşlem Katmanı Güvenliği. Güvenli iletişim için endüstri standardı bir kimlik doğrulama protokolüdür. |