CentOS 8 এ কীভাবে স্থানীয় স্ব-স্বাক্ষরিত SSL শংসাপত্র তৈরি করবেন


এসএসএল (সিকিউর সকেট স্তর) এবং এর উন্নত সংস্করণ টিএলএস (পরিবহন সকেট স্তর) হ'ল সুরক্ষা প্রোটোকল যা ক্লায়েন্টের ওয়েব ব্রাউজার থেকে ওয়েব সার্ভারে প্রেরিত ওয়েব ট্র্যাফিক সুরক্ষিত করতে ব্যবহৃত হয়।

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

একটি স্ব-স্বাক্ষরিত এসএসএল শংসাপত্র, অন্য কোনও এসএসএল শংসাপত্রের বিপরীতে যা শংসাপত্র কর্তৃপক্ষের (সিএ) দ্বারা স্বাক্ষরিত এবং বিশ্বাসযোগ্য, এটি স্বতন্ত্র ব্যক্তি দ্বারা স্বাক্ষরিত একটি শংসাপত্র।

এটি তৈরির জন্য এটি সম্পূর্ণ নিখরচায় এবং আপনার স্থানীয়ভাবে হোস্ট করা ওয়েব সার্ভারকে এনক্রিপ্ট করার একটি সহজ উপায়। তবে, স্ব স্বাক্ষরিত এসএসএল শংসাপত্রের ব্যবহার নিম্নলিখিত কারণে উত্পাদন পরিবেশে নিরুৎসাহিত:

  1. যেহেতু এটি একটি শংসাপত্র কর্তৃপক্ষের দ্বারা স্বাক্ষরিত নয়, স্ব-স্বাক্ষরিত এসএসএল শংসাপত্রটি ওয়েব ব্রাউজারগুলিতে সতর্কতা উত্পন্ন করে সম্ভাব্য ঝুঁকির বিষয়ে ব্যবহারকারীদের সতর্ক করার আগে তাদের এগিয়ে যাওয়ার সিদ্ধান্ত নেওয়া উচিত। এই সতর্কতাগুলি অনাকাঙ্ক্ষিত এবং ব্যবহারকারীদের আপনার ওয়েবসাইট পরিদর্শন করা থেকে বিরত রাখবে, সম্ভাব্যভাবে ওয়েব ট্র্যাফিক হ্রাস পেতে পারে। এই সতর্কতাগুলির কার্যকারিতা হিসাবে, সংস্থাগুলি সাধারণত তাদের কর্মীদের কেবল সতর্কতাগুলি উপেক্ষা করে এগিয়ে যাওয়ার জন্য উত্সাহ দেয়। এটি এমন ব্যবহারকারীদের মধ্যে একটি বিপজ্জনক অভ্যাসের কারণ হতে পারে যারা অন্যান্য অনলাইন সাইটগুলিতে এই সতর্কতাগুলি উপেক্ষা করে সম্ভাব্যভাবে ফিশিং সাইটগুলির শিকার হওয়ার সিদ্ধান্ত নিতে পারে
  2. স্ব-স্বাক্ষরিত শংসাপত্রগুলির একটি নিম্ন-সুরক্ষা স্তর থাকে যেহেতু তারা নিম্ন-স্তরের সাইফার প্রযুক্তি এবং হ্যাশগুলি প্রয়োগ করে। সুতরাং সুরক্ষা স্তরটি স্ট্যান্ডার্ড সুরক্ষা নীতিগুলির সাথে সমান নাও হতে পারে
  3. অতিরিক্ত হিসাবে, পাবলিক কী ইনফ্রাস্ট্রাকচার (পিকেআই) ফাংশনগুলির জন্য কোনও সমর্থন নেই

এটি বলেছে যে, স্থানীয় মেশিনে পরীক্ষামূলক পরিষেবা এবং অ্যাপ্লিকেশনগুলির জন্য স্ব-স্বাক্ষরিত এসএসএল শংসাপত্রের ব্যবহার খারাপ ধারণা নয় যার জন্য টিএলএস/এসএসএল এনক্রিপশন প্রয়োজন।

এই গাইডটিতে আপনি শিখবেন কীভাবে সেন্টোস 8 সার্ভার সিস্টেমে অ্যাপাচি লোকালহোস্ট ওয়েব সার্ভারে স্থানীয় স্ব-স্বাক্ষরিত SSL শংসাপত্রটি ইনস্টল করতে হয় will

