অ্যান্ড্রয়েড

ডিবিয়ান 9 এ এনক্রিপ্ট সহ নিরাপদ এনজিনেক্স

Como instalar o Debian GNU/Linux 9.8 Stretch

Como instalar o Debian GNU/Linux 9.8 Stretch

সুচিপত্র:

Anonim

আসুন এনক্রিপ্ট হ'ল একটি নিখরচায় ও মুক্ত শংসাপত্র কর্তৃপক্ষ যা ইন্টারনেট সুরক্ষা গবেষণা গ্রুপ (আইএসআরজি) দ্বারা নির্মিত হয়েছে। লেটস এনক্রিপ্ট দ্বারা জারি করা শংসাপত্রগুলি আজ প্রায় সমস্ত ব্রাউজার দ্বারা বিশ্বাসী।

এই টিউটোরিয়ালে, আমরা ডিবিয়ান 9-তে এনগিনেক্সের জন্য একটি বিনামূল্যে এসএসএল শংসাপত্র পাওয়ার জন্য সার্টবট সরঞ্জামটি কীভাবে ব্যবহার করব তা আমরা ব্যাখ্যা করব We

পূর্বশর্ত

এই টিউটোরিয়ালটি চালিয়ে যাওয়ার আগে নিম্নলিখিত পূর্বশর্তগুলি পূরণ করা হয়েছে তা নিশ্চিত করুন:

  • সুডো সুবিধাগুলি সহ ব্যবহারকারী হিসাবে লগ ইন করেছেন your আপনার সার্বজনীন সার্ভার আইপি-তে ইঙ্গিত করে একটি ডোমেন নাম রাখুন। আমরা example.com ডটকম ব্যবহার করব। এই নির্দেশাবলী অনুসরণ করে এনগিনেক্স ইনস্টল হয়েছে আপনার ডোমেনের জন্য আপনার একটি সার্ভার ব্লক রয়েছে। কীভাবে এটি তৈরি করতে হয় তার বিশদগুলির জন্য আপনি এই নির্দেশাবলী অনুসরণ করতে পারেন।

Certbot ইনস্টল করুন

সার্টবট হ'ল একটি সম্পূর্ণ বৈশিষ্ট্যযুক্ত এবং সহজেই ব্যবহারযোগ্য সরঞ্জাম যা চলুন এসএসএল এনক্রিপ্ট এনক্রিপ্ট এবং শংসাপত্রগুলি ব্যবহার করার জন্য ওয়েব সার্ভারগুলি কনফিগার করার জন্য কার্যগুলি স্বয়ংক্রিয় করতে পারে। Certbot প্যাকেজটি ডিফল্ট ডেবিয়ান সংগ্রহস্থলের অন্তর্ভুক্ত।

প্যাকেজ তালিকা আপডেট করুন এবং সার্টিবোট প্যাকেজ ইনস্টল করুন:

sudo apt update sudo apt install certbot

স্ট্রং ডিএইচ (ডিফি-হেলম্যান) গ্রুপ তৈরি করুন

ডিফি – হেলম্যান কী এক্সচেঞ্জ (ডিএইচ) একটি সুরক্ষিত কোনও যোগাযোগ চ্যানেলের মাধ্যমে ক্রিপ্টোগ্রাফিক কীগুলি নিরাপদে আদান প্রদানের একটি পদ্ধতি। সুরক্ষা জোরদার করতে আমরা 2048 বিট ডিএইচ প্যারামিটারের একটি নতুন সেট তৈরি করতে চলেছি:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 আপনি যদি চান তবে আপনি আকারটি 4096 বিট পর্যন্ত পরিবর্তন করতে পারেন, তবে সেই ক্ষেত্রে, সিস্টেম এন্ট্রপির উপর নির্ভর করে প্রজন্মটি 30 মিনিটেরও বেশি সময় নিতে পারে।

একটি চলুন এনক্রিপ্ট এসএসএল শংসাপত্র প্রাপ্ত

আমাদের ডোমেনের জন্য একটি এসএসএল শংসাপত্র পাওয়ার জন্য আমরা ওয়েবরুট প্লাগইন ব্যবহার করতে যা যা ${webroot-path}/.well-known/acme-challenge ডিরেক্টরিতে অনুরোধ করা ডোমেনটি বৈধ করার জন্য একটি অস্থায়ী ফাইল তৈরি করে কাজ করে। চলুন এনক্রিপ্ট সার্ভারটি অনুরোধ করা ডোমেনটি সেই সার্ভারে সল্টবট চালিত হয় সেখানে যাচাই করার জন্য অস্থায়ী ফাইলটিতে HTTP অনুরোধ জানায়।

আমরা একক ডিরেক্টরি, /var/lib/letsencrypt র কাছে .well-known/acme-challenge /var/lib/letsencrypt .well-known/acme-challenge জন্য সমস্ত HTTP অনুরোধগুলি ম্যাপ করতে /var/lib/letsencrypt

নিম্নলিখিত কমান্ডগুলি ডিরেক্টরিটি তৈরি করবে এবং এটিকে Nginx সার্ভারের জন্য লেখার যোগ্য করে তুলবে।

chgrp www-data /var/lib/letsencrypt mkdir -p /var/lib/letsencrypt/.well-known chgrp www-data /var/lib/letsencrypt chmod g+s /var/lib/letsencrypt

সদৃশ কোড এড়ানোর জন্য নিম্নলিখিত দুটি স্নিপেট তৈরি করুন যা আমাদের সমস্ত এনগিনেক্স সার্ভার ব্লক ফাইলগুলিতে অন্তর্ভুক্ত থাকবে।

আপনার পাঠ্য সম্পাদকটি খুলুন এবং প্রথম স্নিপেট তৈরি করুন, letsencrypt.conf :

