ഉബുണ്ടുവിലും ഡെബിയനിലും SSL സർട്ടിഫിക്കറ്റ് എൻക്രിപ്റ്റ് ചെയ്യാൻ സൗജന്യമായി അപ്പാച്ചെ എങ്ങനെ സുരക്ഷിതമാക്കാം


നിങ്ങൾക്ക് പുതുതായി രജിസ്റ്റർ ചെയ്ത ഒരു ഡൊമെയ്ൻ നാമമുണ്ട്, നിങ്ങളുടെ വെബ് സെർവർ നിങ്ങൾ നൽകിയ SSL സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ചാണ് പ്രവർത്തിക്കുന്നത്, ഇത് നിങ്ങളുടെ ക്ലയന്റുകൾക്ക് സർട്ടിഫിക്കറ്റ് സൃഷ്ടിച്ച പിശകുകൾ കാരണം ഡൊമെയ്ൻ സന്ദർശിക്കുമ്പോൾ തലവേദന സൃഷ്ടിക്കുന്നുണ്ടോ? നിങ്ങൾക്ക് പരിമിതമായ ബജറ്റ് മാത്രമേയുള്ളൂ, ഒരു വിശ്വസ്ത CA നൽകുന്ന സർട്ടിഫിക്കറ്റ് വാങ്ങാൻ നിങ്ങൾക്ക് കഴിയുന്നില്ലേ? ഈ സമയത്താണ് ലെറ്റ്സ് എൻക്രിപ്റ്റ് സോഫ്uറ്റ്uവെയർ രംഗത്ത് വരികയും ദിവസം ലാഭിക്കുകയും ചെയ്യുന്നത്.

നിങ്ങൾ RHEL, CentOS, Fedora അല്ലെങ്കിൽ Ubuntu, Debian എന്നിവയിൽ Apache അല്ലെങ്കിൽ Nginx-നുള്ള എൻക്രിപ്റ്റ് ഇൻസ്റ്റാൾ ചെയ്യാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ചുവടെയുള്ള ഈ ഗൈഡുകൾ പിന്തുടരുക:

നിങ്ങളുടെ സെർവറിന് സുരക്ഷിതമായി പ്രവർത്തിക്കുന്നതിന് ആവശ്യമായ സൗജന്യ SSL/TLS സർട്ടിഫിക്കറ്റുകൾ സ്വന്തമാക്കാൻ നിങ്ങളെ സഹായിക്കുന്ന ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി (CA) ആണ് Let's Encrypt.

ഒരു സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുന്നതിന് ആവശ്യമായ എല്ലാ ഘട്ടങ്ങളും, മിക്കവാറും, അപ്പാച്ചെ വെബ്സെർവറിനായി ഓട്ടോമേറ്റഡ് ആണ്. എന്നിരുന്നാലും, നിങ്ങളുടെ വെബ് സെർവർ സോഫ്uറ്റ്uവെയർ ഉണ്ടെങ്കിലും, ചില ഘട്ടങ്ങൾ സ്വമേധയാ ചെയ്യുകയും സർട്ടിഫിക്കറ്റുകൾ സ്വമേധയാ ഇൻസ്റ്റാൾ ചെയ്യുകയും വേണം, പ്രത്യേകിച്ചും നിങ്ങളുടെ വെബ്uസൈറ്റ് ഉള്ളടക്കം Nginx ഡെമൺ നൽകുന്നതാണെങ്കിൽ.

