Apigee mTLS'yi yapılandırma

Kümenizdeki tüm düğümlere Apigee mTLS'yi yükledikten sonra apigee-mtls bileşenini yapılandırıp başlatmanız gerekir. Bunun için bir sertifika/anahtar çifti oluşturup yönetim makinenizdeki yapılandırma dosyasını güncellemeniz gerekir. Daha sonra, oluşturulan aynı 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'i yapılandırma (ilk yüklemeden sonra)

Bu bölümde, Apigee mTLS'nin ilk yüklemeden hemen sonra nasıl yapılandırılacağı açıklanmaktadır. Mevcut Apigee mTLS yüklemesini güncelleme hakkında bilgi için Mevcut Apigee-mtls yapılandırmasını değiştirme bölümüne bakın.

Bu bölüm, tek bir veri merkezindeki yüklemeler için geçerlidir. Çoklu veri merkezi kurulumunda Apigee mTLS'yi yapılandırma hakkında bilgi edinmek isterseniz Apigee mTLS için birden çok veri merkezi yapılandırma bölümüne göz atın.

apigee-mtls genel yapılandırma işlemi aşağıdaki gibidir:

  1. Yapılandırma dosyanızı güncelleyin: Yönetim makinenizde yapılandırma dosyasını apigee-mtls ayarlarını içerecek şekilde güncelleyin.
  2. Consul'u yükleme ve kimlik bilgileri oluşturma: Consul'u yükleyin ve (isteğe bağlı olarak) TLS kimlik bilgilerini oluşturmak için (yalnızca bir kez) kullanın.

    Ayrıca Apigee mTLS yapılandırma dosyanızı şu şekilde düzenleyin:

    1. Kimlik bilgisi bilgilerini ekleyin
    2. Kümenin topolojisini tanımlama

    Mevcut kimlik bilgilerinizi kullanabileceğinizi veya Consul ile oluşturabileceğinizi unutmayın.

  3. Kimlik bilgilerini ve yapılandırma dosyasını dağıtın: Oluşturulan sertifika/anahtar çiftinin ve güncellenen yapılandırma dosyasının aynısını kümenizdeki tüm düğümlere dağıtın.
  4. Apigee-mtls'i başlatma: 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ıyla ilgili daha fazla genel bilgi için Yapılandırma dosyası oluşturma bölümüne bakın.

Yapılandırma dosyanızı mTLS ile ilgili özelliklerle güncelledikten sonra, bu düğümlerde 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:

  1. Yönetim makinenizde, yapılandırma dosyasını düzenlemek için açın.
  2. 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ızla uyumlu olacak şekilde ayarlayın.

    Aşağıdaki tabloda şu yapılandırma özellikleri açıklanmaktadır:

    Özellik Açıklama
    ALL_IP Kümedeki tüm düğümlerin özel ana makine IP adreslerinin boşlukla ayrılmış bir listesi.

    IP adreslerinin sırası önemli değildir, tek farkı kümedeki tüm yapılandırma dosyalarında aynı olması gerekir.

    Apigee mTLS'yi birden fazla veri merkezi için yapılandırırsanız tüm bölgelerdeki tüm ana makinelerin 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ış bir listesi.

    Gereksinimlere 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ış bir listesi.
    PG_MTLS_HOSTS Kümede Postgres sunucularının barındırıldığı özel ana makine IP adreslerinin boşlukla ayrılmış bir 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 İşleyici 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ış bir listesi.
    MP_MTLS_HOSTS Mesaj İşleyicilerinin 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ış bir listesi.
    ENABLE_SIDECAR_PROXY Cassandra ve Postgres'in hizmet ağının farkında olup olmayacağını belirler.

    Bu değeri "y" olarak ayarlamalısınız.

    ENCRYPT_DATA Consul tarafından kullanılan base64 kodlamalı şifreleme anahtarı. Bu anahtarı, 2. Adım: Consul'u yükleme ve kimlik bilgileri oluşturma bölümünde 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ükleme ve kimlik bilgileri oluşturma 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 olarak kodlanmış olmalıdır.

    PATH_TO_CA_KEY Anahtar dosyasının düğümdeki konumu. Bu dosyayı, 2. Adım: Consul'u yükleme ve kimlik bilgileri oluşturma 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 olarak kodlanmış olmalıdır.

    APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR

    Özel bir sertifika oluşturduğunuzda bir sertifikanın geçerli olacağı gün sayısı.

    Varsayılan değer 365'tir. Maksimum değer 7.865 gündür (5 yıl).

    Apigee mTLS, bir çoklu veri merkezi yapılandırmasına yüklediğinizde yukarıda listelenen özelliklere ek olarak çeşitli ek özellikler kullanır. Daha fazla bilgi için Birden çok veri merkezi yapılandırma bölümünü inceleyin.

  3. ENABLE_SIDECAR_PROXY öğesinin "y" olarak ayarlandığından emin olun.
  4. Ana makineyle ilgili özelliklerde IP adreslerini güncelleyin. Her bir düğüme başvuruda bulunurken genel IP adreslerini değil, özel IP adreslerini kullandığınızdan emin olun.

    Sonraki adımlarda ENCRYPT_DATA, PATH_TO_CA_CERT ve PATH_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ğı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ğer birden fazla özel IP adresine sahipse her IP adresini boşlukla ayırın.
    • Yapılandırma dosyasında ana makineyle ilgili tüm özellikler için ana makine adlarını veya genel IP adreslerini değil, özel IP adreslerini kullanın.
    • Bir mülk değerindeki IP adreslerinin sırası, küme genelindeki tüm yapılandırma dosyalarında aynı sırada olmalıdır.
  5. Yapılandırma dosyasında 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 mTLS özellikli bileşenler tarafından kullanılan kimlik bilgilerinin nasıl oluşturulacağı açıklanmaktadır.

