ইন্টারনোড (বা নোড-টু-নোড) এনক্রিপশন TLS ব্যবহার করে ক্লাস্টারে নোডের মধ্যে ডেটা ট্রান্সফার সুরক্ষিত করে। এই পৃষ্ঠায় ব্যাখ্যা করা হয়েছে যে কীভাবে Edge for Private Cloud-এ TLS ব্যবহার করে Cassandra ইন্টারনোড এনক্রিপশন চালু করতে হয়। এইসব ধাপ পারফর্ম করতে, আপনাকে Cassandra রিংয়ের বিবরণ সম্পর্কে জানতে হবে।
Cassandra ইন্টারনোড এনক্রিপশন চালু করুন
Cassandra ইন্টারনোড এনক্রিপশন চালু করতে এই ধাপগুলি অনুসরণ করুন:
সেল্ফ-সাইন করা কী ও সার্টিফিকেট তৈরি করতে, পরিশিষ্ট লিঙ্কে উল্লেখ করা ধাপগুলি অনুসরণ করে সার্ভার সার্টিফিকেট তৈরি করুন।
নিম্নলিখিত ধাপগুলি ধরে নেয় যে আপনি
keystore.node0এবংtruststore.node0তৈরি করেছেন, সেইসাথে কীস্টোর এবং ট্রাস্টস্টোর পাসওয়ার্ড, যেমন পরিশিষ্ট-এ ব্যাখ্যা করা হয়েছে। পরবর্তী ধাপগুলি অনুসরণ করার আগে প্রতিটি নোডে প্রাথমিক ধাপ হিসেবে কীস্টোর ও ট্রাস্টস্টোর তৈরি করতে হবে।/opt/apigee/customer/application/cassandra.propertiesফাইলে নিম্নলিখিত প্রপার্টি যোগ করুন। ফাইলটি না থাকলে, এটি তৈরি করুন।conf_cassandra_server_encryption_internode_encryption=all conf_cassandra_server_encryption_keystore=/opt/apigee/data/apigee-cassandra/keystore.node0 conf_cassandra_server_encryption_keystore_password=keypass conf_cassandra_server_encryption_truststore=/opt/apigee/data/apigee-cassandra/truststore.node0 conf_cassandra_server_encryption_truststore_password=trustpass # Optionally set the following to enable 2-way TLS or mutual TLS conf_cassandra_server_encryption_require_client_auth=true- নিশ্চিত করুন যে ফাইল
cassandra.properties-এর মালিকানা apigee ব্যবহারকারীর কাছে আছে:chown apigee:apigee \ /opt/apigee/customer/application/cassandra.properties
প্রতিটি Cassandra নোডে নিম্নলিখিত ধাপগুলি এক এক করে এক্সিকিউট করুন, যাতে ব্যবহারকারীদের জন্য কোনও ডাউনটাইম না করেই পরিবর্তনগুলি কার্যকর করা যায়:
- Cassandra পরিষেবা বন্ধ করুন:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra stop
- Cassandra পরিষেবা রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra start
- TLS এনক্রিপশন পরিষেবা শুরু হয়েছে কিনা তা নির্ধারণ করতে, নিম্নলিখিত মেসেজের জন্য সিস্টেম লগ চেক করুন:
Internode messaging enabled TLS protocols Internode messaging enabled cipher suites
সার্টিফিকেট রোটেশন পারফর্ম করুন
সার্টিফিকেট রোটেট করতে, এই ধাপগুলি অনুসরণ করুন:
- প্রতিটি অনন্য জেনারেট করা কী পেয়ারের (পরিশিষ্ট দেখুন) জন্য সার্টিফিকেটটি আগে থেকে থাকা Cassandra নোডের ট্রাস্টস্টোরে যোগ করুন, যাতে পুরনো এবং নতুন উভয় সার্টিফিকেট একই ট্রাস্টস্টোরে থাকে:
keytool -import -v -trustcacerts -alias NEW_ALIAS \ -file CERT -keystore EXISTING_TRUSTSTORE
যেখানে
NEW_ALIASহল এন্ট্রি শনাক্ত করার জন্য অনন্য স্ট্রিং,CERTহল যোগ করার জন্য সার্টিফিকেট ফাইলের নাম এবংEXISTING_TRUSTSTOREহল Cassandra নোডে আগে থেকে থাকা ট্রাস্টস্টোরের নাম। - ক্লাস্টারের সব Cassandra নোডে truststore ডিস্ট্রিবিউট করতে, scp-এর মতো কপি ইউটিলিটি ব্যবহার করুন। এটি প্রতিটি নোডের ব্যবহার করা বর্তমান truststore-কে রিপ্লেস করবে।
- নতুন ট্রাস্টস্টোর লোড করতে এবং নতুন কীগুলি কার্যকর হওয়ার আগে তাদের জন্য বিশ্বাস স্থাপন করতে ক্লাস্টারের একটি রোলিং রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra restart
- ক্লাস্টারের প্রতিটি Cassandra নোডে, cassandra.properties ফাইলে নতুন কীস্টোর ভ্যালুতে নিচে দেখানো প্রপার্টি আপডেট করুন:
conf_cassandra_server_encryption_keystore=NEW_KEYSTORE_PATH conf_cassandra_server_encryption_keystore_password=NEW_KEYSTORE_PASSWORD
NEW_KEYSTORE_PATHহল ডিরেক্টরির পাথ যেখানে কীস্টোর ফাইলটি আছে এবংNEW_KEYSTORE_PASSWORDহল সার্টিফিকেট তৈরি করার সময় সেট করা কীস্টোর পাসওয়ার্ড, যা পরিশিষ্টে ব্যাখ্যা করা হয়েছে। - Cassandra পরিষেবা বন্ধ করুন:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra stop
- Cassandra পরিষেবা রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service \ apigee-cassandra start
- সব নোডের মধ্যে যোগাযোগ সফলভাবে প্রতিষ্ঠিত হলে, পরবর্তী Cassandra নোডে যান। মনে রাখবেন: সব নোডের মধ্যে কমিউনিকেশন ঠিকমতো হলে তবেই পরবর্তী নোডে যান।
পরিশিষ্ট
ইন্টারনোড এনক্রিপশন ধাপগুলি সম্পাদন করার জন্য প্রয়োজনীয় সার্ভার সার্টিফিকেট কীভাবে প্রস্তুত করতে হয় তা নিম্নলিখিত উদাহরণে ব্যাখ্যা করা হয়েছে। উদাহরণে দেখানো কমান্ডগুলি নিম্নলিখিত প্যারামিটার ব্যবহার করে:
| প্যারামিটার | বিবরণ |
|---|---|
node0 |
নোড শনাক্ত করার জন্য কোনও অনন্য স্ট্রিং। |
keystore.node0 |
কীস্টোরের নাম। কমান্ড ধরে নেয় যে এই ফাইলটি বর্তমান ডিরেক্টরিতে আছে। |
keypass |
কীস্টোর ও কী, দুটির জন্যই কীপাস একই হতে হবে। |
dname |
node0-এর IP অ্যাড্রেসকে 10.128.0.39 হিসেবে শনাক্ত করে। |
-validity |
এই ফ্ল্যাগে সেট করা ভ্যালু, তৈরি করা কী পেয়ারকে ১০ বছরের জন্য বৈধ করে তোলে। |
- নিম্নলিখিত ডিরেক্টরিতে যান:
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
উপরের কমান্ডটি আপনাকে একটি পাসওয়ার্ড সেট করতে বলে। এটি হল ট্রাস্টস্টোর পাসওয়ার্ড এবং আপনার আগে সেট করা কীস্টোর পাসওয়ার্ডের থেকে আলাদা হতে পারে। সার্টিফিকেট বিশ্বাস করার জন্য প্রম্পট করা হলে,
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