Düğüm arası (veya düğümden düğüme) şifreleme, bir kümedeki düğümler arasında seyahat eden verileri korur. daha hızlı teslim edilmesine yardımcı olur. Bu sayfada, Private Cloud'a gidin. Bu adımları uygulamak için Cassandra'nızın ayrıntılarını bilmeniz gerekir. zili çaldır.
Cassandra düğümler arası şifrelemeyi etkinleştir
Cassandra internode şifrelemesini etkinleştirmek için şu adımları uygulayın:
Ek'te yer alan adımları uygulayarak sunucu sertifikaları oluşturun. kendinden imzalı anahtar oluşturmak için ve sertifika.
Aşağıdaki adımlarda,
keystore.node0
oluşturduğunuz varsayılır vetruststore.node0
, Ayrıca, Ek'te açıklandığı şekilde anahtar deposu ve güven deposu şifrelerini de içerir. Devam etmeden önce her düğümde ön adım olarak anahtar deposu ve güven deposu oluşturulmalıdır. adımlarla devam edin./opt/apigee/customer/application/cassandra.properties
alanına aşağıdaki özellikleri ekleyin dosyası olarak kaydedebilirsiniz. Dosya yoksa, oluşturun.conf_cassandra_internode_encryption=all conf_cassandra_keystore=/opt/apigee/data/apigee-cassandra/keystore.node0 conf_cassandra_keystore_password=keypass conf_cassandra_truststore=/opt/apigee/data/apigee-cassandra/truststore.node0 conf_cassandra_truststore_password=trustpass # Optionally set the following to enable 2-way TLS or mutual TLS # conf_cassandra_require_client_auth=true
cassandra.properties
dosyasının, Apigee kullanıcısına ait olduğundan emin olun:chown apigee:apigee \ /opt/apigee/customer/application/cassandra.properties
Değişikliklerin geçerli olması için aşağıdaki adımları her bir Cassandra düğümünde tek tek yürütün hem de kullanıcılar için kapalı kalma süresi olmadan:
- Cassandra hizmetini durdurun:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra stop
- Cassandra hizmetini yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra start
- TLS şifreleme hizmetinin başlayıp başlamadığını belirlemek için sistem günlüklerinde aşağıdaki iletinin olup olmadığını kontrol edin:
Starting Encrypted Messaging Service on TLS port
Sertifika rotasyonu gerçekleştirme
Sertifikaları değiştirmek için şu adımları izleyin:
- Oluşturulan her benzersiz anahtar çifti için sertifikayı ekleyin (Ek'e bakın)
mevcut bir Cassandra'ya
hem eski hem de yeni sertifikalar aynı
güven deposu:
keytool -import -v -trustcacerts -alias NEW_ALIAS \ -file CERT -keystore EXISTING_TRUSTSTORE
Burada
NEW_ALIAS
, girişi tanımlamak için benzersiz bir dizedir,CERT
ise sertifikanın adı dosya veEXISTING_TRUSTSTORE
Cassandra düğümündeki mevcut güven deposunun adıdır. - Truststore'u kümedeki tüm Cassandra düğümlerine dağıtmak için scp gibi bir kopyalama yardımcı programı kullanın her düğüm tarafından kullanılan mevcut güven deposunu değiştirin.
- Yeni güven deposunu yüklemek ve
yeni anahtarları takmadan önce aşağıdaki adımları uygulayın:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra restart
- Kümedeki her Cassandra düğümünde aşağıda gösterilen özellikleri yeni anahtar deposuyla güncelleyin
cassandra.properties dosyasındaki değerler:
conf_cassandra_keystore=NEW_KEYSTORE_PATH conf_cassandra_keystore_password=NEW_KEYSTORE_PASSOWRD
where
NEW_KEYSTORE_PATH
is the path to the directory where the keystore file is located andNEW_KEYSTORE_PASSWORD
is the keystore password set when the certificates were created, as explained in the Appendix. - Stop the Cassandra service:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra stop
- Cassandra hizmetini yeniden başlatın:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra start
- Tüm düğümler arasında başarıyla iletişim kurulduktan sonra Cassandra düğümü. Not: Yalnızca iletişim başarılı olursa bir sonraki düğüme geçebilirsiniz dört dörtlük bir yoldur.
Ek
Aşağıdaki örnekte, adımları uygulayın. Örnekte gösterilen komutlar aşağıdaki parametreleri kullanır:
Parametre | Açıklama |
---|---|
node0 |
Düğümü tanımlayan benzersiz bir dize. |
keystore.node0 |
Anahtar deposu adı. Komutlarda bu dosyanın mevcut dizinde olduğu varsayılır. |
keypass |
Anahtar geçişi, hem anahtar deposu hem de anahtar için aynı olmalıdır. |
dname |
node0 IP adresini 10.128.0.39 olarak tanımlar. |
-validity |
Bu işarette ayarlanan değer, oluşturulan anahtar çiftini 10 yıl geçerli hale getirir. |
- Aşağıdaki dizine gidin:
cd /opt/apigee/data/apigee-cassandra
- Geçerli dizinde
keystore.node0
adlı bir dosya oluşturmak için aşağıdaki komutu çalıştırın:keytool -genkey -keyalg RSA -alias node0 -validity 3650 \ -keystore keystore.node0 -storepass keypass \ -keypass keypass -dname "CN=10.128.0.39, OU=None, \ O=None, L=None, C=None"
Önemli: Anahtar şifresinin, anahtar deposu şifresiyle aynı olduğundan emin olun.
- Sertifikayı ayrı bir dosyaya aktarın:
keytool -export -alias node0 -file node0.cer \ -keystore keystore.node0
- Dosyanın yalnızca Apigee kullanıcısı tarafından ve başka hiç kimse tarafından okunabildiğinden emin olun:
$ chown apigee:apigee \ /opt/apigee/data/apigee-cassandra/keystore.node0 $ chmod 400 /opt/apigee/data/apigee-cassandra/keystore.node0
- Oluşturulan
node0.cer
sertifikasını düğümün güven deposuna aktarın:keytool -import -v -trustcacerts -alias node0 \ -file node0.cer -keystore truststore.node0
Yukarıdaki komut bir şifre ayarlamanızı ister. Bu, Trustedstore şifresidir ve daha önce belirlediğiniz anahtar deposu şifresinden farklı olmalıdır. Sertifikaya güvenmeniz istenirse
yes
girin. - Sertifikanın PEM dosyasını anahtar olmadan oluşturmak için opensl'yi kullanın. Unutmayın:
cqlsh
oluşturulan biçimdeki sertifikayla çalışmaz.$ keytool -importkeystore -srckeystore keystore.node0 \ -destkeystore node0.p12 -deststoretype PKCS12 -srcstorepass \ keypass -deststorepass keypass $ openssl pkcs12 -in node0.p12 -nokeys -out node0.cer.pem \ -passin pass:keypass $ openssl pkcs12 -in node0.p12 -nodes -nocerts -out node0.key.pem -passin pass:keypass
- Düğümden düğüme şifreleme için
node0.cer
dosyasını her düğüme kopyalayıp içe aktarın güven deposuna gönderir.keytool -import -v -trustcacerts -alias node0 \ -file node0.cer -keystore truststore.node1
- Anahtar deposu ve güven deposu dosyalarındaki sertifikaları kontrol etmek için
keytool -list
komutunu kullanın:$ keytool -list -keystore keystore.node0 $ keytool -list -keystore truststore.node0