ഈ ട്യൂട്ടോറിയൽ നിങ്ങൾക്ക് എങ്ങനെ ഉബുണ്ടുവിലോ ഡെബിയനിലോ സോഫ്റ്റ്uവെയർ എൻക്രിപ്റ്റ് ചെയ്യാമെന്നും നിങ്ങളുടെ ഡൊമെയ്uനിനായി ഒരു സൗജന്യ സർട്ടിഫിക്കറ്റ് ജനറേറ്റ് ചെയ്യാമെന്നും നേടാമെന്നും അപ്പാച്ചെയിലും എൻജിൻഎക്uസ് വെബ്uസെർവറുകളിലും സർട്ടിഫിക്കറ്റ് സ്വമേധയാ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും നിങ്ങളെ നയിക്കും.

  1. നിങ്ങളുടെ സെർവറിന്റെ ബാഹ്യ IP വിലാസത്തിലേക്ക് തിരികെ പോകുന്നതിന് സാധുവായ A റെക്കോർഡുകളുള്ള ഒരു പൊതു രജിസ്റ്റർ ചെയ്ത ഡൊമെയ്ൻ നാമം. നിങ്ങളുടെ സെർവർ ഒരു ഫയർവാളിന് പിന്നിലാണെങ്കിൽ, റൂട്ടറിന്റെ വശത്ത് പോർട്ട് ഫോർവേഡ് നിയമങ്ങൾ ചേർത്ത് നിങ്ങളുടെ സെർവർ ഇന്റർനെറ്റിൽ നിന്ന് വേഡ് വൈഡ് ആക്uസസ് ചെയ്യാവുന്നതാണെന്ന് ഉറപ്പാക്കാൻ ആവശ്യമായ നടപടികൾ കൈക്കൊള്ളുക.
  2. നിങ്ങൾ നിരവധി ഡൊമെയ്uനുകളോ സബ്uഡൊമെയ്uനുകളോ ഹോസ്റ്റുചെയ്യുകയാണെങ്കിൽ, SSL മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കുകയും വെർച്വൽ ഹോസ്റ്റിംഗ് പ്രവർത്തനക്ഷമമാക്കുകയും ചെയ്uത അപ്പാച്ചെ വെബ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്uതു.

ഘട്ടം 1: അപ്പാച്ചെ ഇൻസ്റ്റാൾ ചെയ്ത് SSL മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കുക

1. നിങ്ങളുടെ മെഷീനിൽ ഇതിനകം അപ്പാച്ചെ വെബ്uസെർവർ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, അപ്പാച്ചെ ഡെമൺ ഇൻസ്റ്റാൾ ചെയ്യാൻ ഇനിപ്പറയുന്ന കമാൻഡ് നൽകുക.

$ sudo apt-get install apache2

2. ഉബുണ്ടുവിലോ ഡെബിയനിലോ അപ്പാച്ചെ വെബ്സെർവറിനായുള്ള എസ്എസ്എൽ മൊഡ്യൂൾ സജീവമാക്കൽ ഇത് വളരെ ലളിതമാണ്. താഴെ പറയുന്ന കമാൻഡുകൾ നൽകി SSL മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കുകയും അപ്പാച്ചെ ഡിഫോൾട്ട് SSL വെർച്വൽ ഹോസ്റ്റ് സജീവമാക്കുകയും ചെയ്യുക:

$ sudo a2enmod ssl
$ sudo a2ensite default-ssl.conf
$ sudo service apache2 restart
or
$ sudo systemctl restart apache2.service

സന്ദർശകർക്ക് ഇപ്പോൾ HTTPS പ്രോട്ടോക്കോൾ വഴി നിങ്ങളുടെ ഡൊമെയ്ൻ നാമം ആക്സസ് ചെയ്യാൻ കഴിയും. എന്നിരുന്നാലും, നിങ്ങളുടെ സെർവർ സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് ഒരു വിശ്വസനീയ സർട്ടിഫിക്കറ്റ് അതോറിറ്റി നൽകിയിട്ടില്ലാത്തതിനാൽ, ചുവടെയുള്ള ചിത്രത്തിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലെ ഒരു പിശക് മുന്നറിയിപ്പ് അവരുടെ ബ്രൗസറുകളിൽ പ്രദർശിപ്പിക്കും.

https://yourdomain.com

ഘട്ടം 2: സൗജന്യമായി ഇൻസ്റ്റാൾ ചെയ്യുക നമുക്ക് ക്ലയന്റ് എൻക്രിപ്റ്റ് ചെയ്യാം

3. ലെറ്റ്uസ് എൻക്രിപ്റ്റ് സോഫ്uറ്റ്uവെയർ നിങ്ങളുടെ സെർവറിൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് നിങ്ങളുടെ സിസ്റ്റത്തിൽ ജിറ്റ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം. git സോഫ്റ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്യാൻ താഴെ പറയുന്ന കമാൻഡ് നൽകുക:

$ sudo apt-get -y install git

4. അടുത്തതായി, നിങ്ങളുടെ സിസ്റ്റം ശ്രേണിയിൽ നിന്ന് ഒരു ഡയറക്uടറി തിരഞ്ഞെടുക്കുക, അവിടെ നിങ്ങൾക്ക് git റിപ്പോസിറ്ററി എൻക്രിപ്റ്റ് ചെയ്യാം. ഈ ട്യൂട്ടോറിയലിൽ, നമുക്ക് എൻക്രിപ്റ്റ് ചെയ്യാനുള്ള ഇൻസ്റ്റാളേഷൻ പാതയായി /usr/local/ ഡയറക്ടറി ഉപയോഗിക്കും.

