উবুন্টু এবং ডেবিয়ানে লেটস এনক্রিপ্টের সাহায্যে এনগিনেক্স কীভাবে সুরক্ষিত করা যায়


অ্যাপাচি এসএসএল সম্পর্কিত আগের লেটস এর এনক্রিপ্ট টিউটোরিয়াল অনুসরণ করে, এই নিবন্ধে আমরা কীভাবে উবুন্টু বা দেবিয়ান-এ Nginx ওয়েবসভারের জন্য লেটস এনক্রিপ্ট সিএ দ্বারা জারি করা একটি বিনামূল্যে এসএসএল/টিএলএস শংসাপত্র তৈরি ও ইনস্টল করব তা আলোচনা করব discuss

  1. উবুন্টু এবং ডেবিয়ানে ফ্রি লেটস এনক্রিপ্ট সহ অ্যাপাচি সুরক্ষিত করুন
  2. আরএইচইল এবং সেন্টোস
  3. এ অ্যাপাচি সুরক্ষিত করার জন্য লেটস এর এনক্রিপ্ট এসএসএস ইনস্টল করুন

  1. আপনার সার্ভারের আইপি ঠিকানায় ফিরে নির্দেশ করতে বৈধ ডিএনএস একটি রেকর্ড সহ একটি নিবন্ধিত ডোমেন
  2. আপনি একাধিক ডোমেন বা সাব-ডোমেন হোস্ট করার পরিকল্পনার ক্ষেত্রে সক্ষম এসএসএল এবং ভোস্ট সহ একটি ইনস্টলড এনগিনেক্স ওয়েব সার্ভার

পদক্ষেপ 1: এনগিনেক্স ওয়েব সার্ভার ইনস্টল করা

1. প্রথম পদক্ষেপে নিগিনক্স ওয়েব সার্ভারটি ইনস্টল করুন, যদি না নিচে কমান্ড জারি করে ইতোমধ্যে ইনস্টল করা থাকে:

$ sudo apt-get install nginx

পদক্ষেপ 2: এনগিনেক্সের জন্য একটি লেটস এনক্রিপ্ট এসএসএল শংসাপত্র তৈরি করুন

২. নিখরচায় এসএসএল/টিএলএস শংসাপত্র তৈরি করার আগে, নীচের কমান্ডগুলি জারি করে গিট ক্লায়েন্টের সহায়তায় /usr/স্থানীয়/ ফাইল সিস্টেমের ক্রমবিন্যাসে লেটস এর এনক্রিপ্ট সফ্টওয়্যারটি ইনস্টল করুন:

$ sudo apt-get -y install git
$ cd /usr/local/
$ sudo git clone https://github.com/letsencrypt/letsencrypt

৩.নিগিনেক্সের শংসাপত্র পাওয়ার প্রক্রিয়াটি স্বয়ংক্রিয়ভাবে চালিত হওয়া সত্ত্বেও, আপনি লেট'স এনক্রিপ্ট স্ট্যান্ডলোন প্লাগইন ব্যবহার করে ম্যানুয়ালি এনগিনেক্সের জন্য একটি নিখরচায় এসএসএল শংসাপত্র তৈরি ও ইনস্টল করতে পারেন।

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

আপনি যদি ইতিমধ্যে Nginx চালাচ্ছেন তবে নিম্নলিখিত কমান্ডটি জারি করে পরিষেবাটি বন্ধ করুন।

$ sudo service nginx stop
OR
$ sudo systemctl stop nginx

আপনি যদি 80 অন্যান্য পোর্টের সাথে বাঁধা অন্যান্য পরিষেবা চালাচ্ছেন তবে সেই পরিষেবাও বন্ধ করে দিন।

4. নেটস্ট্যাট কমান্ড চালিয়ে 80 পোর্টটি মুক্ত তা নিশ্চিত করুন:

$ sudo netstat -tlpn | grep 80

৫. এখন কোনও এসএসএল শংসাপত্র পাওয়ার জন্য লেটেনক্রিপ চালানোর সময়।/Usr/লোকাল/লেটসেনক্রিপ্ট সিস্টেম পাথ-এ পাওয়া লেটসক্রিপট-অটো কমান্ড চালুন এবং এর জন্য সের্তোনালি --standalone বিকল্প এবং -d পতাকা সরবরাহ করে লেটসক্রিপ্ট-অটো কমান্ড চালান Let's প্রতিটি ডোমেন বা সাবডোমেন আপনি একটি শংসাপত্র তৈরি করতে চান।

$ cd /usr/local/letsencrypt
$ sudo ./letsencrypt-auto certonly --standalone -d your_domain.tld 

The. ইমেল ঠিকানাটি প্রবেশ করান যা হারানো কী পুনরুদ্ধার বা জরুরি বিজ্ঞপ্তির জন্য লেটস এনক্রিপ্ট দ্বারা ব্যবহৃত হবে be

Enter. এন্টার কী টিপে লাইসেন্সের শর্তাদির সাথে সম্মত হন।

৮. অবশেষে, যদি সবকিছু সফল হয় তবে নীচের স্ক্রিনশটের অনুরূপ একটি বার্তা আপনার টার্মিনাল কনসোলে উপস্থিত হবে।

