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

উবুন্টুতে 18.04 এ এনক্রিপ্ট করে অ্যাপাচি সুরক্ষিত করুন

আসুন & # 39 চালিয়ে অ্যাপাচে নিরাপদ করার জন্য HTTPS দ্বারা ইনস্টল করুন কিভাবে; র উবুন্টু 18.04 LTS উপর এনক্রিপ্ট TLS / SSL এর সার্টিফিকেট

আসুন & # 39 চালিয়ে অ্যাপাচে নিরাপদ করার জন্য HTTPS দ্বারা ইনস্টল করুন কিভাবে; র উবুন্টু 18.04 LTS উপর এনক্রিপ্ট TLS / SSL এর সার্টিফিকেট

সুচিপত্র:

Anonim

আসুন এনক্রিপ্ট হ'ল ইন্টারনেট সুরক্ষা গবেষণা গ্রুপ (আইএসআরজি) দ্বারা নির্মিত একটি শংসাপত্র কর্তৃপক্ষ। এটি ম্যানুয়াল শংসাপত্র তৈরি, বৈধতা, ইনস্টলেশন, এবং পুনর্নবীকরণ অপসারণের জন্য ডিজাইন করা সম্পূর্ণ স্বয়ংক্রিয় প্রক্রিয়ার মাধ্যমে বিনামূল্যে এসএসএল শংসাপত্র সরবরাহ করে।

লেটস এনক্রিপ্ট দ্বারা জারি করা শংসাপত্রগুলি আজ সমস্ত বড় ব্রাউজার দ্বারা বিশ্বাসী।

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

পূর্বশর্ত

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

  • আপনার সার্বজনীন সার্ভার আইপি-তে ইঙ্গিত করে ডোমেন নাম। আমরা example.com ডটকম ব্যবহার করব 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 জন্য সমস্ত HTTP অনুরোধগুলি ম্যাপ করতে /var/lib/letsencrypt

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

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

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

/etc/apache2/conf-available/letsencrypt.conf

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS /etc/apache2/conf-available/ssl-params.conf

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

উপরের স্নিপেটটি সিফারলি.স্টের প্রস্তাবিত চিপ্স ব্যবহার করছে, ওসিএসপি স্ট্যাপলিং, এইচটিটিপি স্ট্রাইক ট্রান্সপোর্ট সিকিউরিটি (এইচএসটিএস) সক্ষম করে এবং কয়েকটি সুরক্ষা-দৃষ্টি নিবদ্ধ করা এইচটিটিপি শিরোনাম প্রয়োগ করে।

কনফিগারেশন ফাইলগুলি সক্ষম করার আগে, জারি করে mod_ssl এবং mod_ssl উভয়ই সক্ষম হয়েছে তা নিশ্চিত করুন:

sudo a2enmod ssl sudo a2enmod headers

এরপরে, নিম্নলিখিত কমান্ডগুলি চালিয়ে SSL কনফিগারেশন ফাইলগুলি সক্ষম করুন:

sudo a2enconf letsencrypt sudo a2enconf ssl-params

HTTP / 2 মডিউল সক্ষম করুন, যা আপনার সাইটগুলিকে দ্রুত এবং আরও শক্তিশালী করে তুলবে:

sudo a2enmod

পরিবর্তনগুলি কার্যকর হওয়ার জন্য অ্যাপাচি কনফিগারেশনটি পুনরায় লোড করুন:

sudo systemctl reload apache2

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

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

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

/etc/apache2/sites-available/example.com.conf

ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration

উপরের কনফিগারেশন সহ, আমরা HTTPS জোর করে এবং www থেকে নন-www সংস্করণে পুনর্নির্দেশ করছি। আপনার প্রয়োজন অনুসারে বিন্যাস বিন্যাসে নিখরচায় পড়ে যান।

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

sudo systemctl reload apache2

আপনি এখন https:// ব্যবহার করে আপনার ওয়েবসাইটটি খুলতে পারবেন এবং আপনি একটি সবুজ লক আইকনটি দেখতে পাবেন।

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

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

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

/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 apache2"

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

sudo certbot renew --dry-run

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

উপসংহার

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

অ্যাপাচি উবুন্টু আসুন সার্টিবোট এসএসএল এনক্রিপ্ট করা যাক

এই পোস্টটি উবুন্টু-18-04 সিরিজের কীভাবে ইনস্টল-ল্যাম্প-স্ট্যাক-ইনস্টল করা যায় তার একটি অংশ।

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

U উবুন্টু 18.04 এ অ্যাপাচি কীভাবে ইনস্টল করবেন U উবুন্টু 18.04 এ অ্যাপাচি ভার্চুয়াল হোস্টগুলি কীভাবে সেটআপ করবেন U উবুন্টু 18.04 এ চলুন এনক্রিপ্ট সহ অ্যাপাচি সুরক্ষিত করুন U উবুন্টু 18.04 এ মাইএসকিউএল কিভাবে ইনস্টল করবেন 18 উবুন্টু 18.04 এ কীভাবে পিএইচপি ইনস্টল করবেন?