bg-tutorials

Sentora-এ কীভাবে CSR তৈরি করবেন

এই গাইডে দেখানো হয়েছে কীভাবে OpenSSL ব্যবহার করে Sentora-তে CSR (Certificate Signing Request) তৈরি করবেন। Sentora-এর কন্ট্রোল প্যানেলে কোনো বিল্ট-ইন CSR টুল নেই, তাই আপনাকে সার্ভারেই রিকোয়েস্টটি তৈরি করতে হয়, যা Apache এবং Linux-এ চলে। একটি মাত্র কমান্ড একসাথে দুটি ফাইল তৈরি করে: একটি প্রাইভেট কী যা আপনার সার্ভারেই থেকে যায়, এবং CSR যা আপনি আপনার Certificate Authority (CA)-এর কাছে জমা দেন।

Sentora নিজে ধীরগতিতে চলছে কিন্তু পরিত্যক্ত নয়; বর্তমান স্থিতিশীল সংস্করণ হলো v2.0.2 (মে ২০২৪, PHP 7.4-এ), যা প্রাক্তন ZPanel ডেভেলপারদের দ্বারা রক্ষণাবেক্ষণ করা হয়, এবং নিচের OpenSSL ওয়ার্কফ্লো প্যানেল সংস্করণ দ্বারা প্রভাবিত হয় না।

যদি আপনি ইতিমধ্যে আপনার CSR তৈরি করে থাকেন এবং আপনার CA থেকে ইস্যুকৃত সার্টিফিকেট পেয়ে থাকেন, তাহলে সরাসরি Sentora-তে আপনার SSL সার্টিফিকেট ইনস্টল করা অংশে চলে যান। অন্যথায়, নিচের পদক্ষেপগুলো অনুসরণ করুন।

ধাপ ১: root হিসেবে সার্ভারে লগইন করুন

Sentora চালু থাকা সার্ভারে একটি SSH সেশন খুলুন এবং root হয়ে যান। CSR তৈরি করার জন্য কঠোরভাবে root প্রয়োজন হয় না, তবে পরবর্তী ধাপে OpenSSL ইনস্টল করার জন্য এটি প্রয়োজন হতে পারে যদি এটি না থাকে:

sudo -i

ধাপ ২: OpenSSL ইনস্টল করা আছে কিনা নিশ্চিত করুন

প্রতিটি বর্তমান Debian, Ubuntu, CentOS, AlmaLinux এবং Rocky Linux রিলিজের সাথে OpenSSL আগে থেকেই থাকে, তাই এটি প্রায় নিশ্চিতভাবেই ইতিমধ্যে আছে। সংস্করণ পরীক্ষা করুন:

openssl version

যদি কমান্ডটি একটি সংস্করণ নম্বর দেখায়, তাহলে ধাপ ৩-এ চলে যান। যদি এটি ইনস্টল করা না থাকে, তাহলে আপনার ডিস্ট্রিবিউশনের প্যাকেজ ম্যানেজার দিয়ে এটি যোগ করুন।

Debian বা Ubuntu-তে:

apt update && apt install -y openssl

CentOS, AlmaLinux, বা Rocky Linux-এ:

dnf install -y openssl

পুরনো সিস্টেমে যেখানে dnf উপলব্ধ নেই, সেখানে yum install -y openssl একইভাবে কাজ করে।

ধাপ ৩: প্রাইভেট কী এবং CSR তৈরি করুন

এমন একটি ডিরেক্টরি থেকে নিচের কমান্ডটি চালান যেখানে আপনি লিখতে পারেন, যেমন হোম ডিরেক্টরি। এটি একই সাথে প্রাইভেট কী এবং CSR তৈরি করে এবং Subject Alternative Names (SANs) অন্তর্ভুক্ত করে যা আধুনিক ব্রাউজার এবং CA গুলোর প্রয়োজন হয়:

openssl req -new -newkey rsa:2048 -nodes 
-keyout example.key 
-out example.csr 
-subj "/C=US/ST=New York/L=New York/O=Example LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