পদক্ষেপ 3: এনগিনেক্সে লেট এর এনক্রিপ্ট এসএসএল শংসাপত্র ইনস্টল করুন

9. এখন আপনার এসএসএল শংসাপত্রটি তৈরি করা হয়েছে এটি ব্যবহারের জন্য এনজিএনএক্স ওয়েবসারভারটি কনফিগার করার সময়। নতুন এসএসএল শংসাপত্রগুলি আপনার ডোমেনের নাম অনুসারে একটি ডিরেক্টরিতে /etc/letsencrypt/live/ এ স্থাপন করা হয়েছে। আপনার ডোমেনের জন্য জারি করা শংসাপত্র ফাইলগুলি তালিকা করতে ls কমান্ড চালান।

$ sudo ls /etc/letsencrypt/live/
$ sudo ls -al /etc/letsencrypt/live/caeszar.tk

১০. এরপরে, একটি পাঠ্য সম্পাদক সহ /etc/nginx/সাইটগুলি উপলব্ধ/ডিফল্ট ফাইলটি খুলুন এবং এসএসএল ব্লকের সূচনা নির্দিষ্ট করে এমন প্রথম মন্তব্য করা লাইনের পরে নিম্নলিখিত ব্লকটি যুক্ত করুন। দিকনির্দেশ হিসাবে নীচের স্ক্রিনশটটি ব্যবহার করুন।

$ sudo nano /etc/nginx/sites-enabled/default

এনগিনেক্স ব্লক সংক্ষিপ্তসার:

# SSL configuration
        #
        listen 443 ssl default_server;
        ssl_certificate /etc/letsencrypt/live/caeszar.tk/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/caeszar.tk/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        ssl_dhparam /etc/nginx/ssl/dhparams.pem;

সেই অনুযায়ী এসএসএল শংসাপত্রগুলির জন্য ডোমেন নামের মানগুলি প্রতিস্থাপন করুন।

১১. পরবর্তী পদক্ষেপে লগজাম আক্রমণ থেকে আপনার সার্ভারকে রক্ষা করার জন্য নিম্নলিখিত কমান্ডগুলি চালিয়ে একটি শক্তিশালী ডিফি-হেলম্যান সিফার তৈরি করুন/ইত্যাদি/এনজিনেক্স/এসএসএল/ডিরেক্টরিতে।

$ sudo mkdir /etc/nginx/ssl
$ cd /etc/nginx/ssl
$ sudo openssl dhparam -out dhparams.pem 2048

12. পরিশেষে, পরিবর্তনগুলি প্রতিবিম্বিত করতে Nginx ডেমন পুনরায় চালু করুন।

$ sudo systemctl restart nginx

এবং নীচের URL টিতে গিয়ে আপনার SSL শংসাপত্রটি পরীক্ষা করুন।

https://www.ssllabs.com/ssltest/analyze.html

পদক্ষেপ 4: স্বয়ংক্রিয়ভাবে এনজিঙ্কস শংসাপত্রগুলি এনক্রিপ্ট করুন R

13. লেটস এনক্রিপ্ট সিএ দ্বারা জারি করা শংসাপত্রগুলি 90 দিনের জন্য বৈধ। মেয়াদোত্তীর্ণ হওয়ার তারিখের আগে ফাইলগুলিকে স্বয়ংক্রিয়ভাবে পুনর্নবীকরণের জন্য ssl-renew.sh /usr/স্থানীয়/বিন/ ডিরেক্টরিতে নিম্নলিখিত বিষয়বস্তু দিয়ে ডিরেক্টরিটি তৈরি করুন।

$ sudo nano /usr/local/bin/ssl-renew.sh

ssl-renew.sh ফাইলে নিম্নলিখিত লিখিত সামগ্রী যুক্ত করুন।

#!/bin/bash

cd /usr/local/letsencrypt
sudo ./letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path=/var/www/html/ -d your_domain.tld
sudo systemctl reload nginx
exit 0

আপনার এনগিনেক্স ডকুমেন্টের মূলের সাথে মেলে --webroot-path পরিবর্তনশীলটি প্রতিস্থাপন করুন। নিম্নলিখিত কমান্ড জারি করে স্ক্রিপ্টটি কার্যকরযোগ্য কিনা তা নিশ্চিত করুন।

$ sudo chmod +x /usr/local/bin/ssl-renew.sh

১৪. শেষ অবধি আপনার সার্টিফিকেটটি মেয়াদ শেষ হওয়ার আগে 30 দিনের মধ্যে আপডেট হবে তা নিশ্চিত করার জন্য প্রতি রাতে মধ্যরাতে স্ক্রিপ্টটি চালানোর জন্য অবশেষে একটি ক্রোন জব যুক্ত করুন।

$ sudo crontab -e

ফাইলের নীচে নিম্নলিখিত লাইনটি যুক্ত করুন।

0 1 1 */2 * /usr/local/bin/ssl-renew.sh >> /var/log/your_domain.tld-renew.log 2>&1

এটাই! আপনার এনগিনেক্স সার্ভার এখন একটি বিনামূল্যে লেটস এনক্রিপ্ট এসএসএল শংসাপত্র ব্যবহার করে এসএসএল সামগ্রী সরবরাহ করছে।