CentOS 8-ൽ എൻക്രിപ്റ്റ് ചെയ്യാൻ അനുവദിക്കുന്ന Nginx എങ്ങനെ സുരക്ഷിതമാക്കാം


ഇലക്ട്രോണിക് ഫ്രോണ്ടിയർ ഫൗണ്ടേഷൻ (ഇഎഫ്എഫ്) 2016 ഏപ്രിലിൽ സ്ഥാപിതമായ ലെറ്റ്സ് എൻക്രിപ്റ്റ് എന്നത് സൗജന്യവും യാന്ത്രികവുമായ ഡിജിറ്റൽ സർട്ടിഫിക്കറ്റാണ്, അത് വെബ്uസൈറ്റുകൾക്ക് യാതൊരു ചെലവും കൂടാതെ TLS എൻക്രിപ്ഷൻ നൽകുന്നു.

സുരക്ഷാ സർട്ടിഫിക്കറ്റിന്റെ മൂല്യനിർണ്ണയം, സൃഷ്ടിക്കൽ, ഒപ്പിടൽ, സ്വയമേവ പുതുക്കൽ എന്നിവ ഓട്ടോമേറ്റ് ചെയ്യുക എന്നതാണ് ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റിന്റെ ലക്ഷ്യം. ഈ സർട്ടിഫിക്കറ്റ് എച്ച്ടിടിപിഎസ് പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് വെബ്സെർവറുകളിലേക്കുള്ള എൻക്രിപ്റ്റ് ചെയ്ത കണക്ഷനുകൾ ലളിതവും തടസ്സരഹിതവുമായ രീതിയിൽ സങ്കീർണതകളില്ലാതെ പ്രാപ്തമാക്കുന്നു. സർട്ടിഫിക്കറ്റിന് 90 ദിവസത്തേക്ക് മാത്രമേ സാധുതയുള്ളൂ, അതിനുശേഷം ഓട്ടോറിന്യൂവൽ സജീവമാക്കാം.

ശുപാർശ ചെയ്uത വായന: CentOS 8-ൽ നമുക്ക് SSL സർട്ടിഫിക്കറ്റ് എൻക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ അപ്പാച്ചെ എങ്ങനെ സുരക്ഷിതമാക്കാം

ഈ ലേഖനത്തിൽ, CentOS 8-ൽ Nginx വെബ് സെർവർ സുരക്ഷിതമാക്കുന്നതിന് സൗജന്യ SSL സർട്ടിഫിക്കറ്റ് ലഭിക്കുന്നതിന് നമുക്ക് എങ്ങനെ എൻക്രിപ്റ്റ് ഇൻസ്റ്റാൾ ചെയ്യാം എന്ന് ഞങ്ങൾ കാണിക്കും (അതേ നിർദ്ദേശങ്ങൾ RHEL 8-ലും പ്രവർത്തിക്കുന്നു). നിങ്ങളുടെ SSL സർട്ടിഫിക്കറ്റ് എങ്ങനെ യാന്ത്രികമായി പുതുക്കാമെന്നും ഞങ്ങൾ നിങ്ങളോട് വിശദീകരിക്കും.

ഞങ്ങൾ മുന്നോട്ട് പോകുന്നതിന് മുമ്പ്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ പരിശോധിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

1. വെബ്സെർവറിന്റെ സമർപ്പിത IP വിലാസത്തിലേക്ക് ചൂണ്ടിക്കാണിക്കുന്ന പൂർണ്ണ യോഗ്യതയുള്ള ഡൊമെയ്ൻ നാമം (FQDN). ഇത് നിങ്ങളുടെ DNS വെബ് ഹോസ്റ്റിംഗ് ദാതാവിന്റെ ക്ലയന്റ് ഏരിയയിൽ കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. ഈ ട്യൂട്ടോറിയലിനായി, ഞങ്ങൾ linuxtechwhiz എന്ന ഡൊമെയ്ൻ നാമം ഉപയോഗിക്കുന്നു, അത് IP വിലാസം 34.70.245.117 ലേക്ക് ചൂണ്ടിക്കാണിക്കുന്നു.

2. കാണിച്ചിരിക്കുന്നതുപോലെ dig കമാൻഡ് ഉപയോഗിച്ച് ഒരു ഫോർവേഡ് ലുക്ക്അപ്പ് നടത്തി നിങ്ങൾക്ക് ഇത് സ്ഥിരീകരിക്കാനും കഴിയും.

$ dig linuxtechwhiz.info

3. വെബ്uസെർവറിൽ Nginx ഇൻസ്റ്റാൾ ചെയ്യുകയും പ്രവർത്തിക്കുകയും ചെയ്യുന്നു. ടെർമിനലിൽ പ്രവേശിച്ച് ചുവടെയുള്ള കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് ഇത് സ്ഥിരീകരിക്കാം. Nginx ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, CentOS 8-ൽ Nginx ഇൻസ്റ്റാൾ ചെയ്യാൻ ഞങ്ങളുടെ ലേഖനം പിന്തുടരുക.