শুরু করার আগে, আপনার নিম্নলিখিত মৌলিক প্রয়োজনীয়তা রয়েছে তা নিশ্চিত করুন:

  1. CentOS 8 সার্ভারের একটি উদাহরণ
  2. সার্ভারে অ্যাপাচি ওয়েবসার্ভার ইনস্টল হয়েছে
  3. একটি হোস্টনাম ইতিমধ্যে কনফিগার করা হয়েছে এবং/ইত্যাদি/হোস্ট ফাইলে সংজ্ঞায়িত হয়েছে। এই গাইডের জন্য, আমরা আমাদের সার্ভারের জন্য একটি হোস্টনাম tecmint.local ব্যবহার করতে যাচ্ছি

পদক্ষেপ 1: CentOS এ Mod_SSL ইনস্টল করা

1. শুরু করার জন্য, আপনাকে যাচাই করতে হবে যে অ্যাপাচি ওয়েব সার্ভারটি ইনস্টল এবং চলছে to

$ sudo systemctl status httpd

এখানে প্রত্যাশিত আউটপুট।

যদি ওয়েবসার্ভার চলমান না থাকে, আপনি কমান্ডটি ব্যবহার করে বুট করার পরে এটি শুরু করতে এবং সক্ষম করতে পারেন।

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

এরপরে আপনি অ্যাপাচি চালু এবং চলমান আছে কিনা তা নিশ্চিত করতে পারেন।

২. স্থানীয় স্ব-স্বাক্ষরিত SSL শংসাপত্রের ইনস্টলেশন ও সেটআপ সক্ষম করতে, মোড_এসএসএল প্যাকেজটি প্রয়োজন।

$ sudo dnf install mod_ssl

একবার ইনস্টল হয়ে গেলে আপনি চালনার মাধ্যমে এর ইনস্টলেশনটি যাচাই করতে পারেন।

$ sudo rpm -q mod_ssl

এছাড়াও, নিশ্চিত করুন যে ওপেনএসএসএল প্যাকেজ ইনস্টল করা আছে (সেন্টোস 8 এ ওপেনএসএসএল ডিফল্টরূপে ইনস্টল করা আছে)।

$ sudo rpm -q openssl 

পদক্ষেপ 2: অ্যাপাচি এর জন্য স্থানীয় স্ব-স্বাক্ষরিত SSL শংসাপত্র তৈরি করুন

৩. অ্যাপাচি ওয়েব সার্ভার এবং চেক থাকা সমস্ত পূর্বশর্তগুলির সাহায্যে আপনাকে একটি ডিরেক্টরি তৈরি করতে হবে যার মধ্যে ক্রিপ্টোগ্রাফিক কীগুলি সংরক্ষণ করা হবে।

এই উদাহরণে, আমরা একটি ডিরেক্টরি/etc/ssl/বেসরকারী তৈরি করেছি।

$ sudo mkdir -p /etc/ssl/private

কমান্ডটি ব্যবহার করে এখন স্থানীয় এসএসএল শংসাপত্র কী এবং ফাইল তৈরি করুন:

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

কমান্ডের কিছু বিকল্প আসলে কীসের জন্য দাঁড়ায় তা একবার দেখে নেওয়া যাক:

  • req -x509 - এটি নির্দেশ করে যে আমরা x509 শংসাপত্র স্বাক্ষর করার অনুরোধ (সিএসআর) ব্যবহার করছি
  • -নোডস - এই বিকল্পটি ওপেনএসএসএলকে পাসফ্রেজ ব্যবহার করে এসএসএল শংসাপত্র এনক্রিপ্ট করা এড়াতে নির্দেশ দেয়। এখানে ধারণাটি হ'ল অ্যাপাচি কোনও ধরণের ব্যবহারকারীর হস্তক্ষেপ ছাড়াই ফাইলটি পড়তে পারবেন যা একটি পাসফ্রেজ সরবরাহ করা সম্ভব হবে না
  • -নিউকি আরএসএ: 2048 - এটি নির্দেশ করে যে আমরা একই সাথে একটি নতুন কী এবং একটি নতুন শংসাপত্র তৈরি করতে চাই। আরএসএ: 2048 অংশটি বোঝায় যে আমরা একটি 2048-বিট আরএসএ কী তৈরি করতে চাই
  • -কিআউট - এই বিকল্পটি সুনির্দিষ্ট করে দেয় যেখানে উত্পাদনের পরে উত্পন্ন ব্যক্তিগত কী ফাইলটি সংরক্ষণ করা হবে
  • -আউট - বিকল্পটি সুনির্দিষ্ট SSL সার্টিফিকেটটি কোথায় রাখবে তা নির্দিষ্ট করে।

