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

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

টিউটোরিয়াল: সেন্টওএস 7 ফ্রি SSL সার্টিফিকেট ইনস্টলেশন / লাল Hat Enterprise Linux- র (RHEL)

টিউটোরিয়াল: সেন্টওএস 7 ফ্রি SSL সার্টিফিকেট ইনস্টলেশন / লাল Hat Enterprise Linux- র (RHEL)

সুচিপত্র:

Anonim

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

লেটস এনক্রিপ্ট দ্বারা জারি করা শংসাপত্রগুলি সমস্ত বড় ব্রাউজার দ্বারা বিশ্বাসযোগ্য এবং ইস্যু তারিখ থেকে 90 দিনের জন্য বৈধ।

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

পূর্বশর্ত

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

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

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

sudo dnf install mod_ssl openssl

যখন mod_ssl প্যাকেজটি ইনস্টল করা হবে তখন লোকালহোস্টের জন্য এটি স্ব-স্বাক্ষরিত কী এবং শংসাপত্র ফাইলগুলি তৈরি করা উচিত। যদি ফাইলগুলি স্বয়ংক্রিয়ভাবে তৈরি না হয় তবে আপনি openssl কমান্ডটি ব্যবহার করে এটি তৈরি করতে পারেন:

sudo openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \ -out /etc/pki/tls/certs/localhost.crt \ -keyout /etc/pki/tls/private/localhost.key -out /etc/pki/tls/certs/localhost.crt \ -keyout /etc/pki/tls/private/localhost.key -out /etc/pki/tls/certs/localhost.crt \ -keyout /etc/pki/tls/private/localhost.key

Certbot ইনস্টল করুন

সার্টবট হ'ল একটি নিখরচায় কমান্ড-লাইন সরঞ্জাম যা আপনার সার্ভারে এইচটিটিপিএস থেকে স্বতঃ-সক্ষম করে এসএসএল শংসাপত্রগুলি এনক্রিপ্ট করুন এবং পুনর্নবীকরণের প্রক্রিয়াটিকে সহজতর করে।

Certbot প্যাকেজটি স্ট্যান্ডার্ড CentOS 8 সংগ্রহস্থলের অন্তর্ভুক্ত নয়, তবে এটি বিক্রেতার ওয়েবসাইট থেকে ডাউনলোড করা যেতে পারে।

/usr/local/bin ইউএসআর /usr/local/bin ডিরেক্টরিতে সার্টিবোট স্ক্রিপ্ট ডাউনলোড করতে নিম্নলিখিত উইজেট কমান্ডটি রুট বা sudo ব্যবহারকারী হিসাবে চালান:

sudo wget -P /usr/local/bin

ডাউনলোড শেষ হয়ে গেলে ফাইলটিকে এক্সিকিউটেবল করে তুলুন:

sudo chmod +x /usr/local/bin/certbot-auto

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

ডিফি – হেলম্যান কী এক্সচেঞ্জ (ডিএইচ) একটি সুরক্ষিত কোনও যোগাযোগ চ্যানেলের মাধ্যমে ক্রিপ্টোগ্রাফিক কীগুলি নিরাপদে আদান প্রদানের একটি পদ্ধতি। সুরক্ষা জোরদার করতে 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 # Requires Apache 2.4.36 & OpenSSL 1.1.1 SSLProtocol -all +TLSv1.3 +TLSv1.2 SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1 # Older versions # 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"

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

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

sudo systemctl reload

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

sudo /usr/local/bin/certbot-auto 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 2020-01-26. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto 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:

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

/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 Protocols h2 http:/1.1 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/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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 /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/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

উপরের কনফিগারেশনটি এইচটিটিপিএসকে বাধ্য করছে এবং www থেকে নন-www সংস্করণে পুনর্নির্দেশ করছে। এটি এইচটিটিপি / ২ সক্ষম করে, যা আপনার সাইটগুলিকে দ্রুত এবং আরও শক্তিশালী করে তুলবে। আপনার প্রয়োজন অনুসারে বিন্যাস বিন্যাসে নিখরচায় পড়ে যান।

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

sudo systemctl restart

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

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

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

একটি নতুন ক্রোনজব তৈরি করতে নিম্নলিখিত কমান্ডটি চালান যা শংসাপত্র পুনর্নবীকরণ করবে এবং অ্যাপাচি পুনরায় চালু করবে:

echo "0 0, 12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto -q renew --renew-hook \"systemctl reload httpd\"" | sudo tee -a /etc/crontab > /dev/null

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

sudo /usr/local/bin/certbot-auto renew --dry-run

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

উপসংহার

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

সার্টবট স্ক্রিপ্ট সম্পর্কে আরও জানতে, সার্টবট ডকুমেন্টেশন দেখুন visit

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