bg-tutorials

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

এই গাইডে দেখানো হয়েছে Proxmox VE-তে কীভাবে CSR (Certificate Signing Request) তৈরি করবেন। যেহেতু Proxmox Virtual Environment Debian-এর উপর তৈরি, তাই আপনি SSH-এর মাধ্যমে কমান্ড লাইন থেকে OpenSSL ইউটিলিটি ব্যবহার করে CSR তৈরি করবেন, যা প্রতিটি নোডে আগে থেকেই ইনস্টল করা থাকে। প্রক্রিয়াটি Proxmox VE 8.x এবং নতুন 9.x সিরিজে একই রকম।

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

ম্যানুয়াল CSR বনাম বিল্ট-ইন ACME ক্লায়েন্ট

Proxmox VE-তে একটি বিল্ট-ইন ACME ক্লায়েন্ট রয়েছে (অ্যাকাউন্ট Datacenter > ACME-এর অধীনে, এবং প্রতিটি নোডে ডোমেইন যোগ করা হয় Node > Certificates-এর অধীনে) যা Let’s Encrypt থেকে বিনামূল্যে সার্টিফিকেট অনুরোধ এবং স্বয়ংক্রিয়ভাবে নবায়ন করতে পারে। আপনি যদি শুধুমাত্র Proxmox ওয়েব ইন্টারফেস এবং একটি সর্বজনীনভাবে পৌঁছানো যায় এমন হোস্ট নাম সুরক্ষিত করতে চান, তাহলে এই স্বয়ংক্রিয় পদ্ধতিটিই সহজ এবং এটি নিজে থেকেই নবায়ন হয়।

তবুও আপনাকে হাতে CSR তৈরি করতে হবে যখন আপনি একটি বাণিজ্যিক CA থেকে সার্টিফিকেট কিনছেন, যখন আপনার এমন একটি ধরন প্রয়োজন যা ACME ইস্যু করে না (যেমন, একটি Organization Validation, Extended Validation, বা wildcard সার্টিফিকেট), অথবা যখন কোনো অভ্যন্তরীণ নীতির কারণে আপনাকে নিজেই কী এবং রিকোয়েস্ট নিয়ন্ত্রণ করতে হয়। এই টিউটোরিয়ালের বাকি অংশে সেই ম্যানুয়াল প্রক্রিয়াটি নিয়ে আলোচনা করা হয়েছে।

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

SSH-এর মাধ্যমে আপনার Proxmox নোডে সংযোগ করুন (অথবা Proxmox ওয়েব ইন্টারফেসে Shell কনসোল খুলুন)। OpenSSL ইতিমধ্যে ইনস্টল করা আছে। যদি কোনো কারণে এটি না থাকে, তাহলে প্রথমে এটি ইনস্টল করুন:

sudo apt-get update && sudo apt-get install openssl

প্রম্পটে, নিচের কমান্ডটি চালান একই ধাপে CSR এবং এর প্রাইভেট কী তৈরি করতে:

openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"

mywebsite-এর জায়গায় এমন একটি নাম দিন যা আপনার ডোমেইন সনাক্ত করে, যাতে পরে ফাইলগুলো চিনতে সহজ হয়। এখানে কমান্ডের প্রতিটি অংশ কী করে তা বলা হলো:

  • req -new একটি নতুন সার্টিফিকেট রিকোয়েস্ট তৈরি করে।
  • -newkey rsa:2048 একটি নতুন 2048-বিট RSA প্রাইভেট কী তৈরি করে। RSA 2048 বর্তমানে পাবলিক সার্টিফিকেটের জন্য ন্যূনতম মান; আপনি বড় কী-এর জন্য rsa:4096 ব্যবহার করতে পারেন, অথবা একটি আধুনিক এলিপ্টিক-কার্ভ কী-তে স্যুইচ করতে পারেন (নিচের FAQ দেখুন)।
  • -nodes প্রাইভেট কী এনক্রিপ্ট না করেই রাখে যাতে Proxmox সার্ভিস স্টার্টআপের সময় কোনো পাসফ্রেজ ছাড়াই এটি পড়তে পারে।
  • -keyout mywebsite.key প্রাইভেট কী লেখে। এই ফাইলটি নোডে রাখুন এবং কখনো শেয়ার করবেন না।
  • -out mywebsite.csr সেই CSR লেখে যা আপনি CA-তে জমা দেবেন।

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