$ sudo systemctl status nginx

4. ഒരു വെബ് ബ്രൗസറിൽ വെബ് സെർവറിന്റെ URL സന്ദർശിച്ച് നിങ്ങൾക്ക് സ്ഥിരീകരിക്കാനും കഴിയും.

http://server-IP-or-hostname

URL-ൽ നിന്ന്, സൈറ്റ് സുരക്ഷിതമല്ലെന്നും അതിനാൽ എൻക്രിപ്റ്റ് ചെയ്തിട്ടില്ലെന്നും നമുക്ക് വ്യക്തമായി കാണാൻ കഴിയും. ഉപയോക്തൃനാമങ്ങൾ, പാസ്uവേഡുകൾ, സോഷ്യൽ സെക്യൂരിറ്റി നമ്പറുകൾ, ക്രെഡിറ്റ് കാർഡ് വിവരങ്ങൾ എന്നിവ പോലുള്ള നിർണായകവും രഹസ്യാത്മകവുമായ വിവരങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നുവെന്ന് വെബ്uസെർവറിലേക്ക് നടത്തുന്ന ഏതൊരു അഭ്യർത്ഥനയും തടസ്സപ്പെടുത്താൻ കഴിയുമെന്ന് ഇത് സൂചിപ്പിക്കുന്നു.

ഇനി നമുക്ക് കൈകൾ വൃത്തികേടാക്കി നമുക്ക് എൻക്രിപ്റ്റ് ഇൻസ്റ്റാൾ ചെയ്യാം.

ഘട്ടം 1. CentOS 8-ൽ Certbot ഇൻസ്റ്റാൾ ചെയ്യുക

ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യാൻ, നിങ്ങൾ ആദ്യം സർറ്റ്ബോട്ട് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്. ഇത് ലെറ്റ്സ് എൻക്രിപ്റ്റ് അതോറിറ്റിയിൽ നിന്ന് ഒരു സുരക്ഷാ സർട്ടിഫിക്കറ്റ് ലഭ്യമാക്കുന്ന ഒരു എക്സ്റ്റൻസിബിൾ ക്ലയന്റാണ്, കൂടാതെ വെബ്സെർവർ ഉപയോഗിക്കുന്നതിന് സർട്ടിഫിക്കറ്റിന്റെ മൂല്യനിർണ്ണയവും കോൺഫിഗറേഷനും ഓട്ടോമേറ്റ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

curl കമാൻഡ് ഉപയോഗിച്ച് certbot ഡൗൺലോഡ് ചെയ്യുക.

$ sudo curl -O https://dl.eff.org/certbot-auto

അടുത്തതായി, സർട്ടിഫിക്കറ്റ് /usr/local/bin ഡയറക്ടറിയിലേക്ക് നീക്കുക.

$ sudo mv certbot-auto /usr/local/bin/certbot-auto

അടുത്തതായി, കാണിച്ചിരിക്കുന്നതുപോലെ certbot ഫയലിലേക്ക് ഫയൽ അനുമതി നൽകുക.

$ chmod 0755 /usr/local/bin/certbot-auto

ഘട്ടം 2. Nginx സെർവർ ബ്ലോക്ക് കോൺഫിഗർ ചെയ്യുക

Nginx-ലെ ഒരു സെർവർ ബ്ലോക്ക് അപ്പാച്ചെയിലെ ഒരു വെർച്വൽ ഹോസ്റ്റിന് തുല്യമാണ്. സെർവർ ബ്ലോക്കുകൾ സജ്ജീകരിക്കുന്നത് ഒരു സെർവറിൽ ഒന്നിലധികം വെബ്uസൈറ്റുകൾ സജ്ജീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുക മാത്രമല്ല, ഡൊമെയ്uനിന്റെ ഉടമസ്ഥാവകാശം സർട്ടിഫിക്കറ്റ് അതോറിറ്റി - CA-ക്ക് തെളിയിക്കാൻ certbot-നെ അനുവദിക്കുന്നു.

ഒരു സെർവർ ബ്ലോക്ക് സൃഷ്ടിക്കാൻ, കാണിച്ചിരിക്കുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

ഡൊമെയ്ൻ നാമം നിങ്ങളുടെ സ്വന്തം ഡൊമെയ്ൻ നാമം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നത് ഉറപ്പാക്കുക. തുടർന്ന് താഴെയുള്ള കോൺഫിഗറേഷൻ ഒട്ടിക്കുക.

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

ഫയൽ സംരക്ഷിച്ച് ടെക്സ്റ്റ് എഡിറ്ററിൽ നിന്ന് പുറത്തുകടക്കുക.

ഘട്ടം 3: CentOS 8-ൽ ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യുക

സുരക്ഷാ സർട്ടിഫിക്കറ്റിന്റെ എൻക്രിപ്റ്റ് ചെയ്യലും കോൺഫിഗറേഷനും ആരംഭിക്കുന്നതിന് ഇപ്പോൾ certbot കമാൻഡ് ഉപയോഗിക്കുക.

