Presto TLS/SSL কনফিগারেশন

Database Tutorials - অ্যাপাচি প্রেস্টো (Apache Presto) Presto Security Management |
204
204

Presto একটি ডিস্ট্রিবিউটেড SQL কোয়েরি ইঞ্জিন, যা নিরাপত্তার জন্য TLS/SSL (Transport Layer Security / Secure Sockets Layer) কনফিগারেশন সাপোর্ট করে। TLS/SSL কনফিগারেশনের মাধ্যমে, Presto সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটা এনক্রিপ্টেডভাবে স্থানান্তরিত হয়, যা সংবেদনশীল তথ্যের নিরাপত্তা নিশ্চিত করে।

প্রথমত, আপনাকে TLS/SSL সার্টিফিকেট তৈরি এবং কনফিগার করতে হবে। নিচে Presto তে TLS/SSL কনফিগারেশনের জন্য ধাপে ধাপে প্রক্রিয়া দেওয়া হলো।


ধাপ ১: সার্টিফিকেট তৈরি করা

Presto সার্ভার এবং ক্লায়েন্টের মধ্যে TLS/SSL এনক্রিপশন চালানোর জন্য সার্ভার এবং ক্লায়েন্টের জন্য সার্টিফিকেট এবং কী জেনারেট করতে হবে। আপনি OpenSSL ব্যবহার করে এই সার্টিফিকেট এবং কী তৈরি করতে পারেন।

সার্টিফিকেট এবং কী তৈরি করার জন্য OpenSSL কমান্ড:

  1. Private Key তৈরি করুন:

    openssl genpkey -algorithm RSA -out presto-server-key.pem -aes256
    
  2. CSR (Certificate Signing Request) তৈরি করুন:

    openssl req -new -key presto-server-key.pem -out presto-server.csr
    
  3. Self-Signed Certificate তৈরি করুন (সংশ্লিষ্ট CSR দিয়ে):

    openssl x509 -req -in presto-server.csr -signkey presto-server-key.pem -out presto-server-cert.pem
    

    এই প্রক্রিয়ায় আপনি একটি presto-server-cert.pem (সার্টিফিকেট) এবং presto-server-key.pem (কী) পাবেন।

  4. CA Bundle (যদি ব্যবহৃত হয়):
    যদি আপনি কোনো সাইনিং অথোরিটি (CA) সার্টিফিকেট ব্যবহার করেন, তাহলে CA Bundle ডাউনলোড করুন এবং এটি সার্টিফিকেটে সংযুক্ত করুন।

ধাপ ২: Presto কনফিগারেশন ফাইল আপডেট করা

Presto সার্ভারের TLS/SSL কনফিগারেশন সেটআপ করতে হবে। এই কনফিগারেশন ফাইলগুলি /etc/presto/config.properties এবং /etc/presto/node.properties ফাইলে রাখতে হবে।

config.properties

প্রথমত, Presto সার্ভারের কনফিগারেশন ফাইল config.properties এ TLS/SSL সেটআপ করুন:

# TLS/SSL কনফিগারেশন
http-server.https.enabled=true
http-server.https.port=8443
http-server.https.keystore.path=/path/to/presto-server-keystore.jks
http-server.https.keystore.password=<keystore-password>
http-server.https.truststore.path=/path/to/presto-server-truststore.jks
http-server.https.truststore.password=<truststore-password>
  • http-server.https.enabled: TLS/SSL সক্রিয় করতে true সেট করুন।
  • http-server.https.port: HTTPS পোর্ট নম্বর (অথবা আপনি যা চান) সেট করুন। সাধারণত, 8443 ব্যবহার করা হয়।
  • http-server.https.keystore.path: আপনার সার্টিফিকেট এবং কী ফাইলের পথ।
  • http-server.https.keystore.password: Keystore পাসওয়ার্ড (যদি থাকে)।
  • http-server.https.truststore.path: Truststore ফাইলের পথ (যদি ব্যবহার করা হয়)।
  • http-server.https.truststore.password: Truststore পাসওয়ার্ড (যদি থাকে)।

node.properties

Presto নোড কনফিগারেশন ফাইলেও কিছু পরিবর্তন করতে হবে:

# node.properties
http-server.https.enabled=true

ধাপ ৩: Keystore এবং Truststore তৈরি করা

Presto সার্ভার এবং ক্লায়েন্টের জন্য সঠিক Keystore এবং Truststore তৈরি করা আবশ্যক। এখানে Keystore সার্টিফিকেট এবং প্রাইভেট কী ধারণ করে, এবং Truststore পিপিএল সার্টিফিকেট ধারণ করে যা ক্লায়েন্ট বা সার্ভার বিশ্বাস করে।

Keystore তৈরি করা (Presto সার্ভারের জন্য):

# Keystore তৈরি করুন
keytool -genkeypair -alias presto -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore presto-server-keystore.jks -validity 3650

Truststore তৈরি করা (Presto ক্লায়েন্টের জন্য):

# Truststore তৈরি করুন (যদি CA সার্টিফিকেট থাকে)
keytool -import -alias my_ca -file ca-cert.pem -keystore presto-server-truststore.jks

এখানে, presto-server-keystore.jks হল সার্ভারের Keystore এবং presto-server-truststore.jks হল Truststore যা বিশ্বাসযোগ্য সার্টিফিকেট ধারণ করে।


ধাপ ৪: Presto সার্ভার রিস্টার্ট করা

Presto TLS/SSL কনফিগারেশন এবং সার্টিফিকেট সেট করার পর, Presto সার্ভার রিস্টার্ট করতে হবে যাতে পরিবর্তনগুলি কার্যকর হয়।

bin/launcher restart

এটি আপনার Presto সার্ভারকে TLS/SSL সহ পুনরায় চালু করবে।


ধাপ ৫: ক্লায়েন্টের জন্য কনফিগারেশন

Presto ক্লায়েন্টও সার্ভারের TLS/SSL সংযোগে অংশ নিতে TLS/SSL কনফিগারেশন প্রয়োজন:

Presto CLI এ TLS/SSL কনফিগারেশন

Presto CLI থেকে HTTPS (TLS/SSL) ব্যবহার করার জন্য, --server আর্গুমেন্টের সাথে সার্ভারের ঠিকানা এবং পোর্ট নম্বর এবং সার্টিফিকেট ফাইল প্রদান করুন:

presto --server https://<presto-server-host>:8443 --catalog hive --schema default --truststore /path/to/presto-server-truststore.jks --truststore-password <truststore-password>

সারাংশ

  • Presto সার্ভার এবং ক্লায়েন্টের মধ্যে TLS/SSL কনফিগারেশন নিরাপত্তা নিশ্চিত করে, যাতে ডেটা এনক্রিপ্টেডভাবে স্থানান্তরিত হয়।
  • Keystore এবং Truststore ব্যবহার করে সার্টিফিকেট এবং কী ফাইল তৈরি করতে হয়।
  • সার্ভারের config.properties এবং node.properties ফাইলে TLS/SSL কনফিগারেশন সেট করতে হয়।
  • সার্ভার রিস্টার্ট করার পর, Presto সার্ভার এবং ক্লায়েন্ট TLS/SSL নিরাপত্তা ব্যবহারের মাধ্যমে যোগাযোগ করতে পারে।

এই প্রক্রিয়াটি Presto সার্ভারের নিরাপত্তা নিশ্চিত করতে সহায়ক।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion