Apigee mTLS'yi yapılandırma

Apigee mTLS'yi kümenizdeki tüm düğümlere yükledikten sonra apigee-mtls bileşenini yapılandırmanız ve başlatmanız gerekir. Bunu, bir sertifika/anahtar çifti oluşturarak ve yönetim makinenizdeki yapılandırma dosyasını güncelleyerek yapabilirsiniz. Ardından, 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'yi yapılandırma (ilk kurulumdan sonra)

Bu bölümde, Apigee mTLS'nin ilk kurulumdan hemen sonra nasıl yapılandırılacağı açıklanmaktadır. Mevcut bir Apigee mTLS kurulumunu güncelleme hakkında bilgi edinmek için Mevcut bir apigee-mtls yapılandırmasını değiştirme başlıklı makaleyi inceleyin.

Bu bölüm, tek bir veri merkezindeki kurulumlar için geçerlidir. Birden fazla veri merkezi kurulumunda Apigee mTLS'yi 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'yi yapılandırmayla ilgili genel süreç 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ükleyip kimlik bilgileri oluşturun: Consul'u yükleyin ve (isteğe bağlı olarak) TLS kimlik bilgileri oluşturmak için kullanın (yalnızca bir kez).

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

    1. Kimlik bilgisi bilgilerini ekleme
    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 aynı sertifika/anahtar çiftini ve güncellenmiş yapılandırma dosyasını kümenizdeki tüm düğümlere dağıtın.
  4. apigee-mtls'yi başlatın: Her düğümde apigee-mtls bileşenini başlatın.

Bu adımların her biri sonraki bölümlerde açıklanmaktadı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 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.

yüklenmesi sırasında sorunlara neden olabilir.

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 özelliklerini 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 mülkün değerini yapılandırmanıza uygun olacak ş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. Bununla birlikte, 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.

    Şartlara 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 Kümede Yönetim Sunucusu düğümlerinin 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 merkezini yapılandırma başlıklı makaleyi inceleyin.

  3. ENABLE_SIDECAR_PROXY değerinin "y" olarak ayarlandığından emin olun.
  4. 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 ve PATH_TO_CA_KEY gibi diğer özelliklerin değerlerini ayarlayacaksınız. Henüz değerlerini ayarlamadıysanız

    apigee-mtls yapılandırma özelliklerini düzenlerken aşağıdakileri göz önünde bulundurun:

    • 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 herkese açık 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.
  5. 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 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çmeniz gerekir:

  • (Önerilir) Bu bölümde açıklandığı gibi Consul'u kullanarak kendi sertifika yetkilinizi (CA) oluşturun
  • 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: TLS sertifikası
  • Anahtar: 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. Ardından, anahtar ve sertifika dosyalarını kümenizdeki tüm düğümlere kopyalayın ve şifreleme anahtarını yapılandırma dosyanıza ekleyin. Bu dosyayı da tüm düğümlere kopyalayın.

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, Özel Bulut kümenizdeki düğümler arasındaki güvenli iletişimleri doğrulamak için kullandığı kimlik bilgilerini oluşturmak üzere yerel bir Consul ikili dosyası kullanın . Bu nedenle, kimlik bilgileri oluşturabilmek için Consul'u yönetim makinenize yüklemeniz gerekir.

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

  1. Yönetim makinenizde, HashiCorp web sitesinden Consul 1.8.0 ikili dosyasını indirin.
  2. İndirilen arşiv dosyasının içeriğini ayıklayın. Örneğin, içeriği /opt/consul/ içine aktarın.
  3. 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 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 kodlamalıdır.

    Daha sonra bu dosyaları kümedeki tüm düğümlere kopyalayacaksınız. Ancak şu anda yalnızca bu dosyaları düğümlerin neresine yerleştireceğinize karar vermeniz gerekir. Her düğümde aynı konumda olmalıdırlar. Ö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üğümde 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. 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=
  7. Oluşturulan bu 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="
  8. 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

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ı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ğerini belirterek belirttiğiniz konuma kopyalayın.
  • consul-agent-ca-key.pem: Yapılandırma dosyasında PATH_TO_CA_KEY değerini belirterek belirttiğiniz konuma kopyalayın.

Sertifika ve anahtar dosyalarını kopyaladığınız konumların, 2. Adım: Consul'u yükleyin ve kimlik bilgilerini oluşturun bölümündeki yapılandırma dosyasında belirlediğiniz değerlerle eşleştiğinden emin olun.

4. adım: apigee-mtls'yi başlatın

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

apigee-mtls'yi başlatmak için:

  1. Kök kullanıcı olarak kümedeki bir düğüme giriş yapı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üncellenmiş 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. 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.

  6. (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
  7. (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 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 modu)

    1. Mevcut Postgres verilerinizi yedekleyin. Apigee mTLS'yi yüklemek için birincil/bekleme düğümlerini yeniden başlatmanız gerekir. Bu nedenle veri kaybı yaşanır. Daha fazla bilgi için Postgres için birincil/yedek kopyalama ayarlama başlıklı makaleyi inceleyin.
    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

    Birden fazla veri merkezi topolojisine yüklüyorsanız yapılandırma dosyası için mutlak bir yol kullanın.

  8. 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
  9. Bu işlemi kümedeki her düğüm için tekrarlayın.
  10. (İ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:
    1. iptables yapılandırmasını doğrulama
    2. Uzaktan proxy durumunu doğrulama
    3. Ç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 bir apigee-mtls yapılandırmasını değiştirme

Mevcut bir apigee-mtls yapılandırmasını özelleştirmek için apigee-mtls'yi kaldırıp yeniden yüklemeniz gerekir. Ayrıca, özelleştirmenizi tüm düğümlere uyguladığınızdan emin olmanız 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 ve setup veya configure'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 veya configure'ı yalnızca tek bir düğümde değil, kümedeki tüm düğümlerde kaldırıp yeniden çalıştırmanız gerekir.