Redis তে SSL/TLS Encryption কনফিগার করা

Security in Redis - রেডিস (Redis) - Database Tutorials

357

Redis তে SSL/TLS Encryption কনফিগার করা নিরাপত্তা বাড়ানোর একটি গুরুত্বপূর্ণ পদক্ষেপ, বিশেষত যখন Redis সার্ভারটি পাবলিক বা নিরাপত্তাহীন নেটওয়ার্কে অ্যাক্সেস করা হয়। Redis, ডিফল্টভাবে, SSL/TLS সমর্থন করে না, তবে আপনি stunnel বা Redis 6.x বা তার পরবর্তী সংস্করণে SSL/TLS সক্রিয় করতে পারেন।

এখানে আমি দুটি পদ্ধতি ব্যাখ্যা করব: একটি stunnel ব্যবহার করে এবং অন্যটি সরাসরি Redis 6.x সংস্করণে SSL/TLS কনফিগার করার জন্য।


1. stunnel ব্যবহার করে Redis তে SSL/TLS Encryption কনফিগার করা

stunnel হল একটি TLS/SSL প্রোটোকল গেটওয়ে, যা SSL/TLS এনক্রিপশন প্রদান করতে সক্ষম। আপনি Redis সার্ভারের সাথে SSL/TLS যোগ করতে stunnel ব্যবহার করতে পারেন।

stunnel ইনস্টলেশন

  1. Ubuntu/Debian-এ stunnel ইনস্টল করা:

    sudo apt update
    sudo apt install stunnel4
    
  2. CentOS/RHEL-এ stunnel ইনস্টল করা:

    sudo yum install stunnel
    

stunnel কনফিগারেশন

  1. SSL সার্টিফিকেট তৈরি করা: Redis সার্ভারের জন্য SSL সার্টিফিকেট এবং প্রাইভেট কি তৈরি করতে:

    openssl genpkey -algorithm RSA -out redis.key
    openssl req -new -x509 -key redis.key -out redis.crt
    
  2. stunnel কনফিগারেশন ফাইল তৈরি করা: stunnel কনফিগারেশন ফাইল তৈরি করুন (/etc/stunnel/redis.conf):

    [redis-server]
    accept = 0.0.0.0:6379
    connect = 127.0.0.1:6379
    cert = /etc/stunnel/redis.crt
    key = /etc/stunnel/redis.key
    
    • এখানে accept পোর্টে SSL কানেকশন গ্রহণ করা হবে, এবং connect পোর্টে মূল Redis সার্ভারের সাথে যোগাযোগ হবে।
    • cert এবং key ফাইলের অবস্থান নির্দিষ্ট করুন, যেখানে আপনার SSL সার্টিফিকেট এবং প্রাইভেট কী রাখা হয়েছে।
  3. stunnel সার্ভিস চালু করা: stunnel কনফিগারেশন ফাইল ব্যবহার করে সার্ভিস চালু করতে:

    sudo stunnel /etc/stunnel/redis.conf
    
  4. Redis সার্ভার কনফিগার করা: Redis সার্ভারের redis.conf ফাইলটি খুলুন এবং bind এবং port নির্দেশিকাগুলি সেট করুন:

    bind 127.0.0.1
    port 6379
    
    • Redis সার্ভারের জন্য stunnel এর মাধ্যমে সংযোগ স্বয়ংক্রিয়ভাবে SSL এনক্রিপশন সহ হবে।
  5. Redis ক্লায়েন্ট কনফিগারেশন: Redis ক্লায়েন্টে SSL সংযোগের জন্য আপনি স্ট্যান্ডার্ড Redis ক্লায়েন্ট ব্যবহার করতে পারেন, তবে ক্লায়েন্ট-এ SSL এর জন্য কনফিগারেশন করতে হবে। উদাহরণস্বরূপ, redis-cli ব্যবহার করতে:

    redis-cli -h <hostname> -p <ssl-port> --tls
    

2. Redis 6.x বা তার পরবর্তী সংস্করণে SSL/TLS কনফিগার করা

Redis 6.0 বা তার পরবর্তী সংস্করণে আপনি সরাসরি SSL/TLS কনফিগারেশন করতে পারবেন, যেটি stunnel ব্যবহার না করে Redis সার্ভারের মধ্যে SSL এনক্রিপশন চালু করতে সাহায্য করে।

Redis 6.x তে SSL/TLS কনফিগারেশন

  1. Redis সার্ভারে SSL সক্রিয় করা: Redis সার্ভারের কনফিগারেশন ফাইল redis.conf-এ নিচের সেটিংসগুলো যোগ করুন:

    tls-port 6379
    tls-cert-file /etc/redis/redis.crt
    tls-key-file /etc/redis/redis.key
    tls-ca-cert-file /etc/redis/ca.crt
    tls-auth-clients no
    
    • tls-port: SSL/TLS সক্রিয় করার জন্য ব্যবহার করা পোর্ট।
    • tls-cert-file: SSL সার্টিফিকেটের পাথ।
    • tls-key-file: প্রাইভেট কী ফাইলের পাথ।
    • tls-ca-cert-file: CA সার্টিফিকেট ফাইলের পাথ (যদি আপনি ক্লায়েন্টদের যাচাই করতে চান)।
    • tls-auth-clients: ক্লায়েন্টদের অথেনটিকেশন সক্ষম বা অক্ষম করতে।
  2. Redis সার্ভার পুনরায় চালু করা: Redis সার্ভারের কনফিগারেশন পরিবর্তন করার পর সার্ভার পুনরায় চালু করুন:

    sudo systemctl restart redis-server
    
  3. Redis ক্লায়েন্ট কনফিগারেশন: Redis ক্লায়েন্টে SSL সংযোগের জন্য, আপনাকে Redis-CLI ব্যবহার করে --tls অপশন ব্যবহার করতে হবে:

    redis-cli -h <hostname> -p 6379 --tls --cert /etc/redis/redis.crt --key /etc/redis/redis.key --cacert /etc/redis/ca.crt
    
    • --cert: সার্ভারের সার্টিফিকেট।
    • --key: সার্ভারের প্রাইভেট কী।
    • --cacert: ক্লায়েন্টের জন্য CA সার্টিফিকেট।

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

  1. Redis সার্ভারের SSL সংযোগ চেক করা: Redis সার্ভারটি SSL সংযোগ গ্রহণ করছে কিনা তা চেক করতে, আপনি redis-cli ব্যবহার করতে পারেন:

    redis-cli -h <hostname> -p 6379 --tls
    
  2. TLS/SSL সার্ভার স্ট্যাটাস চেক করা: Redis সার্ভারের SSL স্ট্যাটাস চেক করতে:

    redis-server --tls
    

সারাংশ

Redis তে SSL/TLS Encryption কনফিগার করার মাধ্যমে আপনি ডেটা ট্রান্সমিশনের নিরাপত্তা বাড়াতে পারেন। আপনি stunnel ব্যবহার করে SSL এনক্রিপশন যুক্ত করতে পারেন, অথবা Redis 6.0 বা তার পরবর্তী সংস্করণে সরাসরি SSL/TLS সক্রিয় করে সংযোগ সুরক্ষা নিশ্চিত করতে পারেন। এই প্রক্রিয়া আপনার Redis সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটা ট্রান্সফারের নিরাপত্তা ও গোপনীয়তা নিশ্চিত করতে সাহায্য করবে।

Content added By
Promotion

Are you sure to start over?

Loading...