কম্পিউটার

কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

SSL/TLS সার্টিফিকেট তৈরি করার প্রক্রিয়া অনেক লিনাক্স সিস্টেম অ্যাডমিনিস্ট্রেটরদের জন্য একটি সাধারণ কাজ। ভাগ্যক্রমে, আপনি একজন প্রশাসক না হলেও, OpenSSL ব্যবহার করে এটি করা সহজ, একটি ওপেন-সোর্স টুল যা অনেক লিনাক্স ডিস্ট্রিবিউশনে ডিফল্টরূপে ইনস্টল করা থাকে। এখানে আমরা ব্যাখ্যা করছি ওপেনএসএসএল কী, কীভাবে এটি ইনস্টল করতে হয় এবং সবচেয়ে গুরুত্বপূর্ণভাবে, আপনার সিস্টেমে SSL এবং TLS শংসাপত্র তৈরি করতে কীভাবে এটি ব্যবহার করতে হয়।

OpenSSL কি?

OpenSSL হল একটি লাইব্রেরি যা ওপেন-সোর্স SSL এবং TLS ইমপ্লিমেন্টেশন প্রদান করার জন্য OpenSSL প্রজেক্ট দ্বারা তৈরি করা হয়েছে নেটওয়ার্ক ট্রাফিকের এনক্রিপশনের জন্য। এটি বিভিন্ন ইউনিক্স-ভিত্তিক ডিস্ট্রিবিউশনের জন্য সহজেই উপলব্ধ এবং সার্টিফিকেট, RSA ব্যক্তিগত কী তৈরি করতে এবং সাধারণ ক্রিপ্টোগ্রাফি-সম্পর্কিত কাজগুলি সম্পাদন করতে ব্যবহার করা যেতে পারে৷

স্ব-স্বাক্ষরিত SSL সার্টিফিকেটের সীমাবদ্ধতা

আপনি যখন একটি SSL শংসাপত্র তৈরি করতে OpenSSL ব্যবহার করেন, তখন এটিকে "স্ব-স্বাক্ষরিত" হিসাবে বিবেচনা করা হয়। এর মানে হল যে SSL শংসাপত্রটি তার নিজস্ব ব্যক্তিগত কী দিয়ে স্বাক্ষরিত এবং একটি শংসাপত্র কর্তৃপক্ষ (CA) থেকে নয়।

যেমন, SSL শংসাপত্র "বিশ্বস্ত" হতে পারে না এবং কোনো পাবলিক ফেসিং সাইটের জন্য ব্যবহার করা উচিত নয়৷ যদি ব্যবহার করা হয়, ব্যবহারকারীরা সম্ভবত তাদের ব্রাউজার থেকে শংসাপত্র সম্পর্কে সতর্কতা দেখতে পাবেন৷

একটি স্ব-স্বাক্ষরিত শংসাপত্র স্থানীয় বিকাশের জন্য বা ব্যাকগ্রাউন্ডে চলমান যেকোন অ্যাপের জন্য দরকারী যা ইন্টারনেটের মুখোমুখি হয় না৷

বিকল্পভাবে, আপনি LetsEncrypt ব্যবহার করতে পারেন বা একটি বিশ্বস্ত কর্তৃপক্ষ দ্বারা যাচাইকৃত একটি শংসাপত্র পেতে পারেন, যেমন Comodo CA৷

ইনস্টলেশন

বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনে ইতিমধ্যেই ডিফল্টরূপে OpenSSL-এর একটি সংস্করণ রয়েছে। যদি না হয়, আপনি সহজেই এটি ইনস্টল করতে পারেন৷

আপনি apt ব্যবহার করে উবুন্টু এবং ডেবিয়ানে এটি ইনস্টল করতে পারেন কমান্ড:

sudo apt install openssl

CentOS এ (বা এর বিকল্প), আপনি yum ব্যবহার করে এটি ইনস্টল করতে পারেন কমান্ড:

sudo yum install openssl

এছাড়াও আপনি সহজেই এটির ওয়েবসাইট থেকে একটি “.tar.gz” ফাইল হিসেবে ডাউনলোড করতে পারেন।

প্রাথমিক ব্যবহার

এখন যেহেতু আপনি OpenSSL ইনস্টল করেছেন, আমরা প্রোগ্রামটি প্রদান করে এমন কিছু মৌলিক ফাংশন দেখতে পারি৷

আপনি আপনার OpenSSL ইনস্টলেশন সম্পর্কে সংস্করণ এবং অন্যান্য প্রাসঙ্গিক তথ্য দেখে শুরু করতে পারেন:

openssl version -a
কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

আপনি প্রদত্ত ম্যানুয়ালটি দেখতে পারেন:

openssl help
কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

কনফিগারেশন ফাইল ব্যবহার করে একটি সার্টিফিকেট তৈরি করা

OpenSSL ব্যবহার করে একটি শংসাপত্র তৈরি করা অনেক উপায়ে সম্ভব। তাদের মধ্যে একটি হল একটি কনফিগারেশন ফাইল ব্যবহার করে যা প্রতিষ্ঠান সম্পর্কে বিস্তারিত উল্লেখ করবে।

শুরু করতে, আপনি "config.conf" নামে একটি কনফিগারেশন ফাইল তৈরি করতে পারেন এবং ন্যানো ব্যবহার করে এটি সম্পাদনা করতে পারেন:

sudo nano example.conf

এখানে কনফিগারেশন ফাইলের বিষয়বস্তুর একটি উদাহরণ:

[req]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
x509_extensions= v3_ca
distinguished_name = dn
 
[dn]
C = US
ST = California
L = Los Angeles
O = Org
OU = Sales
emailAddress = test@test.com
CN = www.org.test.com
 
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer:always
basicConstraints = CA:true
 
[req_ext]
subjectAltName = @alt_names
 
[alt_names]
DNS.1 = test.example.com

আপনি ফাইলে এটি কপি এবং পেস্ট করতে পারেন এবং আপনার প্রতিষ্ঠানের তথ্য প্রতিফলিত করতে প্রয়োজনীয় পরিবর্তন করতে পারেন।

কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

এর পরে, আপনাকে একটি RSA ব্যক্তিগত কী তৈরি করতে হবে, যা তারপর একটি রুট শংসাপত্র তৈরি করতে ব্যবহার করা হবে -:

openssl genrsa -out example.key 2048

-out এই ক্ষেত্রে ফ্ল্যাগ ব্যবহার করা হয় কী-এর নাম নির্দিষ্ট করতে যা তৈরি করা হবে। 2048 বিটের একটি কী আকারও নির্দিষ্ট করা হয়েছে, যা RSA কীগুলির জন্য ডিফল্ট৷

কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

এছাড়াও আপনাকে একটি সার্টিফিকেট সাইনিং রিকোয়েস্ট (CSR):

তৈরি করতে হবে
openssl req -new -key example.key -out example.csr -config example.conf

এই ক্ষেত্রে, -key পতাকা RSA কী, -out নির্দিষ্ট করতে ব্যবহৃত হয় পতাকা CSR ফাইলের নাম এবং -config নির্দিষ্ট করে ফ্ল্যাগ কনফিগার ফাইলের নাম নির্দিষ্ট করতে ব্যবহৃত হয়।

এর পরে, আপনি একটি মূল শংসাপত্র তৈরি করতে পারেন, যা আমাদের চূড়ান্ত শংসাপত্র তৈরি করতে ব্যবহৃত হয়:

openssl req -x509 -sha256 -nodes -new -key example.key -out example.crt -config example.conf

এই রুট সার্টিফিকেট তৈরি করার প্রক্রিয়ায়, -sha256 বার্তা ডাইজেস্ট হিসাবে SHA256 নির্দিষ্ট করতে পতাকা ব্যবহার করা হয়।

এখন, চূড়ান্ত পদক্ষেপের জন্য, আমরা শেষ পর্যন্ত আমাদের শংসাপত্র তৈরি করতে নিম্নলিখিতটি টাইপ করতে পারি:

openssl x509 -sha256 -CAcreateserial -req -days 30 -in example.csr -extfile example.conf -CA example.crt -CAkey example.key -out final.crt

