bg-tutorials

Sentora-এ কীভাবে SSL সার্টিফিকেট ইনস্টল করবেন

এই গাইডে দেখানো হয়েছে কীভাবে Sentora-তে একটি SSL সার্টিফিকেট ইনস্টল করবেন, যা ZPanel থেকে ফর্ক করা একটি ওপেন-সোর্স ওয়েব হোস্টিং কন্ট্রোল প্যানেল। এতে CSR তৈরি করা, সার্টিফিকেট, কী এবং CA বান্ডেল Sentora-এর Apache Admin মডিউলে পেস্ট করা, এবং ফলস্বরূপ ভার্চুয়াল হোস্টকে আধুনিক TLS সেটিংসের মাধ্যমে সুরক্ষিত করার প্রক্রিয়া অন্তর্ভুক্ত রয়েছে।

Sentora রক্ষণাবেক্ষণের অবস্থা সম্পর্কে একটি নোট

শুরু করার আগে: গত কয়েক বছরে অফিসিয়াল Sentora ডেভেলপমেন্ট বেশ ধীর হয়ে গেছে। sentora/sentora-core রিপোজিটরিতে সর্বশেষ স্থিতিশীল রিলিজ হলো v2.0.2 (মে ২০২৪, PHP 7.4); PHP 8.x লক্ষ্য করে তৈরি 2.1.x শাখাটি এখনও ডেভেলপমেন্ট-অনলি হিসেবে চিহ্নিত এবং প্রোডাকশনে ব্যবহারের জন্য নয়। একটি কমিউনিটি ফর্ক, Sentora-NG, বিদ্যমান আছে তবে এর পরিসর ছোট। আপনি যদি নতুন সার্ভার সেটআপ করছেন, তাহলে সক্রিয়ভাবে রক্ষণাবেক্ষিত ওপেন-সোর্স উত্তরসূরি হিসেবে অধিকাংশ প্রশাসক HestiaCP-তে চলে যান, যা VestaCP-এর একটি ফর্ক এবং একই রকম ইন্টারফেস, বর্তমান PHP ও TLS সাপোর্ট, এবং বিল্ট-ইন Let’s Encrypt সহ আসে। কমার্শিয়াল সাপোর্টের জন্য, Plesk সাধারণ পছন্দ। নিচের পদক্ষেপগুলো একটি বিদ্যমান Sentora ইনস্টলের জন্য এখনও প্রযোজ্য, এবং SSL ওয়ার্কফ্লো পরিবর্তিত হয়নি।

Sentora-তে একটি CSR কোড তৈরি করুন

যদি আপনি ইতিমধ্যে আপনার CSR তৈরি করে থাকেন এবং আপনার CA থেকে ইস্যু করা সার্টিফিকেট পেয়ে থাকেন, তাহলে সরাসরি ইনস্টলেশন বিভাগে চলে যান।

প্রতিটি কমার্শিয়াল SSL/TLS সার্টিফিকেট একটি CSR (Certificate Signing Request) দিয়ে শুরু হয়, যা এনকোড করা টেক্সটের একটি ব্লক যাতে আপনার ডোমেইন এবং যোগাযোগের তথ্য থাকে এবং এটি একটি প্রাইভেট কী-এর সাথে জোড়া দেওয়া থাকে। আপনার দুটি অপশন আছে:

  • আমাদের CSR Generator দিয়ে স্বয়ংক্রিয়ভাবে CSR তৈরি করুন। CSR এবং এর প্রাইভেট কী আপনার ব্রাউজারেই তৈরি হয়, তাই কী-টি নিরাপদ কোথাও সংরক্ষণ করুন: ইনস্টলেশনের সময় আপনি এটি সার্ভারে yourdomain.key হিসেবে পেস্ট করবেন।
  • আমাদের টিউটোরিয়াল অনুসরণ করে সার্ভারেই CSR তৈরি করুন কীভাবে Sentora-তে একটি CSR তৈরি করবেন

কোনো টেক্সট এডিটর দিয়ে (উদাহরণস্বরূপ Notepad) CSR খুলুন, সম্পূর্ণ ব্লকটি কপি করুন (BEGIN CERTIFICATE REQUEST এবং END CERTIFICATE REQUEST লাইন সহ), এবং এটি অর্ডার ফর্মে পেস্ট করুন। যাচাইকরণের পর, CA আপনাকে ইস্যু করা সার্টিফিকেট ফাইলগুলো ইমেইল করবে।

