Cassandra'da yerel mTLS'yi yapılandırma

Giriş

Private Cloud için Edge'in mesaj işlemcileri, yönetim sunucuları ve yönlendiriciler gibi farklı bileşenleri, varsayılan olarak Cassandra düğümlerine düz metin kanalı üzerinden bağlanır. Bu tür kanallarda, Cassandra'ya ve Cassandra'dan gelen veriler açık bir şekilde iletilir. Apigee mTLS, Private Cloud için Edge kümesindeki bileşenler arasındaki iletişime güvenlik ekleyen, Consul hizmet ağına dayalı bir özelliktir. Apigee'nin bu teklifi, istemci bileşenleri ile Cassandra arasındaki iletişim kanalına TLS güvenliği de ekler.

Bu makalede, Apigee'nin sunduğu yeni bir alternatif teklif ele alınmaktadır. Bu teklifte, Edge for Private Cloud'daki istemci bileşenleri ile Cassandra arasındaki iletişim, harici bir hizmet ağı kullanılmadan Cassandra'da yerel olarak bulunan özellikler kullanılarak karşılıklı TLS (diğer adıyla 2 yönlü TLS) üzerinden güvenli hale getirilir.

Yerel mTLS özelliği

Bu makalede açıklanan Cassandra ve istemci bileşenleri arasında mTLS'nin etkinleştirilmesi, Apache Cassandra tarafından yerel olarak sağlanan TLS özelliklerine dayanır. Etkinleştirildiğinde, Cassandra'ya (CQL yerel taşıma bağlantı noktası 9042'de) yapılan istemci bağlantıları, bağlantıların kurulmasına izin vermeden önce istemcilerle 2 yönlü TLS el sıkışması gerçekleştirir. Bu iki yönlü TLS bağlantısı için Cassandra sunucu, Cassandra'ya bağlanan çeşitli istemciler (ör. edge-message-processor, cqlsh aracı vb.) ise istemci olarak işlev görür.

2 yönlü TLS (veya karşılıklı TLS ya da mTLS) için hem Cassandra hem de istemcilerin kendi anahtar depolarıyla ayarlanması gerekir. Her Cassandra düğümünün anahtar deposu kendi anahtarını ve sertifikasını içermelidir. Her istemci uygulamasının anahtar deposu, söz konusu istemcinin anahtarını ve sertifikasını içermelidir. Sertifikaları ve ilişkili zinciri içeren bir güven deposu hem Cassandra'ya hem de istemcilere eklenmelidir. Her Cassandra düğümünün güvenli deposu, istemcilerin sertifikalarını içermeli ve her istemcinin güvenli deposu, tüm Cassandra düğümlerinin sertifikalarını içermelidir. İki yönlü TLS el sıkışmasının genel olarak nasıl çalıştığı hakkında daha fazla bilgi için Apigee'nin İki Yönlü TLS/SSL makalesine göz atabilirsiniz.

Sertifika zincirleme

Genellikle, karşılıklı TLS'de sunucu sertifikaları, istemci sertifikaları, sertifika zincirleri, anahtar depoları ve güven depoları çeşitli şekillerde oluşturulabilir. Aynı durum Cassandra ve istemci yerel mTLS için de geçerlidir. Kuruluşların genellikle özel bulut kümeleri için Edge'i nasıl çalıştırdığı ve oluşturulabilecek benzersiz istemci-Cassandra bağlantı çiftlerinin sayısı göz önünde bulundurulduğunda Apigee, bu özellik için anahtarları ve sertifikaları yapılandırırken aşağıdaki genel yaklaşımı benimsemenizi önerir. Başka yöntemler de kullanılabilir ancak aşağıdaki yöntem, güvenlik ve bakım maliyeti açısından iyi bir denge sağlar.

  1. Kök sertifika ve kök tarafından imzalanmış bir ara anahtar/sertifika çifti edinin. Bu tür anahtarlar ve sertifikalar sizde zaten olabilir. Aksi takdirde, Ek 1'deki adımları kullanarak kendinden imzalı kök ve ara sertifikalar ile anahtarlar oluşturabilirsiniz.

  2. Uygulamaya özel (yaprak) anahtarların ve sertifikaların tümünü imzalamak için yukarıdaki ortak ara anahtarı/sertifikayı kullanın.

1 kümede ortak bir ara anahtar/sertifika olması, her Cassandra ve istemci düğümünde ortak bir güven deposunun (aynı kök ve ara sertifika zincirini içeren) yapılandırılmasını sağlar. Her Cassandra düğümü ve istemci uygulaması, ortak ara anahtar/sertifika tarafından imzalanmış benzersiz bir yaprak anahtarı ve sertifikası alır.

  1. Bir Cassandra düğümünün veya istemci uygulamasının yaprak sertifikasını döndürmek kolaydır.
  2. Ara veya kök sertifikaların döndürülmesi hâlâ oldukça karmaşık bir işlemdir ancak bu tür döndürmelerin sıklığı yaprak sertifikalarının sıklığından çok daha düşüktür.

Farklı özel bulut kümelerinde ortak kök ve ara sertifikaları kullanıp kullanmayacağınıza karar vermek için kuruluşunuzun güvenlik uygulamalarından yararlanın. Alternatif sertifika kurulumları için Ek 2'ye bakabilirsiniz.

Bu makalenin geri kalanında, yukarıdaki anahtar ve sertifika tasarım metodolojisiyle ilgili ayrıntılar verilmektedir.

Sınırlamalar ve uyarılar

Bu özellik için aşağıdaki sınırlamalar geçerlidir.

  • İstemci bileşenleri ile Cassandra arasında yerel mTLS sunan bu teklif, apigee-mtls ile uyumlu DEĞİLDİR. Bu özelliği kullanıyorsanız apigee-mtls'yi kullanamazsınız ve bunun tersi de geçerlidir.
  • İstemci bileşenleri ile Cassandra arasında mTLS'nin etkinleştirilmesi, istemciler ile Cassandra arasında kurulan bağlantılar üzerinde performans açısından bir miktar etki yaratır. Cassandra ve istemciler iletişime başlamadan önce TLS anlaşması yapmaları gerektiğinden, istemcilerin başlatılması veya Cassandra bağlantılarının ölçeklendirilmesi gibi işlemler daha yavaş olabilir. Etki küçük olmalı ve genellikle fark edilmemelidir.
  • Cassandra'da, gelen istemci bağlantılarında mTLS isteğe bağlı olarak zorunlu kılınabilir. Zorlama etkinleştirilebilir ancak Apigee yazılımının yükseltilmesi, TLS özelliklerinin etkinleştirilmesi/devre dışı bırakılması ve belirli sertifika döndürme türleri gibi operasyonel görevler sırasında devre dışı bırakılmalıdır. Daha fazla bilgi için İşlemler ve Yapılandırmalar bölümüne bakın.
  • Sertifikaları yönetmek ve korumak müşterinin sorumluluğundadır.
  • Sertifikaları döndürmenin çeşitli nüansları vardır. Daha fazla bilgi için lütfen Sertifika Döndürme bölümüne bakın.

Yerel mTLS'yi etkinleştirme

Genel olarak, yerel mTLS'yi etkinleştirme işlemi aşağıdaki 3 adımdan oluşur:

  1. Kök sertifika ve ara anahtar/sertifika çifti edinin.
  2. 1 Cassandra düğümünün yaprak anahtar/sertifika çiftini oluşturun, imzalayın, anahtar deposunda saklayın ve Cassandra'yı isteğe bağlı mTLS için yapılandırın. Adımları her Cassandra düğümü için birer birer tekrarlayın.
  3. 1 istemci uygulaması için yaprak anahtarı/sertifika çifti oluşturun, bunu imzalayın, anahtar deposunda saklayın ve istemci uygulamasını mTLS için yapılandırın. Adımları her istemci uygulamasında tek tek tekrarlayın. İstemci uygulamaları:
    1. edge-management-server
    2. edge-message-processor
    3. edge-router

Bu adımlar aşağıda ayrıntılı olarak açıklanmıştır:

Kök ve ara sertifikaları edinme

Kök sertifika ve kök tarafından imzalanmış bir ara anahtar/sertifika çifti edinin. Kuruluşunuzun CA imzalı kök ve ara sertifikasını kullanın veya kendinden imzalı sertifikalar oluşturun. Kök ve ara sertifika zincirini bir güven deposunda saklayın. Faydalı komutlar için Ek 1'e bakın. Sonraki komutlarda, aşağıdaki dosyalara erişiminiz olduğu varsayılır:

  • intermediate.key - yaprak sertifikalarını imzalamak için ara sertifikanın anahtar dosyası
  • intermediate-cert.pem- ara sertifika

Cassandra düğümlerini yapılandırma

  1. Bir Cassandra düğümü seçin
  2. Bir yaprak anahtarı ve sertifika çifti oluşturup ara sertifikayla imzalayın. Anahtarı ve imzalı sertifikayı bir anahtar deposunda saklayın. Aşağıda bir örnek gösterilmiştir:
    
    # Generate Leaf key and csr
    openssl req -newkey rsa:2048 -keyout cass-node1.key -out cass-node1-req.pem -sha256 -days 365 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=yourip/emailAddress=cassnode1@yourorg.com"
    
    # leaf cert signed by intermediate
    openssl x509 -req -in cass-node1-req.pem -CAkey intermediate.key -CA intermediate-cert.pem -days 365 -CAcreateserial -out cass-node1-cert.pem
    
    # keystore packaging leaf key and cert
    openssl pkcs12 -export -clcerts -in cass-node1-cert.pem -inkey cass-node1.key -out cass-node1-keystore.pfx -name nativemtls -password pass:keystorepass

    Anahtar deposu ve güven deposu dosyalarını düğümde belirli bir konuma yerleştirin ve apigee kullanıcısı tarafından erişilebilir olduklarından emin olun.

    cp cass-node1-keystore.pfx /opt/apigee/customer/application/
    cp truststore.pfx /opt/apigee/customer/application/
    
    chown apigee:apigee /opt/apigee/customer/application/cass-node1-keystore.pfx
    chown apigee:apigee /opt/apigee/customer/application/truststore.pfx

  3. Dosya oluşturma veya düzenleme /opt/apigee/customer/application/cassandra.properties. Bu dosyaya aşağıdaki içeriği ekleyin:
    ### Enable Cassandra TLS on CQL connections
    conf_cassandra_client_encryption_enabled=true
    
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=true
    
    ### Keystore details
    conf_cassandra_client_encryption_keystore=/opt/apigee/customer/application/cass-node1-keystore.pfx
    conf_cassandra_client_encryption_keystore_password=keystorepass
    conf_cassandra_server_encryption_store_type=PKCS12
    
    ### Whether to enable 2-way TLS (or mTLS) - true or false
    conf_cassandra_client_encryption_require_client_auth=true
    
    ### When 2-way TLS is enabled, client certificate details need to be provided via a truststore
    conf_cassandra_client_encryption_truststore=/opt/apigee/customer/application/truststore.pfx
    conf_cassandra_client_encryption_truststore_password=trustpass
    conf_cassandra_client_encryption_store_type=PKCS12
    

    Ayrıca, FIPS etkin işletim sistemleri için /opt/apigee/customer/application/cassandra.properties dosyasına aşağıdaki özelliği ekleyin:

    conf_cassandra_client_encryption_protocol=TLSv1.2

    Dosyanın apigee kullanıcısına ait olduğundan ve dosyanın okunabilir olduğundan emin olun:

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  4. Cassandra düğümünü yapılandırma ve yeniden başlatma
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  5. Yukarıdaki adımları her Cassandra düğümünde tek tek tekrarlayın.

İstemci uygulamalarını yapılandırma

Bu bölüm, Cassandra'ya bağlanan aşağıdaki istemci bileşenleri için geçerlidir:

  • edge-management-server
  • edge-message-processor
  • edge-router

  1. Bir istemci bileşeni seçin
  2. Bir yaprak anahtarı ve sertifika çifti oluşturup ara sertifikayla imzalayın. Anahtarı ve imzalı sertifikayı bir anahtar deposunda saklayın. Aşağıda bir örnek gösterilmiştir:
    
    # Generate Leaf key and csr
    openssl req -newkey rsa:2048 -keyout mgmt-node1.key -out mgmt-node1-req.pem -sha256 -days 365 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=yourip/emailAddress=mgmtnode1@yourorg.com"
    
    # leaf cert signed by intermediate
    openssl x509 -req -in mgmt-node1-req.pem -CAkey intermediate.key -CA intermediate-cert.pem -days 365 -CAcreateserial -out mgmt-node1-cert.pem
    
    # keystore packaging leaf key and cert
    openssl pkcs12 -export -clcerts -in mgmt-node1-cert.pem -inkey mgmt-node1.key -out mgmt-node1-keystore.pfx -name nativemtls -password pass:keystorepass
    

    Anahtar deposu ve güven deposu dosyalarını düğümde belirli bir konuma yerleştirin ve apigee kullanıcısı tarafından erişilebilir olduklarından emin olun.

    cp mgmt-node1-keystore.pfx /opt/apigee/customer/application/
    cp truststore.pfx /opt/apigee/customer/application/
    
    chown apigee:apigee /opt/apigee/customer/application/mgmt-node1-keystore.pfx
    chown apigee:apigee /opt/apigee/customer/application/truststore.pfx

  3. Yapılandırdığınız uygulamaya göre yapılandırma dosyası oluşturma ve düzenleme
    Uygulama Yapılandırma dosyası
    Yönetim sunucusu /opt/apigee/customer/application/management-server.properties
    Yönetim işlemcisi /opt/apigee/customer/application/message-processor.properties
    Yönlendirici /opt/apigee/customer/application/router.properties

    Dosyaya aşağıdaki yapılandırmaları ekleyin:

    ### Enable TLS on CQL connections
    conf_cassandra_sslconfig.enable.tls=true
    conf_cassandra_sslconfig.enable.mtls=true
    
    ### Keystore Details
    conf_cassandra_sslconfig.keystore.path=/opt/apigee/customer/application/mgmt-node1-keystore.pfx
    conf_cassandra_sslconfig.keystore.password=keystorepass
    conf_cassandra_sslconfig.keystore.type=PKCS12
    
    ### Truststore Details
    conf_cassandra_sslconfig.truststore.path=/opt/apigee/customer/application/truststore.pfx
    conf_cassandra_sslconfig.truststore.password=trustpass
    conf_cassandra_sslconfig.truststore.type=PKCS12
    

    Yapılandırma dosyasının apigee kullanıcısına ait olduğundan ve bu kullanıcı tarafından okunabildiğinden emin olun.

    chown apigee:apigee configuration file
    
    ### Example:
    chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    

  4. İstemci uygulamasını yeniden başlatın.
    # Configure and restart service:
    apigee-service component configure
    apigee-service component restart
    # Example, to configure and restart message processor application
    apigee-service edge-message-processor configure
    apigee-service edge-message-processor restart
    
  5. İstemci uygulamasında SSL'nin doğru şekilde yapılandırıldığını doğrulamak için ilgili uygulamanın sistem günlüğünde aşağıdaki satırlara benzer günlükleri arayın:

    Cassandra bağlantısına SSL seçenekleri eklendi

  6. Yukarıdaki adımları her istemci uygulamasında tek tek tekrarlayın.

İşlemler ve yapılandırmalar

mTLS'yi zorunlu kılma

Cassandra'da mTLS zorunlu kılınmadığında Cassandra, istemcilerden gelen düz metin bağlantılarını veya iki yönlü TLS el sıkışmasını başarılı bir şekilde gerçekleştirebileceği istemcileri kabul eder. mTLS zorlamasının çalışması için önce Cassandra'da mTLS yapılandırılmalıdır. Aşağıdaki adımları uygulayarak Cassandra'da mTLS zorunluluğu ayarlayabilirsiniz:

  1. Bir Cassandra düğümü seçin
  2. Dosya oluşturma veya düzenleme /opt/apigee/customer/application/cassandra.properties. Bu dosyaya aşağıdaki özelliği ekleyin veya düzenleyin:
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=false
    

    Dosyanın apigee kullanıcısına ait olduğundan ve okunabilir olduğundan emin olun.

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    
  3. Cassandra düğümünü yapılandırma ve yeniden başlatma
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  4. Yukarıdaki adımları her Cassandra düğümünde tek tek tekrarlayın.

Cassandra'da mTLS zorunlu kılındıktan sonra standart Cassandra sorgu aracı cqlsh, Cassandra'ya doğrudan bağlanamaz. cqlsh'i SSL için yapılandırmak üzere yeni bir yaprak anahtar ve sertifika (istemci uygulamaları için yaprak anahtar ve sertifikaya benzer) oluşturun ve aşağıdakileri yapın:

  1. Dosya oluşturma veya düzenleme $HOME/.cassandra/cqlshrc
  2. Dosyaya aşağıdaki içerikleri ekleyin:
    [ssl]
    certfile = /home/admin-user/certs/inter-root.pem
    validate = false
    userkey = /home/admin-user/certs/cqlsh1.key
    usercert = /home/admin-user/certs/cqlsh1-cert.pem
    
    • certfile - Kök ve ara sertifika zincirini içeren sertifika dosyası
    • userkey: cqlsh tarafından kullanılacak istemci anahtarı. Bu, ara sertifikayla oluşturup imzalayabileceğiniz bir yaprak anahtar/sertifika çifti olmalıdır.
    • usercert: cqlsh tarafından kullanılacak istemci sertifikası. Bu, ara sertifikayla oluşturup imzalayabileceğiniz bir yaprak anahtar/sertifika olmalıdır.
  3. cqlsh bağımsız değişkenini sağlarken --ssl komutunu her zamanki gibi çalıştırın. Örnek:
    $  /opt/apigee/apigee-cassandra/bin/cqlsh --ssl X.X.X.X
    Connected to Apigee at X.X.X.X:9042
    [cqlsh 6.0.0 | Cassandra 4.0.13 | CQL spec 3.4.5 | Native protocol v5]
    Use HELP for help.
    cqlsh>
    

Cassandra'da mTLS zorunluluğunu devre dışı bırakma

Cassandra'da mTLS zorunluluğunu devre dışı bırakmak için aşağıdaki adımları uygulayın:

  1. Bir Cassandra düğümü seçin
  2. Dosya oluşturma veya düzenleme /opt/apigee/customer/application/cassandra.properties. Bu dosyaya aşağıdaki özelliği ekleyin veya düzenleyin:
    ### Optional TLS - true or false
    conf_cassandra_client_encryption_optional=true
    

    Dosyanın apigee kullanıcısına ait olduğundan ve bu kullanıcı tarafından okunabildiğinden emin olun.

    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    
  3. Cassandra düğümünü yapılandırma ve yeniden başlatma
    apigee-service apigee-cassandra configure
    apigee-service apigee-cassandra restart
    
  4. Yukarıdaki adımları her Cassandra düğümünde tek tek tekrarlayın.

Yerel mTLS'yi devre dışı bırakma

Yerel mTLS'yi devre dışı bırakmak, yerel mTLS'yi etkinleştirmeye benzer şekilde çok adımlı bir süreçtir. Genel olarak adımlar şunlardır:

  1. Cassandra'da mTLS'nin zorunlu kılınmasını devre dışı bırakın (zorunlu kılınmışsa)
  2. Aşağıdaki istemci uygulamalarının tüm düğümlerinde mTLS'yi tek tek devre dışı bırakın:
    • edge-management-server
    • edge-message-processor
    • edge-router
    1. Yapılandırdığınız uygulamaya göre yapılandırma dosyası oluşturun ve düzenleyin:
      Uygulama Yapılandırma dosyası
      Yönetim sunucusu /opt/apigee/customer/application/management-server.properties
      Yönetim işlemcisi /opt/apigee/customer/application/message-processor.properties
      Yönlendirici /opt/apigee/customer/application/router.properties
    2. Yapılandırma dosyasına aşağıdaki özellikleri ekleyin veya bu özellikleri düzenleyin:
      ### TLS on CQL connections
      conf_cassandra_sslconfig.enable.tls=false
      conf_cassandra_sslconfig.enable.mtls=false
      
    3. Yapılandırma dosyasının apigee kullanıcısına ait olduğundan ve bu kullanıcı tarafından okunabildiğinden emin olun:
      chown apigee:apigee configuration file
      
      ### Example:
      chown apigee:apigee /opt/apigee/customer/application/management-server.properties
    4. İstemci uygulamasını yeniden başlatın:
      
      # Configure and restart service:
      apigee-service component configure
      apigee-service component restart
      
      # Example, to configure and restart message processor application
      apigee-service edge-message-processor configure
      apigee-service edge-message-processor restart
      
    5. #a ile #d arasındaki adımları her istemci uygulamasında tek tek tekrarlayın.
  3. Tüm Cassandra düğümlerinde mTLS'yi tek tek devre dışı bırakın:
    1. Bir Cassandra düğümü seçin.
    2. Dosya oluşturma veya düzenleme /opt/apigee/customer/application/cassandra.properties. Bu dosyaya aşağıdaki özelliği ekleyin veya düzenleyin:
      ### Cassandra TLS on CQL connections
      conf_cassandra_client_encryption_enabled=false
      

      Dosyanın apigee kullanıcısına ait olduğundan ve bu kullanıcı tarafından okunabildiğinden emin olun.

      chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
      
    3. Cassandra düğümünü yapılandırma ve yeniden başlatma
    4. apigee-service apigee-cassandra configure
      apigee-service apigee-cassandra restart
      
    5. #a ile #c arasındaki adımları her Cassandra düğümünde tek tek tekrarlayın.

Sertifika rotasyonları

Yalnızca yaprak sertifikalar için rotasyon (aynı ara ve kök sertifikaları koruma)

İstemci uygulamalarını yapılandırma bölümündeki adımlara benzer adımlar uygulanabilir:

  1. Aynı ara anahtarı/sertifikayı kullanarak bir uygulama için yeni bir yaprak anahtarı/sertifikası oluşturma
  2. Uygulamada, şifre ve anahtar deposu türüyle birlikte yeni yaprak anahtarı/sertifikasının yolunu yapılandırın.
  3. Uygulamayı yeniden başlatın
Kök veya ara sertifikalar için döndürme

Ara veya kök sertifikayı döndürmeyi planlıyorsanız bunu çok adımlı bir işlem olarak yapmanız önerilir:

  1. Kümeniz genelinde Cassandra'nın yerel mTLS'sini devre dışı bırakın.
  2. Yeni kök ve ara sertifikaları kullanarak yepyeni yaprak veya uygulama sertifikaları oluşturun.
  3. Yeni anahtar ve sertifika grubunu kullanarak Cassandra'da yerel mTLS'yi etkinleştirme adımlarını uygulayın.

Genel Apigee İşlemleri

Apigee yazılımını yükseltme, Cassandra düğümlerini ekleme veya kaldırma, veri merkezlerini ekleme veya kaldırma, Cassandra kimlik doğrulamasını etkinleştirme veya devre dışı bırakma gibi genel Apigee işlemlerini gerçekleştirmek için Cassandra'da mTLS'nin zorunlu kılınmadığından emin olun. mTLS'yi zorunlu kıldıysanız bu işlemlere devam etmeden önce zorunlu kılmayı devre dışı bırakın.

Ek 1

Bu ekteki adımlar, kendinden imzalı bir kök ve ara anahtar/sertifika çifti oluşturmak ve bu sertifika zincirini bir güvenli depoya eklemek için uygulanabilir.

Kendinden imzalı kök ve ara sertifikalar oluşturma

# Create self-signed root key and cert
openssl req -x509 -newkey rsa:2048 -keyout root.key -out root-cert.pem -sha256 -days 3650 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=root.yourorg.com/emailAddress=apigeeroot@yourorg.com"

# Create intermediate key and cert (signed by root)
openssl req -newkey rsa:2048 -keyout intermediate.key -out intermediate-req.pem -sha256 -days 3650 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=inter.yourorg.com/emailAddress=apigeeinter@yourorg.com"

openssl x509 -req -in intermediate-req.pem -CAkey root.key -CA root-cert.pem -days 3650 -CAcreateserial -out intermediate-cert.pem

Güven deposu oluşturma

# Merge root and intermediate cert into 1 file
cat intermediate-cert.pem > inter-root.pem
cat root-cert.pem >> inter-root.pem

# Create truststore to be used everywhere
keytool -keystore truststore.pfx -storetype PKCS12 -importcert -file inter-root.pem -keypass trustpass -storepass trustpass -alias nativemtls -noprompt

Ek 2: Alternatif sertifika zinciri kurulumları

Bu makalede, güvenlik ve operasyon kolaylığı arasında denge sağlayan belirli bir sertifika zinciri oluşturma kurulumu önerilse de alternatifler mevcuttur ve aşağıda açıklanmaktadır. Genel ilkelerin çoğu, aşağıdakiler gibi diğer yöntemler için de geçerlidir:

  1. Her Cassandra düğümü veya istemci uygulaması için doğrudan yaprak anahtarlar ve sertifikalar (imzalama kökü veya ara sertifikalar olmadan) Bu durum, sertifika değişimini karmaşık hale getirebilir.
  2. Farklı kullanım alanları için birden fazla kök ve ara küme olması. Örneğin, Cassandra düğümlerinde, Cassandra'nın tüm yaprak sertifikalarının imzalandığı 1 kök/ara sertifika kümesi bulunur. Benzer şekilde, tüm istemci uygulamaları, uygulama yaprak sertifikalarını imzalamak için ayrı bir kök/ara kümesine sahip olabilir. Bu tür kurulumlar uygulanabilir ancak kök/ara sertifika zincirinin uygun güven deposuna eklenmesini gerektirir. Bu örnekte, Cassandra'nın güvenli depoları istemcinin kök/ara sertifikalarını içermeli ve istemci uygulamaları, güvenli depolarında Cassandra düğümlerinin kök/ara zincirine sahip olmalıdır.
  3. Yukarıdakine benzer şekilde, farklı bölgeler için birden fazla kök ve ara sertifika kümesi kullanabilirsiniz ancak tüm bölgelerdeki tüm istemcilerin ve tüm bölgelerdeki tüm sunucuların, yapılandırılmış güvenli depoya ekleyerek tüm kök ve ara zincirlerden haberdar edilmesi gerekir.