-CA পতাকা মূল শংসাপত্র নির্দিষ্ট করে, -CAkey পতাকা ব্যক্তিগত কী এবং -extfile নির্দিষ্ট করে কনফিগারেশন ফাইলের নাম উল্লেখ করে। “final.crt” ফাইলটি হবে আপনার পছন্দের SSL সার্টিফিকেট।

কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

কোন কনফিগারেশন ফাইল ছাড়াই একটি শংসাপত্র তৈরি করা হচ্ছে

বিকল্পভাবে, আপনি কনফিগারেশন ফাইল ছাড়াই OpenSSL ব্যবহার করে একটি শংসাপত্র তৈরি করতে পারেন।

আপনি একটি RSA ব্যক্তিগত কী তৈরি করে শুরু করতে পারেন:

openssl genrsa -out example.key 2048

এর পরে, আপনাকে একটি CSR তৈরি করতে হবে:

openssl req -new -key example.key -out example.csr

একটি CSR তৈরি করার সময়, আপনাকে আপনার প্রতিষ্ঠান সম্পর্কে প্রশ্নের উত্তর দেওয়ার জন্য অনুরোধ করা হবে।

কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

অবশেষে, আমরা শংসাপত্র নিজেই তৈরি করতে পারি:

openssl x509 -req -days 30 -in example.csr -signkey example.key -out example.crt
কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

কী এবং সার্টিফিকেটের যাচাইকরণ

কী এবং সার্টিফিকেট সহজেই ওপেনএসএসএল ব্যবহার করে চেক করা হয় এবং যাচাই করা হয়, -check পতাকা:

openssl rsa -check -in example.key
কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

আপনি শংসাপত্র স্বাক্ষরের অনুরোধগুলি পরীক্ষা করতে পারেন:

openssl req -text -noout -in example.csr

এবং সার্টিফিকেটও:

openssl x509 -text -noout -in example.crt
কিভাবে OpenSSL ব্যবহার করে লিনাক্সে SSL সার্টিফিকেট তৈরি করবেন

প্রায়শই জিজ্ঞাসিত প্রশ্ন

1. আমাকে কি এখনও হার্টব্লিড নিয়ে চিন্তা করতে হবে?

হার্টব্লিড (CVE-2014-0160) একটি পুরানো দুর্বলতা যা 2014 সালে OpenSSL-এ পাওয়া গেছে। TLS-সার্ভার এবং OpenSSL চালানো ক্লায়েন্ট উভয়ই প্রভাবিত হয়েছিল। একটি প্যাচ আবিষ্কারের কয়েকদিন পরে দ্রুত প্রকাশ করা হয়েছিল, এবং যতক্ষণ না আপনি OpenSSL-এর একটি আধুনিক এবং আপ-টু-ডেট সংস্করণ চালাচ্ছেন ততক্ষণ এই দুর্বলতাটি 2022-এ চিন্তা করার মতো কিছু নয়।

আপনি যদি ডেবিয়ান এবং উবুন্টু-ভিত্তিক সিস্টেমে ওপেনএসএসএল ব্যবহার করেন, আপনি সর্বদা নিম্নলিখিত কমান্ডগুলি চালিয়ে এটি আপডেট করতে পারেন:

sudo apt update && sudo apt upgrade openssl

2. SSL শংসাপত্রের মেয়াদ শেষ হওয়ার আগে কতক্ষণ স্থায়ী হয়?

এটি শংসাপত্র তৈরি করার সময় আপনি যে মান চয়ন করেন তার উপর নির্ভর করে। এটি -days ব্যবহার করে নির্দিষ্ট করা যেতে পারে একটি শংসাপত্র তৈরি করার সময় পতাকা।


  1. কীভাবে লিনাক্সে এসসিপি ব্যবহার করে নিরাপদে ফাইল স্থানান্তর করবেন

  2. লিনাক্সে ভার্চুয়াল মেশিন ম্যানেজার ব্যবহার করে কিভাবে শুরু করবেন

  3. কালি লিনাক্স ব্যবহার করে কীভাবে একটি অ্যান্ড্রয়েড ফোন অ্যাক্সেস করবেন

  4. লিনাক্সে কিভাবে GPG কী তৈরি করবেন