প্রতিটি অংশ কী করে তা এখানে দেওয়া হলো:

  • req -new একটি নতুন certificate signing request তৈরি করে।
  • -newkey rsa:2048 একটি নতুন 2048-বিট RSA প্রাইভেট কী তৈরি করে। পাবলিক সার্টিফিকেটের জন্য 2048 বিট বর্তমান সর্বনিম্ন মান; আপনি যদি বড় কী চান তাহলে rsa:4096 ব্যবহার করুন।
  • -nodes প্রাইভেট কীটিকে এনক্রিপ্ট না করে রাখে (কোনো পাসফ্রেজ ছাড়া), যাতে Apache পাসওয়ার্ড জিজ্ঞাসা না করেই চালু হতে পারে। এটি একটি পোর্টেবল বানান এবং প্রতিটি OpenSSL বিল্ডে কাজ করে।
  • -keyout example.key প্রাইভেট কী লেখে। এই ফাইলটি গোপন রাখুন এবং কখনো কাউকে পাঠাবেন না।
  • -out example.csr CSR লেখে যা আপনি CA-এর কাছে জমা দেবেন।
  • -subj সাবজেক্ট ফিল্ডগুলো ইনলাইনে পূরণ করে যাতে কমান্ডটি ইন্টারঅ্যাক্টিভ প্রম্পট ছাড়াই চালানো যায়। আপনার সম্পূর্ণ যোগ্য ডোমেইন নাম হিসেবে CN (Common Name) সেট করুন।
  • -addext “subjectAltName=…” SAN এন্ট্রি যোগ করে। CA গুলো SAN তালিকার বিপরীতে ইস্যু করে, তাই সার্টিফিকেটটি যে প্রতিটি হোস্টনেম কভার করবে তা অন্তর্ভুক্ত করুন।

প্রতিটি প্লেসহোল্ডার আপনার প্রকৃত তথ্য দিয়ে প্রতিস্থাপন করুন:

  • example.com: আপনার প্রকৃত ডোমেইন, CN এবং SAN তালিকা উভয় জায়গাতেই।
  • C, ST, L, O: আপনার দুই-অক্ষরের দেশের কোড (বড় হাতের অক্ষরে, উদাহরণস্বরূপ US বা GB), রাজ্য বা প্রদেশ, শহর, এবং আইনগত প্রতিষ্ঠানের নাম। ডোমেইন-ভ্যালিডেটেড (DV) সার্টিফিকেটের জন্য এই ফিল্ডগুলো যাচাই করা হয় না, তবে কমান্ডটির জন্য এখনও বৈধ মান প্রয়োজন।
  • example.key এবং example.csr: আপনার পছন্দের যেকোনো ফাইলের নাম, যতক্ষণ আপনি সামঞ্জস্যপূর্ণ থাকেন।

আধুনিক OpenSSL ডিফল্টভাবে SHA-256 দিয়ে রিকোয়েস্টে স্বাক্ষর করে, যা CA-গুলোর প্রয়োজন, তাই আলাদা করে ডাইজেস্ট ফ্ল্যাগ যোগ করার প্রয়োজন নেই।

ওয়াইল্ডকার্ড বা অতিরিক্ত সাবডোমেইন সুরক্ষিত করা

আরও হোস্টনেম যোগ করতে, কমা দিয়ে আলাদা করা অতিরিক্ত DNS: এন্ট্রি দিয়ে SAN তালিকা সম্প্রসারিত করুন, উদাহরণস্বরূপ DNS:api.example.com। একটি ওয়াইল্ডকার্ড সার্টিফিকেটের জন্য, CN কে *.example.com সেট করুন এবং apex ডোমেইনটি SAN তালিকায় রাখুন। একটি ওয়াইল্ডকার্ড ঠিক এক স্তরের সাবডোমেইন কভার করে (www.example.com, mail.example.com) কিন্তু খালি apex (example.com) কভার করে না, তাই apex টি কভার করা নিশ্চিত করতে আলাদাভাবে তালিকাভুক্ত করতে হবে:

-addext "subjectAltName=DNS:*.example.com,DNS:example.com"

ECDSA কী পছন্দ করেন?

