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

আসুন সেন্টোস 7 এ এনক্রিপ্ট সহ অ্যাপাচি সুরক্ষিত করুন

ওরাকল ডাটাবেজ 11g ইনস্টল করুন কিভাবে সাইলেন্ট মোডে Linux দ্বারা Subhajit সাহা উপর রেসপন্স ফাইল ব্যবহার করে

ওরাকল ডাটাবেজ 11g ইনস্টল করুন কিভাবে সাইলেন্ট মোডে Linux দ্বারা Subhajit সাহা উপর রেসপন্স ফাইল ব্যবহার করে

সুচিপত্র:

Anonim

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

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

পূর্বশর্ত

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

  • আপনার সার্বজনীন সার্ভার আইপি-তে ইঙ্গিত করে একটি ডোমেন নাম রাখুন। আমরা উদাহরণ.কম ব্যবহার করব.আপাচি ইনস্টল করা আছে এবং আপনার সার্ভারে চলছে your আপনার ডোমেনের জন্য অ্যাপাচি ভার্চুয়াল হোস্ট 80০ এবং 443 পোর্টগুলি আপনার ফায়ারওয়ালে খোলা আছে।

নিম্নলিখিত প্যাকেজগুলি ইনস্টল করুন যা কোনও এসএসএল এনক্রিপ্ট হওয়া ওয়েব সার্ভারের জন্য প্রয়োজনীয়:

yum install mod_ssl openssl

Certbot ইনস্টল করুন

সার্টবোট এমন একটি সরঞ্জাম যা চলুন এনক্রিপ্ট থেকে এসএসএল শংসাপত্র প্রাপ্ত করার প্রক্রিয়াটিকে সহজতর করে এবং আপনার সার্ভারে এইচটিটিপিএস স্বয়ংক্রিয়ভাবে সক্ষম করে।

সার্টবোট প্যাকেজটি ইপিইএল থেকে ইনস্টলেশন করার জন্য অভ্যাসযোগ্য। যদি আপনার সিস্টেমে EPEL সংগ্রহস্থল ইনস্টল না করা থাকে তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে এটি ইনস্টল করতে পারেন:

sudo yum install epel-release

একবার ইপিল সংগ্রহস্থল সক্ষম হয়ে গেলে, টাইপ করে সেরিটবট প্যাকেজটি ইনস্টল করুন:

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

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

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

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

/etc/httpd/conf.d/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/httpd/conf.d/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

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

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

sudo systemctl reload

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

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-12-07. 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:

সেন্টোস 7 জাহাজে অ্যাপাচি সংস্করণ ২.৪..6 রয়েছে, এতে SSLOpenSSLConfCmd নির্দেশিকা অন্তর্ভুক্ত নয়। এই নির্দেশিকাটি কেবল অ্যাপাচি ২.৪.৮ এ পরে পাওয়া যাবে এবং এটি ওপেনএসএসএল প্যারামিটারগুলি যেমন ডিফি-হেলম্যান কী এক্সচেঞ্জ (ডিএইচ) কনফিগারেশনের জন্য ব্যবহৃত হয়।

লেটস এনক্রিপ্ট এসএসএল শংসাপত্র এবং উত্পন্ন ডিএইচ ফাইলটি ব্যবহার করে আমাদের একটি নতুন সংযুক্ত ফাইল তৈরি করতে হবে। এটি করতে, টাইপ করুন:

cat /etc/letsencrypt/live/example.com/cert.pem /etc/ssl/certs/dhparam.pem >/etc/letsencrypt/live/example.com/cert.dh.pem

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

/etc/httpd/conf.d/example.com.conf

ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/cert.dh.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem # Other Apache Configuration

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

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

sudo systemctl restart

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

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

আসুন এনক্রিপ্টের শংসাপত্রগুলি 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

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

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

sudo certbot renew --dry-run

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

উপসংহার

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

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

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

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

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