/usr/local ഡയറക്uടറിയിലേക്ക് മാറുക, ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകിക്കൊണ്ട് letsencrypt ക്ലയന്റ് ഇൻസ്റ്റാൾ ചെയ്യുക:

$ cd /usr/local
$ sudo git clone https://github.com/letsencrypt/letsencrypt

ഘട്ടം 4: അപ്പാച്ചെയ്uക്കായി ഒരു SSL സർട്ടിഫിക്കറ്റ് സൃഷ്uടിക്കുക

5. അപ്പാച്ചെയ്uക്കായി ഒരു SSL സർട്ടിഫിക്കറ്റ് നേടുന്നതിനുള്ള പ്രക്രിയ അപ്പാച്ചെ പ്ലഗിനിലൂടെ യാന്ത്രികമാണ്. നിങ്ങളുടെ ഡൊമെയ്ൻ നാമത്തിനെതിരെ ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുക. -d ഫ്ലാഗിലേക്കുള്ള ഒരു പാരാമീറ്ററായി നിങ്ങളുടെ ഡൊമെയ്ൻ നാമം നൽകുക.

$ cd /usr/local/letsencrypt
$ sudo ./letsencrypt-auto --apache -d your_domain.tld

ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് ഒന്നിലധികം ഡൊമെയ്uനുകളിലോ സബ്uഡൊമെയ്uനുകളിലോ പ്രവർത്തിക്കാൻ സർട്ടിഫിക്കറ്റ് ആവശ്യമുണ്ടെങ്കിൽ, അടിസ്ഥാന ഡൊമെയ്uൻ നാമത്തിനു ശേഷമുള്ള ഓരോ അധിക സാധുവായ DNS റെക്കോർഡുകൾക്കും -d ഫ്ലാഗ് ഉപയോഗിച്ച് അവയെല്ലാം ചേർക്കുക.

$ sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld 

6. ലൈസൻസ് അംഗീകരിക്കുക, വീണ്ടെടുക്കലിനായി ഒരു ഇമെയിൽ വിലാസം നൽകുക, കൂടാതെ HTTP പ്രോട്ടോക്കോളുകൾ (സുരക്ഷിതവും സുരക്ഷിതമല്ലാത്തതും) ഉപയോഗിച്ച് ക്ലയന്റുകൾക്ക് നിങ്ങളുടെ ഡൊമെയ്uൻ ബ്രൗസ് ചെയ്യാനാകുമോ അല്ലെങ്കിൽ എല്ലാ സുരക്ഷിതമല്ലാത്ത അഭ്യർത്ഥനകളും HTTPS-ലേക്ക് റീഡയറക്uട് ചെയ്യാൻ കഴിയുമോ എന്ന് തിരഞ്ഞെടുക്കുക.

7. ഇൻസ്റ്റാളേഷൻ പ്രക്രിയ വിജയകരമായി പൂർത്തിയാക്കിയ ശേഷം, കാലഹരണപ്പെടൽ തീയതിയെക്കുറിച്ചും താഴെയുള്ള സ്ക്രീൻഷോട്ടുകളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ കോൺഫിഗറേഷൻ എങ്ങനെ പരിശോധിക്കാമെന്നും നിങ്ങളെ അറിയിക്കുന്ന ഒരു അഭിനന്ദന സന്ദേശം നിങ്ങളുടെ കൺസോളിൽ പ്രദർശിപ്പിക്കും.

ഇപ്പോൾ നിങ്ങൾക്ക് നിങ്ങളുടെ സർട്ടിഫിക്കറ്റ് ഫയലുകൾ /etc/letsencrypt/live ഡയറക്uടറിയിൽ ലളിതമായ ഒരു ഡയറക്uടറി ലിസ്റ്റിംഗ് ഉപയോഗിച്ച് കണ്ടെത്താനാകും.

$ sudo ls /etc/letsencrypt/live