Kimlik bilgilerinizi oluşturmak için aşağıdaki yöntemlerden birini seçmelisiniz:

  • (Önerilir) Bu bölümde açıklandığı şekilde Consul'u kullanarak kendi Sertifika Yetkilinizi (CA) oluşturun.
  • Apigee mTLS ile mevcut bir CA'nın kimlik bilgilerini kullan (gelişmiş)

Kimlik bilgileri hakkında

Kimlik bilgileri aşağıdakilerden oluşur:

  • Sertifika: TLS sertifikası
  • Anahtar: TLS ortak anahtarı
  • Dedikodu mesajı: Base 64 olarak kodlanmış bir şifreleme anahtarı

Bu dosyaların her birinin tek bir sürümünü yalnızca bir kez oluşturursunuz. Daha sonra, anahtarı ve sertifika dosyalarını kümenizdeki tüm düğümlere kopyalar ve şifreleme anahtarını da tüm düğümlere kopyaladığınız yapılandırma dosyanıza eklersiniz.

Consul'un şifreleme uygulaması hakkında daha fazla bilgi edinmek için aşağıdaki sayfaları inceleyebilirsiniz:

Consul'u yükleme ve kimlik bilgileri oluşturma

Apigee mTLS'nin Private Cloud kümenizdeki düğümler arasında güvenli iletişimlerde kimlik doğrulaması yapmak amacıyla kullandığı kimlik bilgilerini oluşturmak için bir yerel Konsol ikili programı kullanın . Kimlik bilgisi oluşturabilmek için öncelikle yönetim makinenize Consul'u yüklemeniz gerekir.

Consul'u yüklemek ve mTLS kimlik bilgilerini oluşturmak için:

  1. Yönetim makinenize, HashiCorp web sitesinden Consul 1.8.0 ikili dosyasını indirin.
  2. İndirilen arşiv dosyasının içeriğini çıkarın. Örneğin, içerikleri /opt/consul/ konumuna çıkarın.
  3. 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 olarak kodlanır.

    Daha sonra bu dosyaları kümedeki tüm düğümlere kopyalayacaksınız. Bununla birlikte, şu anda yalnızca bu dosyaları düğümlerin neresine yerleştireceğinize karar vermeniz gerekiyor. Bunlar her düğümde aynı konumda olmalıdır. Örneğin, /opt/apigee/.

  4. Yapılandırma dosyasında, PATH_TO_CA_CERT değerini, düğümdeki consul-agent-ca.pem dosyasını kopyalayacağınız konuma ayarlayın. Örneğin:
    PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
  5. PATH_TO_CA_KEY değerini, düğümdeki consul-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"
  6. Şu komutu çalıştırarak Consul için şifreleme anahtarı oluşturun:
    /opt/consul/consul keygen

    Consul, aşağıdakine benzer rastgele bir dize oluşturur:

    QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
  7. 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="
  8. Yapılandırma dosyanızı kaydedin.

Aşağıdaki örnekte, bir yapılandırma dosyasındaki mTLS ile ilgili ayarlar gösterilmektedir (örnek değerlerle):

...
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ıp tüm düğümlerde (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_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: Console'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'i başlatma

Her düğüme apigee-mtls eklentisini yükledikten, yapılandırma dosyanızı güncelledikten ve dosyayı ve kimlik bilgilerini kümedeki tüm düğümlere kopyaladıktan sonra, her düğümde apigee-mtls bileşenini başlatmaya hazırsınız.

Apigee-mtls'i başlatmak için:

  1. Kümedeki bir düğümde kök kullanıcı olarak oturum açın. Bu adımları düğümlerde istediğiniz sırada gerçekleştirebilirsiniz.
  2. 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
  3. 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
  4. (İ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
  5. Şu 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.

  6. (Yalnızca Cassandra düğümleri) Cassandra, güvenlik ağı içinde çalışmak için ek bağımsız değişkenlere ihtiyaç duyar. 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
  7. (Yalnızca Postgres düğümleri) Postgres'in güvenlik ağı içinde çalışması için ek bağımsız değişkenler gerekir. Sonuç olarak, Postgres düğümlerinde aşağıdakileri yapmanız gerekir:

    (Yalnızca birincil)

    1. 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 modunda)

    1. Mevcut Postgres verilerinizi yedekleyin. Apigee mTLS'yi yüklemek için birincil/bekleme düğümlerini yeniden başlatmanız gerekir. Böylece veri kaybı yaşanır. Daha fazla bilgi için Postgres için birincil/beklemede çoğaltma ayarlama bölümüne bakın.
    2. Tüm Postgres verilerini silin:
      rm -rf /opt/apigee/data/apigee-postgresql/pgdata
    3. 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 bir yol kullanın.

  8. Düğümde kalan Apigee bileşenlerini başlangıç sırasında aşağıdaki örnekte gösterildiği gibi başlatın:
    /opt/apigee/apigee-service/bin/apigee-service component_name start
  9. Kümedeki her düğüm için bu işlemi tekrarlayın.
  10. (İsteğe bağlı) apigee-mtls Aşağıdaki yöntemlerden birini veya daha fazlasını kullanarak başlatma işleminin başarılı olduğunu doğrulayın:
    1. iptables yapılandırmasını doğrulama
    2. Uzak proxy durumunu doğrulayın
    3. Yeterli çoğunluk durumunu doğrulayın

    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. Özelleştirmenizi tüm düğümlere uyguladığınızdan da emin olmanız gerekir.

Bu noktayı hatırlatmak 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ırıp setup veya configure dosyası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 veya configure uygulamasını sadece tek bir düğümde değil, kümedeki tüm düğümlerde kaldırıp yeniden çalıştırmanız gerekir.