ধাপ ২: আপনার ডোমেইন ও কোম্পানি সম্পর্কে প্রয়োজনীয় তথ্য প্রদান করুন

এরপর OpenSSL আপনাকে এমন কিছু তথ্যের জন্য জিজ্ঞাসা করবে যা সার্টিফিকেটের Distinguished Name গঠন করে। প্রতিটির উত্তর দিন:

  • Country Name: আপনার দেশের অফিসিয়াল দুই-অক্ষরের কোড, উদাহরণস্বরূপ US
  • State or Province: আপনার কোম্পানি যে রাজ্য বা প্রদেশে নিবন্ধিত তার পূর্ণ নাম, উদাহরণস্বরূপ Alabama
  • City or Locality: আপনার কোম্পানি যে শহরে অবস্থিত তার পূর্ণ নাম, উদাহরণস্বরূপ Mobile
  • Organization Name: আপনার কোম্পানির পূর্ণ আইনি নাম, উদাহরণস্বরূপ Your Company LLC। একটি Domain Validation (DV) সার্টিফিকেটের জন্য, এটি ফাঁকা রাখতে পারেন।
  • Organizational Unit Name: এটি ফাঁকা রাখুন। এটি পাবলিক SSL/TLS সার্টিফিকেটের জন্য অপ্রচলিত এবং CA-গুলো এটি বাদ দিয়ে দেয়।
  • Common Name: আপনি যে সম্পূর্ণ যোগ্য ডোমেইন নাম (FQDN) সুরক্ষিত করতে চান, উদাহরণস্বরূপ proxmox.yoursite.com। একটি Wildcard সার্টিফিকেটের জন্য, ডোমেইনের সামনে একটি অ্যাস্টেরিস্ক যোগ করুন, উদাহরণস্বরূপ *.yoursite.com
  • Email Address: একটি বৈধ ইমেইল ঠিকানা (বেশিরভাগ CA-এর জন্য ঐচ্ছিক)।
  • A challenge password: এটি ফাঁকা রাখুন। এটি একটি পুরনো ফিল্ড যা পাবলিক CA-গুলো উপেক্ষা করে।
  • An optional company name: এটি ফাঁকা রাখুন।

এখন OpenSSL CSR এবং প্রাইভেট কী সেই ডিরেক্টরিতে লেখে যেখান থেকে আপনি কমান্ডটি চালিয়েছিলেন। ফাইলগুলো তৈরি হয়েছে কিনা তা নিশ্চিত করতে তালিকা দেখুন:

ls

আপনি mywebsite.key এবং mywebsite.csr (অথবা আপনি যে নাম বেছে নিয়েছেন) দেখতে পাবেন।

ধাপ ৩: জমা দেওয়ার আগে CSR যাচাই করুন

CA-তে রিকোয়েস্ট পাঠানোর আগে, তথ্যগুলো সঠিক কিনা এবং স্বাক্ষরটি বৈধ কিনা তা পরীক্ষা করুন। Common Name-এ একটি টাইপো মানে পুনরায় ইস্যু করা, তাই এই ১০-সেকেন্ডের চেকটি করে নেওয়া মূল্যবান:

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

নিশ্চিত করুন যে Subject লাইনে সঠিক Common Name এবং প্রতিষ্ঠানের তথ্য দেখাচ্ছে, পাবলিক কী আপনার প্রত্যাশিত আকারের, এবং OpenSSL সেলফ-সিগনেচার যাচাইকৃত বলে রিপোর্ট করছে। আপনি যদি ব্রাউজারে রিকোয়েস্টটি পর্যালোচনা করতে চান, তাহলে এটি আমাদের CSR ডিকোডার-এ পেস্ট করুন, যা একই ডিকোড করা ফিল্ডগুলো অনলাইনে দেখায়।

ধাপ ৪: আপনার Certificate Authority-তে CSR জমা দিন

যেকোনো টেক্সট এডিটরে CSR ফাইলটি খুলুন:

cat mywebsite.csr

