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

নিরাপদ nginx আসুন এর সেন্টোস 7 এ এনক্রিপ্ট করুন

আসুন & # 39 ইনস্টল করুন কিভাবে; সেন্টওএস 7 গুলি এনক্রিপ্ট SSL এর | ফ্রি SSL এর | সেন্টওএস 7 | যাক & # 39; এনক্রিপ্ট গুলি | ধাপে ধাপে

আসুন & # 39 ইনস্টল করুন কিভাবে; সেন্টওএস 7 গুলি এনক্রিপ্ট SSL এর | ফ্রি SSL এর | সেন্টওএস 7 | যাক & # 39; এনক্রিপ্ট গুলি | ধাপে ধাপে

সুচিপত্র:

Anonim

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

এই টিউটোরিয়ালে, আমরা সেন্টোস 7-তে সার্টবোট সরঞ্জামটি ব্যবহার করে লেটস এনক্রিপ্ট দিয়ে আপনার এনগিনেক্সকে কীভাবে সুরক্ষিত করা যায় সে সম্পর্কে এক ধাপে নির্দেশনা সরবরাহ করব।

পূর্বশর্ত

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

  • আপনার সার্বজনীন সার্ভার আইপিকে নির্দেশ করে আপনার একটি ডোমেন নাম রয়েছে। এই টিউটোরিয়ালে আমরা উদাহরণ.কম ব্যবহার করব example.com আপনি CentOS 7 এ এনগিনেক্স কীভাবে ইনস্টল করবেন তা অনুসরণ করে আপনি EPEL সংগ্রহস্থল সক্ষম করেছেন এবং Nginx ইনস্টল করেছেন।

Certbot ইনস্টল করুন

সার্টবট হ'ল একটি সহজে ব্যবহারযোগ্য সরঞ্জাম যা চলুন এনক্রিপ্ট এসএসএল শংসাপত্রগুলি এবং ওয়েব সার্ভারগুলি কনফিগার করার জন্য কার্যগুলি স্বয়ংক্রিয় করতে পারে।

সার্টিবোট প্যাকেজটি ইনস্টল করতে EPEL সংগ্রহস্থলটি পরিচালনা করুন:

sudo yum 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 জন্য সমস্ত HTTP অনুরোধগুলি ম্যাপ করতে /var/lib/letsencrypt

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

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp nginx /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt

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

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

location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; } /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 স্নিপেট অন্তর্ভুক্ত করুন:

/etc/nginx/conf.d/example.com.conf

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

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

sudo systemctl reload 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-06-11. 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" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:

এখন আপনার কাছে শংসাপত্রের ফাইল রয়েছে, আপনি নিম্নরূপে আপনার ডোমেন সার্ভার ব্লকটি সম্পাদনা করতে পারেন:

/etc/nginx/conf.d/example.com.conf

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 দিন পূর্বে স্বয়ংক্রিয়ভাবে নবায়ন করবে।

একটি নতুন ক্রোনজব তৈরি করতে ক্রোনটব কমান্ডটি চালান:

sudo crontab -e

নিম্নলিখিত লাইনগুলি আটকে দিন:

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"

সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন।

পুনর্নবীকরণ প্রক্রিয়াটি পরীক্ষা করার জন্য, আপনি সারটবট কমান্ডটি অনুসরণ করতে পারেন --dry-run সুইচ:

sudo certbot renew --dry-run

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

উপসংহার

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

এনজিএনএক্স সেন্টোস আসুন সার্টিবোট এসএসএল এনক্রিপ্ট করুন

এই পোস্টটি CentOS 7 সিরিজে ইনস্টল করা LEMP স্ট্যাকের একটি অংশ part

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

Cent CentOS 7 এ Nginx কীভাবে ইনস্টল করবেন Cent CentOS 7 এ এনক্রিপ্ট সহ নিরাপদ Nginx Cent CentOS 7 এ মারিয়াডিবি ইনস্টল করুন Cent CentOS 7 এ পিএইচপি 7 ইনস্টল করুন Cent CentOS 7 এ Nginx সার্ভার ব্লক কীভাবে সেটআপ করবেন?