ECDSA কী একই নিরাপত্তা স্তরে RSA-এর চেয়ে ছোট এবং দ্রুত, এবং সমস্ত বর্তমান ব্রাউজার দ্বারা সমর্থিত। এর পরিবর্তে একটি P-256 (prime256v1) কী এবং CSR তৈরি করতে, -newkey আর্গুমেন্টটি পরিবর্তন করুন:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout example.key 
-out example.csr 
-subj "/C=US/ST=New York/L=New York/O=Example LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

ec_param_enc:named_curve অপশনটি কার্ভটিকে নাম দিয়ে সংরক্ষিত রাখে, যা PKIX-এর প্রয়োজন; এটি ছাড়া কিছু OpenSSL বিল্ড সম্পূর্ণ কার্ভ প্যারামিটার এমবেড করে এবং CA রিকোয়েস্টটি প্রত্যাখ্যান করে।

ধাপ ৪: CSR যাচাই করুন

রিকোয়েস্ট জমা দেওয়ার আগে, নিশ্চিত করুন যে এতে সঠিক ডোমেইন এবং SAN রয়েছে এবং এর স্বাক্ষর বৈধ। এই কমান্ডটি CSR ডিকোড করে এবং স্থানীয়ভাবে স্বাক্ষর পরীক্ষা করে:

openssl req -noout -text -verify -in example.csr

আউটপুটে verify OK খুঁজুন, Subject লাইনটি আপনার Common Name দেখাচ্ছে কিনা তা পরীক্ষা করুন, এবং নিশ্চিত করুন যে X509v3 Subject Alternative Name বিভাগে আপনার প্রত্যাশিত প্রতিটি হোস্টনেম তালিকাভুক্ত আছে। যদি কোনো SAN অনুপস্থিত থাকে, সঠিক -addext মান দিয়ে CSR পুনরায় তৈরি করুন। আপনি ব্রাউজারে এই ফিল্ডগুলো পরীক্ষা করতে আমাদের অনলাইন CSR decoder-এ রিকোয়েস্টটি পেস্টও করতে পারেন।

ধাপ ৫: CSR খুঁজুন এবং জমা দিন

উভয় ফাইল বিদ্যমান আছে কিনা তা নিশ্চিত করতে ওয়ার্কিং ডিরেক্টরির তালিকা দেখুন:

ls -l example.key example.csr

আপনি একটি Linux সার্ভারে আছেন, তাই CSR টি টার্মিনাল ভিউয়ার দিয়ে খুলুন, Windows এডিটর দিয়ে নয়। এটিকে স্ক্রিনে প্রিন্ট করুন এভাবে:

cat example.csr

সম্পূর্ণ ব্লকটি কপি করুন, প্রথম এবং শেষ লাইন সহ। একটি CSR প্রতিটি পাশে পাঁচটি হাইফেন সহ CERTIFICATE REQUEST মার্কার দ্বারা সীমাবদ্ধ, ইস্যুকৃত সার্টিফিকেটের CERTIFICATE মার্কার দ্বারা নয়:

-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----

সেই ব্লকটি আপনার SSL অর্ডার ফর্মে পেস্ট করুন। CA রিকোয়েস্টটি যাচাই করে আপনার সার্টিফিকেট ইস্যু করার পরে, এটি স্থাপন করতে Sentora-তে একটি SSL সার্টিফিকেট ইনস্টল করা সম্পর্কে আমাদের গাইড অনুসরণ করুন। example.key ফাইলটি সার্ভারে রাখুন: HTTPS সক্রিয় করার জন্য ইস্যুকৃত সার্টিফিকেটের সাথে এটি প্রয়োজন, এবং আপনার কখনো এটি CA বা অন্য কাউকে পাঠানো উচিত নয়।

যদি আপনি একেবারেই কমান্ড লাইন ব্যবহার করতে না চান, তাহলে আপনি আমাদের CSR Generator দিয়ে রিকোয়েস্টটি তৈরি করতে পারেন এবং ফলাফলটি আপনার অর্ডারে পেস্ট করতে পারেন।

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

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

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

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