SSL অর্ডার প্রক্রিয়ার সময়, ফাইলের সম্পূর্ণ বিষয়বস্তু কপি করুন, যার মধ্যে —–BEGIN CERTIFICATE REQUEST—– এবং —–END CERTIFICATE REQUEST—– লাইনও অন্তর্ভুক্ত থাকবে, এবং এটি আপনার SSL বিক্রেতার ওয়েবসাইটের CSR বক্সে পেস্ট করুন। কোনো মার্কার লাইন বাদ দিলে, বা প্রতিটি পাশের পাঁচটি হাইফেনের যেকোনো একটি বাদ দিলে, CA রিকোয়েস্টটি প্রত্যাখ্যান করবে।

CA যখন CSR যাচাই করে আপনার সার্টিফিকেট ইস্যু করে দেবে, তখন আমাদের Proxmox SSL ইনস্টলেশন নির্দেশাবলী অনুসরণ করে এটি নোডে ইনস্টল করুন। আপনি ইস্যুকৃত সার্টিফিকেটটি সার্ভারে থাকা mywebsite.key ফাইলের সাথে জোড়া লাগাবেন।

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

Proxmox-এ প্রাইভেট কী কোথায় সংরক্ষিত হয়?

প্রাইভেট কী সেই ডিরেক্টরিতে লেখা হয় যেখান থেকে আপনি OpenSSL কমান্ডটি চালিয়েছিলেন, আপনি যে ফাইল নাম -keyout-এ দিয়েছিলেন তার অধীনে (উদাহরণস্বরূপ mywebsite.key)। এটি কখনো নোড থেকে বের হয় না এবং কখনো CA-তে পাঠানো হয় না। এটি নিরাপদে রাখুন এবং এর ব্যাকআপ নিন, কারণ ইস্যুকৃত সার্টিফিকেট শুধুমাত্র এই নির্দিষ্ট কী-এর সাথেই কাজ করে।

Proxmox-এ RSA-এর পরিবর্তে আমি কি ECDSA CSR তৈরি করতে পারি?

হ্যাঁ। এলিপ্টিক-কার্ভ (ECDSA) কী একই নিরাপত্তা স্তরে RSA-এর চেয়ে ছোট এবং দ্রুততর, এবং এটি সমস্ত প্রধান CA দ্বারা সমর্থিত। একটি কমান্ডেই কী এবং CSR তৈরি করুন:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
prime256v1 কার্ভ (যাকে P-256ও বলা হয়) একটি নিরাপদ ডিফল্ট বিকল্প। বাকি প্রক্রিয়া, ধাপ ২-এর প্রম্পটসহ, একই রকম।

Proxmox-এ বিল্ট-ইন ACME ক্লায়েন্ট থাকলেও কি আমাকে CSR তৈরি করতে হবে?

না। একটি সর্বজনীনভাবে পৌঁছানো যায় এমন হোস্ট নামের জন্য বিনামূল্যে Let’s Encrypt সার্টিফিকেটের ক্ষেত্রে, Datacenter > ACME-এর অধীনে থাকা বিল্ট-ইন ACME ক্লায়েন্ট রিকোয়েস্টটি নিজে থেকেই পরিচালনা করে এবং স্বয়ংক্রিয়ভাবে নবায়ন করে, কোনো ম্যানুয়াল CSR ছাড়াই। আপনি হাতে CSR তৈরি করবেন যখন আপনি একটি বাণিজ্যিক CA থেকে কিনছেন, অথবা যখন আপনার এমন একটি OV, EV, বা wildcard সার্টিফিকেট প্রয়োজন যা ডিফল্ট ACME সেটআপ ইস্যু করে না।

আমার CSR-এর বিষয়বস্তু কীভাবে পড়ব?

ডিকোড করা ফিল্ডগুলো (Subject, কী-এর আকার, এবং যেকোনো Subject Alternative Names) সরাসরি নোডে প্রিন্ট করতে openssl req -noout -text -in mywebsite.csr চালান। রিকোয়েস্ট জমা দেওয়ার আগে সেলফ-সিগনেচার বৈধ কিনা তা নিশ্চিত করতে -verify ফ্ল্যাগও যোগ করুন।

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

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

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

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