8. അവസാനമായി, നിങ്ങളുടെ SSL സർട്ടിഫിക്കറ്റിന്റെ സ്റ്റാറ്റസ് പരിശോധിക്കുന്നതിന് ഇനിപ്പറയുന്ന ലിങ്ക് സന്ദർശിക്കുക. അതിനനുസരിച്ച് ഡൊമെയ്ൻ നാമം മാറ്റിസ്ഥാപിക്കുക.

https://www.ssllabs.com/ssltest/analyze.html?d=your_domain.tld&latest

കൂടാതെ, സന്ദർശകർക്ക് അവരുടെ വെബ് ബ്രൗസറുകളിൽ ഒരു പിശകും ദൃശ്യമാകാതെ HTTPS പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് നിങ്ങളുടെ ഡൊമെയ്ൻ നാമം ആക്സസ് ചെയ്യാൻ കഴിയും.

ഘട്ടം 4: സർട്ടിഫിക്കറ്റുകൾ എൻക്രിപ്റ്റ് ചെയ്യാൻ സ്വയം പുതുക്കാൻ അനുവദിക്കുന്നു

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

$ sudo ./letsencrypt-auto --apache -d your_domain.tld

അല്ലെങ്കിൽ ഒന്നിലധികം ഉപഡൊമെയ്uനുകളുടെ കാര്യത്തിൽ:

$ sudo ./letsencrypt-auto --apache -d your_domain.tld  -d www. your_domain.tld

10. ലിനക്സ് ഷെഡ്യൂൾ ക്രോൺ ഡെമൺ ഉപയോഗിച്ച് കാലഹരണപ്പെടുന്ന തീയതിക്ക് 30 ദിവസത്തിൽ താഴെ സമയത്തിനുള്ളിൽ സർട്ടിഫിക്കറ്റ് പുതുക്കൽ പ്രക്രിയ യാന്ത്രികമാക്കാം.

$ sudo crontab -e

ഒരു വരി മാത്രം ഉപയോഗിച്ച് crontab ഫയലിന്റെ അവസാനം ഇനിപ്പറയുന്ന കമാൻഡ് ചേർക്കുക:

0 1 1 */2 * cd /usr/local/letsencrypt && ./letsencrypt-auto certonly --apache --renew-by-default --apache -d domain.tld >> /var/log/domain.tld-renew.log 2>&1

11. ലെറ്റ്uസ് എൻക്രിപ്റ്റ് സോഫ്uറ്റ്uവെയറിനായുള്ള നിങ്ങളുടെ പുതുക്കൽ ഡൊമെയ്uൻ കോൺഫിഗറേഷൻ ഫയലിനെക്കുറിച്ചുള്ള വിശദാംശങ്ങൾ /etc/letsencrypt/renewal/ ഡയറക്uടറിയിൽ കാണാം.

$ cat /etc/letsencrypt/renewal/caeszar.tk.conf

Apache വെബ്uസെർവറിനായുള്ള പുതുതായി SSL കോൺഫിഗറേഷൻ ഫയൽ കാണുന്നതിന് നിങ്ങൾ /etc/letsencrypt/options-ssl-apache.conf എന്ന ഫയലും പരിശോധിക്കണം.

12. കൂടാതെ, നമുക്ക് എൻക്രിപ്റ്റ് ചെയ്യാം അപ്പാച്ചെ പ്ലഗിൻ നിങ്ങളുടെ വെബ്സെർവർ കോൺഫിഗറേഷനിലെ ചില ഫയലുകൾ പരിഷ്കരിക്കുന്നു. ഏതൊക്കെ ഫയലുകളാണ് പരിഷ്കരിച്ചതെന്ന് പരിശോധിക്കുന്നതിന്, /etc/apache2/sites-enabled ഡയറക്ടറിയുടെ ഉള്ളടക്കം ലിസ്റ്റ് ചെയ്യുക.

# ls /etc/apache2/sites-enabled/
# sudo cat /etc/apache2/sites-enabled/000-default-le-ssl.conf

ഇപ്പോഴത്തേക്ക് ഇത്രമാത്രം! അടുത്ത ട്യൂട്ടോറിയലുകളിൽ, ഉബുണ്ടുവിലും ഡെബിയനിലും CentOS-ലും Nginx വെബ്uസെർവറിനായി ലെറ്റ്uസ് എൻക്രിപ്റ്റ് സർട്ടിഫിക്കറ്റ് നിങ്ങൾക്ക് എങ്ങനെ നേടാമെന്നും ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും ചർച്ച ചെയ്യും.