$ sudo /usr/local/bin/certbot-auto --nginx

ഈ കമാൻഡ് കാണിച്ചിരിക്കുന്നതുപോലെ ഒന്നിലധികം പൈത്തൺ പാക്കേജുകളും അവയുടെ ഡിപൻഡൻസികളും പ്രവർത്തിപ്പിക്കുകയും ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്യും.

ഇതിനുശേഷം കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു സംവേദനാത്മക നിർദ്ദേശം പിന്തുടരും:

എല്ലാം ശരിയായിരുന്നുവെങ്കിൽ, അവസാനം നിങ്ങൾക്ക് ഒരു അഭിനന്ദന സന്ദേശം കാണാൻ കഴിയും.

നിങ്ങളുടെ Nginx സൈറ്റ് എൻക്രിപ്റ്റ് ചെയ്തിട്ടുണ്ടെന്ന് സ്ഥിരീകരിക്കാൻ, വെബ്uപേജ് വീണ്ടും ലോഡുചെയ്uത് URL-ന്റെ തുടക്കത്തിൽ പാഡ്uലോക്ക് ചിഹ്നം നിരീക്ഷിക്കുക. ഒരു SSL/TLS എൻക്രിപ്ഷൻ ഉപയോഗിച്ചാണ് സൈറ്റ് സുരക്ഷിതമാക്കിയിരിക്കുന്നതെന്ന് ഇത് സൂചിപ്പിക്കുന്നു.

സുരക്ഷാ സർട്ടിഫിക്കറ്റിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ലഭിക്കുന്നതിന്, പാഡ്uലോക്ക് ചിഹ്നത്തിൽ ക്ലിക്ക് ചെയ്ത് 'സർട്ടിഫിക്കറ്റ്' ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക.

സുരക്ഷാ സർട്ടിഫിക്കറ്റിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ പ്രദർശിപ്പിക്കും.

കൂടാതെ, സുരക്ഷാ സർട്ടിഫിക്കറ്റിന്റെ ശക്തി പരിശോധിക്കുന്നതിന്, https://www.ssllabs.com/ssltest/ എന്നതിലേക്ക് പോകുക, സുരക്ഷാ സർട്ടിഫിക്കറ്റിന്റെ നിലയെക്കുറിച്ച് കൂടുതൽ കൃത്യവും ആഴത്തിലുള്ളതുമായ വിശകലനം കണ്ടെത്തുക.

ഘട്ടം 4. ലെറ്റ്സ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് പുതുക്കുന്നു

നമ്മൾ നേരത്തെ കണ്ടതുപോലെ, സുരക്ഷാ സർട്ടിഫിക്കറ്റ് 90 ദിവസത്തേക്ക് മാത്രമേ സാധുതയുള്ളൂ, കാലഹരണപ്പെടുന്നതിന് മുമ്പ് അത് പുതുക്കേണ്ടതുണ്ട്.

കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് സർട്ടിഫിക്കറ്റ് പുതുക്കൽ പ്രക്രിയ അനുകരിക്കാനോ പരിശോധിക്കാനോ കഴിയും:

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

CentOS 8-ൽ ലെറ്റ്സ് എൻക്രിപ്റ്റ് ചെയ്യുന്നതിലൂടെ Nginx സുരക്ഷിതമാക്കുന്നതിനെക്കുറിച്ചുള്ള ഈ ട്യൂട്ടോറിയൽ ഇത് അവസാനിപ്പിക്കുന്നു. നിങ്ങളുടെ Nginx വെബ്uസെർവർ സുരക്ഷിതമാക്കുന്നതിനുള്ള ഫലപ്രദവും തടസ്സരഹിതവുമായ മാർഗ്ഗം നമുക്ക് എൻക്രിപ്റ്റ് വാഗ്ദാനം ചെയ്യുന്നു, അല്ലാത്തപക്ഷം അത് സ്വമേധയാ ചെയ്യുന്നത് സങ്കീർണ്ണമായ കാര്യമായിരിക്കും.

നിങ്ങളുടെ സൈറ്റ് ഇപ്പോൾ പൂർണ്ണമായി എൻക്രിപ്റ്റ് ചെയ്തിരിക്കണം. സർട്ടിഫിക്കറ്റിന്റെ കാലഹരണ തീയതിക്ക് ഏതാനും ആഴ്ചകൾക്കുള്ളിൽ, കാലഹരണപ്പെട്ട സർട്ടിഫിക്കറ്റ് കാരണം ഉണ്ടാകുന്ന തടസ്സങ്ങൾ ഒഴിവാക്കാൻ സർട്ടിഫിക്കറ്റ് പുതുക്കുന്നതിന് EFF ഇമെയിൽ വഴി നിങ്ങളെ അറിയിക്കും. ഇന്നത്തെ ആൺകുട്ടികൾ അതെല്ലാം!