Sentora-তে একটি SSL সার্টিফিকেট ইনস্টল করুন

cPanel বা VestaCP-এর মতো তৃতীয় পক্ষের SSL সার্টিফিকেট পেস্ট করার জন্য Sentora-এর কোনো বিল্ট-ইন ফর্ম নেই। ইনস্টলটি দুটি ধাপের প্রক্রিয়া: সার্টিফিকেট ফাইলগুলো সার্ভারে কপি করুন, তারপর Sentora-এর Apache Admin মডিউলের মাধ্যমে সেগুলোকে Apache-এর সাথে সংযুক্ত করুন যাতে পরের সিঙ্কে প্যানেলটি ভার্চুয়াল হোস্ট পুনরায় লিখে দেয়।

ধাপ ১: আপনার SSL ফাইল প্রস্তুত করুন

Certificate Authority আপনার সার্টিফিকেট ইস্যু করার পর, ZIP আর্কাইভটি ডাউনলোড করে এক্সট্র্যাক্ট করুন। আপনার তিনটি ফাইল থাকা উচিত:

  • আপনার ডোমেইনের প্রাথমিক সার্ভার সার্টিফিকেট (.crt ফাইল)।
  • CSR-এর সাথে একসাথে তৈরি হওয়া প্রাইভেট কী (.key ফাইল)।
  • ইন্টারমিডিয়েট সার্টিফিকেট ধারণকারী CA বান্ডেল (CA থেকে প্রাপ্ত .ca-bundle বা .crt ফাইল)।

কিছু CA একটি একক সমন্বিত চেইন ফাইল পাঠায়; অন্যরা রুট এবং ইন্টারমিডিয়েট আলাদা ফাইল হিসেবে পাঠায়। যদি সেগুলো আলাদা হয়, তাহলে একটি প্লেইন টেক্সট এডিটরে ফাইলগুলো খুলুন এবং প্রথমে ইন্টারমিডিয়েট, তারপর রুট, একটি ফাইলে পেস্ট করে yourdomain.ca-bundle.crt নামে সংরক্ষণ করুন। সার্টিফিকেটগুলোর মধ্যে কোনো ফাঁকা লাইন রাখবেন না, এবং প্রতিটি ব্লক যেন তার BEGIN CERTIFICATE এবং END CERTIFICATE মার্কার বজায় রাখে তা নিশ্চিত করুন।

ধাপ ২: ফাইলগুলো সার্ভারে কপি করুন

সার্ভারে একটি SSH সেশন খুলুন এবং root হয়ে যান, প্রতিটি কমান্ডের আগে sudo ব্যবহার করে বা sudo -i দিয়ে একটি root শেল খুলে। Apache-এর অধীনে একটি SSL ডিরেক্টরি তৈরি করুন এবং তিনটি ফাইল সেখানে কপি করুন (আগে সেগুলো আপলোড করার জন্য scp, sftp, বা আপনার পছন্দের এডিটর ব্যবহার করুন):

sudo mkdir -p /etc/apache2/ssl
sudo cp yourdomain.crt /etc/apache2/ssl/yourdomain.crt
sudo cp yourdomain.key /etc/apache2/ssl/yourdomain.key
sudo cp yourdomain.ca-bundle.crt /etc/apache2/ssl/yourdomain.ca-bundle.crt
sudo chmod 600 /etc/apache2/ssl/yourdomain.key

কী ফাইলটির মোড 600-এ কড়া করলে তা অন্য স্থানীয় ব্যবহারকারীদের প্রাইভেট কী পড়া থেকে বিরত রাখে।

ধাপ ৩: Apache SSL মডিউল সক্রিয় করুন

যদি SSL মডিউল ইতিমধ্যে সক্রিয় না থাকে, তাহলে এটি সক্রিয় করুন এবং Apache পুনরায় চালু করুন:

sudo a2enmod ssl
sudo service apache2 restart

a2enmod ssl কমান্ডটি আপনার জন্য mods-enabled/ssl.conf এবং mods-enabled/ssl.load সিমলিংক তৈরি করে দেয়, তাই আপনাকে সেগুলো হাতে তৈরি করতে হবে না। আপনি apache2ctl -M | grep ssl দিয়ে মডিউলটি লোড হয়েছে কিনা নিশ্চিত করতে পারেন।

