इंटरनोड (या नोड-टू-नोड) एन्क्रिप्शन, क्लस्टर में नोड के बीच आने-जाने वाले डेटा की सुरक्षा करता है TLS का उपयोग करके. यह पेज बताता है कि प्राइवेट क्लाउड. इन चरणों को पूरा करने के लिए, आपको अपने Cassandra के विवरण से परिचित होना चाहिए घंटी बजाओ.
कैसेंड्रा इंटरनोड एन्क्रिप्शन चालू करें
Cassandra Internode एन्क्रिप्शन को सक्षम करने के लिए,
क्लस्टर. आपको हर नोड के सार्वजनिक सर्टिफ़िकेट को सभी नोड में बांटना होगा.
ऐसा करने के बाद, हर नोड में सर्टिफ़िकेट होंगे
node0.cer
, node1.cer
वगैरह को उसके Truststore में मौजूद है. हर नोड सिर्फ़
इसकी खुद की निजी कुंजी
कीस्टोर पर क्लिक करें. उदाहरण के लिए, node0
में सिर्फ़ node0.pem
शामिल होगा
कीस्टोर पर क्लिक करें. आपको एक-एक करके, हर नोड के लिए एन्क्रिप्शन चालू करना होगा.
कैसंड्रा इंटरनोड एन्क्रिप्शन चालू करने के लिए, यह तरीका अपनाएं:
अपेंडिक्स सेक्शन में दिया गया तरीका अपनाकर सर्वर सर्टिफ़िकेट जनरेट करें का इस्तेमाल करके, और प्रमाणपत्र.
इन चरणों के मुताबिक, यह माना जाएगा कि आपने
keystore.node0
बना लिया है औरtruststore.node0
, साथ ही, कीस्टोर और ट्रस्टस्टोर पासवर्ड के बारे में भी बताएंगे. इसके बारे में अपेंडिक्स में बताया गया है. आगे बढ़ने से पहले हर नोड पर शुरुआती चरणों के रूप में कीस्टोर और ट्रस्टस्टोर बनाया जाना चाहिए देखें./opt/apigee/customer/application/cassandra.properties
में ये प्रॉपर्टी जोड़ें फ़ाइल से लिए जाते हैं. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.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
फ़ाइल का मालिकाना हक apigee उपयोगकर्ता के पास है:chown apigee:apigee \ /opt/apigee/customer/application/cassandra.properties
नीचे दिए गए चरणों को हर कैसंड्रा नोड पर एक-एक करके लागू करें, ताकि ये बदलाव लागू हो जाएं इस्तेमाल करने के लिए:
- कैसेंड्रा सेवा बंद करें:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra stop
- कैसेंड्रा सेवा को फिर से शुरू करें:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra start
- यह पता लगाने के लिए कि TLS एन्क्रिप्शन सेवा शुरू हो गई है या नहीं, नीचे दिए गए मैसेज के सिस्टम लॉग देखें:
Starting Encrypted Messaging Service on TLS port
सर्टिफ़िकेट को घुमाएं
सर्टिफ़िकेट को बदलने के लिए, यह तरीका अपनाएं:
- जनरेट किए गए हर यूनीक कुंजी के जोड़े के लिए सर्टिफ़िकेट जोड़ें (ज़्यादा जानकारी देखें)
की मदद से कैसे काम करते हैं?
नोड का भरोसा स्टोर, जैसे पुराने प्रमाणपत्र और नए प्रमाणपत्र दोनों एक ही
Truststore:
keytool -import -v -trustcacerts -alias NEW_ALIAS \ -file CERT -keystore EXISTING_TRUSTSTORE
जहां
NEW_ALIAS
एंट्री की पहचान करने के लिए एक खास स्ट्रिंग है,CERT
है सर्टिफ़िकेट का नाम जोड़ने के लिए फ़ाइल औरEXISTING_TRUSTSTORE
कैसेंड्रा नोड पर मौजूदा ट्रस्टस्टोर का नाम है. - क्लस्टर के सभी कैसंड्रा नोड में ट्रस्टस्टोर डिस्ट्रिब्यूट करने के लिए, एसपीपी जैसी कॉपी यूटिलिटी का इस्तेमाल करें हर नोड के लिए इस्तेमाल किए जा रहे मौजूदा Truststore को बदलना.
- नया ट्रस्टस्टोर लोड करने और
नई कुंजियों के स्थान से पहले:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra restart
- क्लस्टर में हर कैसंड्रा नोड पर, नीचे दिखाई गई प्रॉपर्टी को नए कीस्टोर में अपडेट करें
cassandra.property फ़ाइल में मौजूद वैल्यू:
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
- कैसेंड्रा सेवा को फिर से शुरू करें:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra start
- सभी नोड के बीच कम्यूनिकेशन सही तरीके से पहुंचने के बाद, अगले सेक्शन पर जाएं कैसंड्रा नोड. ध्यान दें: अगले नोड पर सिर्फ़ तब जाएं, जब कम्यूनिकेशन सही तरीके से पूरा हो गया हो सभी नोड के बीच मौजूद होता है.
अन्य जानकारी
यहां दिए गए उदाहरण में, उन सर्वर सर्टिफ़िकेट को तैयार करने का तरीका बताया गया है जो Search Ads 360 के नए वर्शन पर काम करने के लिए ज़रूरी हैं इंटरनोड एन्क्रिप्शन के चरण. उदाहरण में दिखाए गए निर्देशों में इन पैरामीटर का इस्तेमाल किया गया है:
पैरामीटर | ब्यौरा |
---|---|
node0 |
नोड की पहचान करने वाली कोई भी खास स्ट्रिंग. |
keystore.node0 |
कीस्टोर का नाम. कमांड, यह मान लेते हैं कि यह फ़ाइल मौजूदा डायरेक्ट्री में है. |
keypass |
कीपास, कीस्टोर और की, दोनों के लिए एक ही होना चाहिए. |
dname |
node0 के आईपी पते की पहचान 10.128.0.39 के तौर पर करता है. |
-validity |
इस फ़्लैग पर सेट की गई वैल्यू, जनरेट किए गए कुंजी के जोड़े को 10 साल के लिए मान्य बनाती है. |
- इस डायरेक्ट्री पर जाएं:
cd /opt/apigee/data/apigee-cassandra
- मौजूदा डायरेक्ट्री में
keystore.node0
नाम की फ़ाइल जनरेट करने के लिए, नीचे दिया गया कमांड चलाएं: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"
अहम जानकारी: पक्का करें कि कुंजी का पासवर्ड और कीस्टोर पासवर्ड एक ही हों.
- सर्टिफ़िकेट को किसी दूसरी फ़ाइल में एक्सपोर्ट करें:
keytool -export -alias node0 -file node0.cer \ -keystore keystore.node0
- पक्का करें कि फ़ाइल को सिर्फ़ apigee उपयोगकर्ता पढ़ सकता हो, न कि कोई दूसरा:
$ chown apigee:apigee \ /opt/apigee/data/apigee-cassandra/keystore.node0 $ chmod 400 /opt/apigee/data/apigee-cassandra/keystore.node0
- जनरेट किए गए सर्टिफ़िकेट
node0.cer
को नोड के ट्रस्टस्टोर में इंपोर्ट करें:keytool -import -v -trustcacerts -alias node0 \ -file node0.cer -keystore truststore.node0
ऊपर दिया गया आदेश आपको पासवर्ड सेट करने के लिए कहता है. यह Truststore का पासवर्ड है और यह कर सकता है: आपके द्वारा पहले सेट किए गए कीस्टोर पासवर्ड से अलग होगा. अगर सर्टिफ़िकेट पर भरोसा करने के लिए कहा जाए, तो
yes
डालें. - बिना किसी कुंजी के सर्टिफ़िकेट की PEM फ़ाइल जनरेट करने के लिए, OpenSSL का इस्तेमाल करें. ध्यान दें कि
cqlsh
जनरेट किए गए फ़ॉर्मेट में प्रमाणपत्र के साथ काम नहीं करता है.$ 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
- नोड-टू-नोड एन्क्रिप्शन के लिए, हर नोड में
node0.cer
फ़ाइल को कॉपी करें और उसे इंपोर्ट करें को भरोसेमंद सोर्स बना सकता है.keytool -import -v -trustcacerts -alias node0 \ -file node0.cer -keystore truststore.node1
- कीस्टोर और ट्रस्टस्टोर फ़ाइलों में सर्टिफ़िकेट देखने के लिए,
keytool -list
का इस्तेमाल करें:$ keytool -list -keystore keystore.node0 $ keytool -list -keystore truststore.node0