sudo nano /etc/nginx/snippets/letsencrypt.conf /etc/nginx/snippets/letsencrypt.conf

location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }

দ্বিতীয় স্নিপেট ssl.conf তৈরি করুন যাতে মোজিলা দ্বারা প্রস্তাবিত ssl.conf অন্তর্ভুক্ত রয়েছে, ssl.conf , ssl.conf ট্রান্সপোর্ট সিকিউরিটি (এইচএসটিএস) সক্ষম করে এবং কয়েকটি সুরক্ষা-দৃষ্টি নিবদ্ধ করা এইচটিটিপি শিরোনাম প্রয়োগ করে।

sudo nano /etc/nginx/snippets/ssl.conf /etc/nginx/snippets/ssl.conf

ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;

একবার হয়ে গেলে, ডোমেন সার্ভার ব্লক ফাইলটি খুলুন এবং নীচের letsencrypt.conf মতো letsencrypt.conf স্নিপেট অন্তর্ভুক্ত করুন:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }

sites-enabled ডিরেক্টরিতে প্রতীকী লিঙ্ক তৈরি করে নতুন সার্ভার ব্লক sites-enabled :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

পরিবর্তনগুলি কার্যকর করতে Nginx পরিষেবাটি পুনরায় চালু করুন:

sudo systemctl restart nginx

আপনি এখন ওয়েবরুট প্লাগইন দিয়ে সার্টবট চালাতে পারেন এবং জারি করে এসএসএল শংসাপত্র ফাইলগুলি পেতে পারেন:

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

যদি এসএসএল শংসাপত্রটি সফলভাবে প্রাপ্ত হয় তবে নিম্নলিখিত বার্তাটি আপনার টার্মিনালে মুদ্রিত হবে:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-07-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:

এরপরে, ডোমেন সার্ভার ব্লকটি নিম্নরূপে সম্পাদনা করুন:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }

উপরের কনফিগারেশনটি সহ আমরা এইচটিটিপিএসকে বাধ্য করছি এবং www থেকে নন-www সংস্করণে পুনর্নির্দেশ করছি।

পরিবর্তনগুলি কার্যকর করতে Nginx পরিষেবাটি পুনরায় লোড করুন:

sudo systemctl reload nginx

স্বতঃ নবায়ন চলুন এসএসএল শংসাপত্র এনক্রিপ্ট করুন

আসুন এনক্রিপ্টের শংসাপত্রগুলি 90 দিনের জন্য বৈধ। শংসাপত্রগুলির মেয়াদ শেষ হওয়ার আগে স্বয়ংক্রিয়ভাবে পুনর্নবীকরণের জন্য, সার্টিবোট প্যাকেজটি এমন ক্রোনজব তৈরি করে যা কোনও দিন শেষ হওয়ার 30 দিন পূর্বে কোনও শংসাপত্র স্বয়ংক্রিয়ভাবে নবায়ন করে।

যেহেতু আমরা শংসাপত্র পুনর্নবীকরণের পরে একবার সার্টবট ওয়েবরুট প্লাগ-ইন ব্যবহার করছি আমাদের এছাড়াও এনগিনেক্স পরিষেবাটি পুনরায় লোড করতে হবে। --renew-hook "systemctl reload nginx" করুন যাতে এটির মতো দেখতে:

sudo nano /etc/cron.d/certbot /etc/cron.d/certbot

0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"

এই কমান্ডটি চালিয়ে স্বয়ংক্রিয় পুনর্নবীকরণ প্রক্রিয়াটি পরীক্ষা করুন:

sudo certbot renew --dry-run

যদি কোনও ত্রুটি না থাকে তবে এর অর্থ এই যে নবায়ন প্রক্রিয়াটি সফল হয়েছিল।

উপসংহার

আজকাল একটি এসএসএল শংসাপত্র থাকা আবশ্যক। এটি আপনার ওয়েবসাইটকে সুরক্ষিত করে, এসআরপি র‌্যাঙ্কিংয়ের অবস্থান বাড়ে এবং আপনাকে আপনার ওয়েব সার্ভারে HTTP / 2 সক্ষম করতে দেয়।

এই টিউটোরিয়ালে, আপনি আপনার ডোমেনের জন্য এসএসএল শংসাপত্র তৈরি করতে লেটস এনক্রিপ্ট ক্লায়েন্ট, সার্টবোট ব্যবহার করেছেন। আপনি নকল কোড এড়াতে Nginx স্নিপেটসও তৈরি করেছেন এবং শংসাপত্রগুলি ব্যবহার করতে Nginx কনফিগার করেছেন। টিউটোরিয়াল শেষে আপনি স্বয়ংক্রিয় শংসাপত্র পুনর্নবীকরণের জন্য একটি ক্রোনজব সেট আপ করেছেন।

nginx ডেবিয়ান আসুন certbot এসএসএল এনক্রিপ্ট করা যাক

এই পোস্টটি দেবিয়ান 9 সিরিজে এলইএমপি স্ট্যাক কীভাবে ইনস্টল করবেন তার একটি অংশ।

এই সিরিজের অন্যান্য পোস্ট:

U উবুন্টুতে কীভাবে মারিয়াডিবি ইনস্টল করবেন 18.04 De ডেবিয়ান 9 এ এনগিনেক্স কীভাবে ইনস্টল করবেন De ডেবিয়ান 9 তে পিএইচপি কীভাবে ইনস্টল করবেন • দেবিয়ান 9 এ এনগিনেক্স সার্ভার ব্লক কীভাবে সেটআপ করবেন • দেবিয়ান 9 এ এনক্রিপ্ট সহ সিক্স এনগিনেক্স