ধাপ ৪: Apache Admin-এর মাধ্যমে SSL ভার্চুয়াল হোস্ট যুক্ত করুন

admin ইউজার হিসেবে Sentora-তে লগইন করুন, তারপর Admin > Module Admin > Apache Admin-এ যান। নিচেরটি Global Sentora entry বক্সে পেস্ট করুন, ফাইল পাথ এবং হোস্ট নাম আপনার ইনস্টলের সাথে সামঞ্জস্যপূর্ণ করে সমন্বয় করে নিন:

##################################################
# Apache vhost configuration for Sentora
# Adds an HTTPS virtual host that uses your cert
##################################################

<VirtualHost *:443>
    ServerAdmin zadmin@localhost
    DocumentRoot "/etc/sentora/panel/"
    ServerName panel.example.com
    ServerAlias sentora.example.com

    SSLEngine on
    SSLCertificateFile      /etc/apache2/ssl/yourdomain.crt
    SSLCertificateKeyFile   /etc/apache2/ssl/yourdomain.key
    SSLCertificateChainFile /etc/apache2/ssl/yourdomain.ca-bundle.crt

    # Modern TLS only. SSLv2, SSLv3, TLS 1.0 and TLS 1.1
    # are deprecated and unsafe (POODLE, BEAST).
    SSLProtocol             all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder     on
    SSLCipherSuite          HIGH:!aNULL:!MD5:!3DES:!RC4
    SSLCompression          off
</VirtualHost>

panel.example.com এবং ফাইলের নামগুলো আপনার আসল হোস্ট নাম এবং সার্টিফিকেট পাথ দিয়ে প্রতিস্থাপন করুন। এন্ট্রিটি সংরক্ষণ করুন। ডেমন পরবর্তী সিঙ্কে (এবং সংরক্ষণের সময়) Sentora Apache কনফিগারেশন পুনরায় লিখে দেয়, তাই /etc/apache2/sites-available সরাসরি এডিট করবেন না: প্যানেলটি এটি ওভাররাইট করে দেবে।

SSLProtocol SSLv3 সম্পর্কে: পুরনো Sentora টিউটোরিয়ালগুলো, যার মধ্যে এই টিউটোরিয়ালের পূর্ববর্তী সংস্করণও রয়েছে, Apache Admin বক্সে SSLProtocol SSLv3 পেস্ট করে। সেই মান ব্যবহার করবেন না। SSL 3.0 ২০১৪ সালে POODLE ফাঁস হওয়ার (CVE-2014-3566) পর থেকে ভাঙা এবং প্রতিটি আধুনিক ব্রাউজারে নিষ্ক্রিয়; SSLv3 জোরপূর্বক প্রয়োগ করা একটি Apache vhost আধুনিক ক্লায়েন্টদের সংযোগ প্রত্যাখ্যান করবে এবং সেগুলো গ্রহণ করলেও এটি অনিরাপদ হবে। উপরের ব্লকটি Apache-কে শুধুমাত্র TLS 1.2 এবং 1.3-এ সীমাবদ্ধ করে, যা বর্তমান নিরাপদ বেসলাইন।

ধাপ ৫: Apache পুনরায় চালু করুন

Apache Admin এন্ট্রি সংরক্ষণ করার পর, কনফিগারেশন পরীক্ষা করুন এবং সার্ভিসটি রিলোড করুন:

sudo apache2ctl configtest
sudo service apache2 restart

যদি configtest Syntax OK রিপোর্ট করে, তাহলে নতুন vhost লাইভ হয়ে গেছে। https://panel.example.com-এর মাধ্যমে প্যানেলটি খুলুন এবং প্যাডলক আইকন পরীক্ষা করুন।

ঐচ্ছিক: Sencrypt মডিউলের মাধ্যমে Let’s Encrypt ব্যবহার করুন