পদক্ষেপ 3: অ্যাপাচে স্থানীয় স্বাক্ষরিত এসএসএল শংসাপত্র ইনস্টল করুন

৪. এসএসএল শংসাপত্র ফাইল তৈরি করে, অ্যাপাচি ওয়েব সার্ভারের সেটিংস ব্যবহার করে শংসাপত্রটি ইনস্টল করার এখন সময় এসেছে। /Etc/httpd/conf.d/ssl.conf কনফিগারেশন ফাইলটি খুলুন এবং সম্পাদনা করুন।

$ sudo vi /etc/httpd/conf.d/ssl.conf

ভার্চুয়াল হোস্ট ট্যাগের মধ্যে আপনার নিম্নলিখিত লাইন রয়েছে তা নিশ্চিত করুন।

<VirtualHost *:443>
    ServerAdmin [email 
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
</VirtualHost>

ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন। পরিবর্তনগুলি প্রভাবিত হওয়ার জন্য, আপাচি কমান্ডটি ব্যবহার করে পুনরায় চালু করুন:

$ sudo systemctl restart httpd

৫. বহিরাগত ব্যবহারকারীদের আপনার সার্ভার অ্যাক্সেস করার জন্য, আপনাকে যেমন ফায়ারওয়াল দেখানো হয়েছে তেমন 443 পোর্ট খুলতে হবে।

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

পদক্ষেপ 3: অ্যাপাচে স্থানীয় স্বাক্ষরিত এসএসএল শংসাপত্রের পরীক্ষা করা

স্থানে থাকা সমস্ত কনফিগারেশন সহ, আপনার ব্রাউজারটি জ্বালিয়ে দিন এবং https প্রোটোকল ব্যবহার করে সার্ভারের আইপি ঠিকানা বা ডোমেন নাম ব্যবহার করে আপনার সার্ভারের ঠিকানা ব্রাউজ করুন।

পরীক্ষাটি প্রবাহিত করার জন্য, আপনি অ্যাপাচি ওয়েবসারভারে HTTP প্রোটোকলটিকে HTTPS এ পুনঃনির্দেশ বিবেচনা করতে পারেন। এটি এমন যে আপনি যখনই প্লেইন এইচটিটিপিতে ডোমেন ব্রাউজ করবেন তখন এটি স্বয়ংক্রিয়ভাবে এইচটিটিপিএস প্রোটোকলে পুনঃনির্দেশিত হবে।

সুতরাং আপনার সার্ভারের ডোমেন বা আইপি ব্রাউজ করুন

https://domain_name/

দেখানো হিসাবে সংযোগটি নিরাপদ নয় বলে আপনাকে জানিয়ে একটি সতর্কতা পাবেন। এটি এক ব্রাউজার থেকে অন্য ব্রাউজারে পরিবর্তিত হয়। আপনি যেমন অনুমান করতে পারেন, সতর্কতাটি SSL শংসাপত্র শংসাপত্র কর্তৃপক্ষের দ্বারা স্বাক্ষরিত না হওয়ার কারণে এবং ব্রাউজারটি এটি নিবন্ধভুক্ত করে এবং রিপোর্ট করে যে শংসাপত্রটি বিশ্বাসযোগ্য নয়।

আপনার ওয়েবসাইটে যেতে, উপরে প্রদর্শিত হিসাবে ‘উন্নত’ ট্যাবে ক্লিক করুন:

এর পরে, ব্রাউজারে ব্যতিক্রম যুক্ত করুন।

অবশেষে, আপনার ব্রাউজারটি পুনরায় লোড করুন এবং পর্যবেক্ষণ করুন যে আপনি এখন সার্ভারটি অ্যাক্সেস করতে পারবেন, তবুও, ইউআরএল বারে একটি সতর্কতা থাকবে যে এসএসএল শংসাপত্রটি স্ব-স্বাক্ষরিত এবং স্বাক্ষরিত না হয়ে একই কারণে সাইটটি সম্পূর্ণ সুরক্ষিত নয় শংসাপত্র কর্তৃপক্ষ।

এটি আমাদের আশা যে আপনি এখন সেন্টোস 8-এ অ্যাপাচি লোকালহোস্ট ওয়েব সার্ভারে স্ব-স্বাক্ষরিত SSL শংসাপত্র তৈরি এবং ইনস্টল করতে পারবেন।