আপনার যদি পেইড সার্টিফিকেটের প্রয়োজন না হয়, তাহলে কমিউনিটির Sencrypt মডিউল (মূল Sentora ডেভেলপারদের একজনের দ্বারা TGates71/sencrypt-এ রক্ষণাবেক্ষিত) প্যানেল এবং হোস্ট করা ডোমেইনের জন্য বিনামূল্যে Let’s Encrypt সার্টিফিকেট ইস্যু করে এবং স্বয়ংক্রিয়ভাবে রিনিউ করে। এটি কিছু Sentora ইনস্টলের সাথে বান্ডেল করা থাকে এবং অন্যদের জন্য একটি আলাদা অ্যাড-অন হিসেবে উপলব্ধ; একবার ইনস্টল হয়ে গেলে, Admin > Module Admin > Sencrypt SSL-এ যান (বা হোস্ট করা একটি সাইটের জন্য Domain Management-এর অধীনে Sencrypt), ডোমেইনটি বাছাই করুন, এবং ইস্যু অ্যাকশন চালান। Sencrypt পোর্ট 80-এর বিরুদ্ধে একটি HTTP-01 চ্যালেঞ্জ সম্পাদন করে এবং তারপর স্বয়ংক্রিয়ভাবে ফলস্বরূপ সার্টিফিকেট, কী, এবং চেইন যথাস্থানে বসিয়ে দেয়। চ্যালেঞ্জটি সফল হওয়ার জন্য ডোমেইনটি DNS-এ এই সার্ভারে ইতিমধ্যে রিজলভ হতে হবে।

SSL ইনস্টলেশন পরীক্ষা করুন

Apache পুনরায় চালু করার পর, https:// মাধ্যমে আপনার সাইট খুলুন এবং প্যাডলক পরীক্ষা করুন। ইন্টারমিডিয়েট চেইন এবং প্রোটোকল সাপোর্ট নিশ্চিত করার জন্য গভীর একটি পরীক্ষার জন্য, আমাদের SSL Checker-এর মাধ্যমে হোস্ট নামটি চালান। যদি রিপোর্টে একটি অনুপস্থিত ইন্টারমিডিয়েট নির্দেশ করা হয়, তাহলে Apache Admin আবার খুলুন, নিশ্চিত করুন যে SSLCertificateChainFile-এ থাকা পাথটি ধাপ ২-এ কপি করা CA বান্ডেলের দিকে নির্দেশ করছে, সংরক্ষণ করুন, এবং আবার Apache পুনরায় চালু করুন।

সচরাচর জিজ্ঞাসিত প্রশ্ন

Sentora ২০২৬ সালেও কি সক্রিয়ভাবে রক্ষণাবেক্ষিত হচ্ছে?

গত কয়েক বছরে অফিসিয়াল Sentora ডেভেলপমেন্ট বেশ ধীর হয়ে গেছে। sentora/sentora-core-এর সর্বশেষ স্থিতিশীল রিলিজ হলো মে ২০২৪-এর v2.0.2 (PHP 7.4), এবং PHP 8.x লক্ষ্য করে তৈরি 2.1.x শাখাটি এখনও ডেভেলপমেন্ট-অনলি হিসেবে চিহ্নিত, কোনো LTS বা সক্রিয় সিকিউরিটি রিলিজ স্ট্রিম নেই। একটি কমিউনিটি ফর্ক, Sentora-NG, বিদ্যমান আছে তবে এর পরিসর ছোট। সক্রিয়ভাবে রক্ষণাবেক্ষিত ওপেন-সোর্স উত্তরসূরি খুঁজছেন এমন অধিকাংশ প্রশাসক HestiaCP-তে চলে যান; কমার্শিয়াল সাপোর্টের জন্য Plesk সাধারণ পছন্দ। বিদ্যমান Sentora ইনস্টল এখনও কাজ করে এবং উপরের SSL ওয়ার্কফ্লো এখনও বৈধ সার্টিফিকেট ইনস্টল করে।

Sentora সার্টিফিকেট এবং কী ফাইলগুলো কোথায় সংরক্ষণ করে?

Sentora তৃতীয় পক্ষের সার্টিফিকেটের জন্য কোনো নির্দিষ্ট স্থান আরোপ করে না। এই গাইডে ব্যবহৃত কনভেনশন হলো /etc/apache2/ssl/yourdomain.crt, yourdomain.key, এবং yourdomain.ca-bundle.crt, যা আপনি Apache Admin-এর মাধ্যমে যুক্ত করা vhost থেকে রেফারেন্স করেন। কমিউনিটির Sencrypt Let’s Encrypt মডিউল দ্বারা ইস্যু করা সার্টিফিকেটগুলো Sencrypt মডিউলের নিজস্ব ডাটা ডিরেক্টরিতে থাকে এবং স্বয়ংক্রিয়ভাবে Apache-এর সাথে সংযুক্ত করা হয়।

Apache Admin এন্ট্রিতে আমার কেন SSLProtocol SSLv3 এড়িয়ে যাওয়া উচিত?

SSL 3.0 ২০১৪ সালে POODLE আক্রমণের (CVE-2014-3566) মাধ্যমে ভেঙে গিয়েছিল এবং বছর আগেই প্রতিটি প্রধান ব্রাউজার থেকে অপসারিত হয়েছে। SSLProtocol SSLv3 সেট করলে Apache-কে শুধুমাত্র সেই প্রোটোকল নিগোশিয়েট করতে বাধ্য করা হয়, ফলে আধুনিক ক্লায়েন্টরা সংযোগ করতে পারে না এবং যেসব ক্লায়েন্ট সংযোগ করবে তারা ঝুঁকিতে পড়বে। শুধুমাত্র TLS 1.2 এবং 1.3 অনুমতি দেওয়ার জন্য SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 ব্যবহার করুন, যা বর্তমান নিরাপদ বেসলাইন।

আমাকে কি mods-enabled/ssl.conf-এর জন্য ম্যানুয়ালি সিমলিংক তৈরি করতে হবে?

না। sudo a2enmod ssl আপনার জন্য /etc/apache2/mods-enabled/-এর অধীনে ssl.conf এবং ssl.load সিমলিংক দুটোই তৈরি করে দেয়। পুরনো Sentora টিউটোরিয়ালগুলো আলাদা ln -s কমান্ড তালিকাভুক্ত করে, তবে সেগুলো a2enmod যা করেছে তার পুনরাবৃত্তি করে। মডিউলটি লোড হয়েছে কিনা নিশ্চিত করতে apache2ctl -M | grep ssl চালান।

আমি কি Apache Admin ব্যবহার না করে সরাসরি Apache-এর সাইট ফাইলগুলো এডিট করতে পারি?

আপনি করতে পারেন, তবে পরিবর্তনটি টিকবে না। Sentora প্রতিটি সিঙ্কে তার নিজস্ব টেমপ্লেট থেকে Apache কনফিগ পুনরায় তৈরি করে এবং আপনি হাতে /etc/apache2/sites-available-তে যা কিছু রাখবেন তা ওভাররাইট করে দেবে। গ্লোবাল ডিরেক্টিভের জন্য Apache Admin মডিউলের Global Sentora entry ব্যবহার করুন, বা একটি একক সাইটের জন্য পার-ডোমেইন এন্ট্রি ব্যবহার করুন, যাতে Sentora কনফিগ পুনরায় লেখার সময় আপনার সংযোজনগুলো বজায় রাখে।

SSL Checker কেন বলছে আমার চেইন অসম্পূর্ণ?

সবচেয়ে সাধারণ কারণ হলো Apache Admin এন্ট্রিতে অনুপস্থিত বা ভুল SSLCertificateChainFile পাথ। নিশ্চিত করুন যে পাথটি ধাপ ২-এ কপি করা CA বান্ডেল ফাইলের দিকে নির্দেশ করছে এবং বান্ডেলে আপনার ডোমেইন সার্টিফিকেট এবং রুটের মধ্যে থাকা প্রতিটি ইন্টারমিডিয়েট সার্টিফিকেট রয়েছে, প্রতিটি ব্লক BEGIN CERTIFICATE এবং END CERTIFICATE মার্কার দ্বারা সীমাবদ্ধ। Apache Admin এন্ট্রিটি সংরক্ষণ করুন, Apache পুনরায় চালু করুন, তারপর আমাদের SSL Checker পুনরায় চালান।

আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!

দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

উড়ন্ত একটি ড্রাগনের একটি বিস্তারিত চিত্র
লিখেছেন

SSL শংসাপত্রে বিশেষজ্ঞ অভিজ্ঞ বিষয়বস্তু লেখক। জটিল সাইবারসিকিউরিটি বিষয়গুলিকে পরিষ্কার, আকর্ষক সামগ্রীতে রূপান্তর করা। প্রভাবশালী বর্ণনার মাধ্যমে ডিজিটাল নিরাপত্তার উন্নতিতে অবদান রাখুন।