CentOS 8-ൽ ഒരു പ്രാദേശിക സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് എങ്ങനെ സൃഷ്ടിക്കാം


ഒരു ക്ലയന്റ് വെബ് ബ്രൗസറിൽ നിന്ന് ഒരു വെബ് സെർവറിലേക്ക് അയയ്uക്കുന്ന വെബ് ട്രാഫിക് സുരക്ഷിതമാക്കാൻ ഉപയോഗിക്കുന്ന സുരക്ഷാ പ്രോട്ടോക്കോളുകളാണ് SSL (സെക്യൂർ സോക്കറ്റ് ലെയർ), അതിന്റെ മെച്ചപ്പെടുത്തിയ പതിപ്പായ TLS (ട്രാൻസ്uപോർട്ട് സോക്കറ്റ് ലെയർ).

ഒരു ക്ലയന്റിന്റെ ബ്രൗസറിനും വെബ് സെർവറിനുമിടയിൽ ഒരു സുരക്ഷിത ചാനൽ സൃഷ്ടിക്കുന്ന ഒരു ഡിജിറ്റൽ സർട്ടിഫിക്കറ്റാണ് SSL സർട്ടിഫിക്കറ്റ്. അങ്ങനെ ചെയ്യുമ്പോൾ, ക്രെഡിറ്റ് കാർഡ് ഡാറ്റ, ലോഗിൻ ക്രെഡൻഷ്യലുകൾ, മറ്റ് ഉയർന്ന സ്വകാര്യ വിവരങ്ങൾ എന്നിവ പോലുള്ള സെൻസിറ്റീവും രഹസ്യാത്മകവുമായ ഡാറ്റ എൻക്രിപ്റ്റ് ചെയ്യപ്പെടുന്നു, ഇത് നിങ്ങളുടെ വിവരങ്ങൾ ചോർത്തുന്നതിൽ നിന്നും മോഷ്ടിക്കുന്നതിൽ നിന്നും ഹാക്കർമാരെ തടയുന്നു.

ഒരു സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ്, മറ്റ് SSL സർട്ടിഫിക്കറ്റുകളിൽ നിന്ന് വ്യത്യസ്തമായി, ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി (CA) ഒപ്പിടുകയും വിശ്വസിക്കുകയും ചെയ്യുന്ന ഒരു സർട്ടിഫിക്കറ്റ്, അതിന്റെ ഉടമസ്ഥനായ ഒരു വ്യക്തി ഒപ്പിട്ട ഒരു സർട്ടിഫിക്കറ്റാണ്.

ഒരെണ്ണം സൃഷ്uടിക്കുന്നത് തികച്ചും സൗജന്യമാണ് കൂടാതെ നിങ്ങളുടെ പ്രാദേശികമായി ഹോസ്റ്റ് ചെയ്uതിരിക്കുന്ന വെബ് സെർവർ എൻക്രിപ്റ്റ് ചെയ്യുന്നതിനുള്ള വിലകുറഞ്ഞ മാർഗവുമാണ്. എന്നിരുന്നാലും, ഇനിപ്പറയുന്ന കാരണങ്ങളാൽ സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റിന്റെ ഉപയോഗം ഉൽപ്പാദന പരിതസ്ഥിതികളിൽ വളരെ നിരുത്സാഹപ്പെടുത്തിയിരിക്കുന്നു:

  1. ഇത് ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി ഒപ്പിടാത്തതിനാൽ, സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് വെബ് ബ്രൗസറുകളിൽ ഉപയോക്താക്കൾ മുന്നോട്ട് പോകാൻ തീരുമാനിച്ചാൽ അപകടസാധ്യതയെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകുന്ന അലേർട്ടുകൾ സൃഷ്ടിക്കുന്നു. ഈ അലേർട്ടുകൾ അഭികാമ്യമല്ലാത്തതും നിങ്ങളുടെ വെബ്uസൈറ്റ് സന്ദർശിക്കുന്നതിൽ നിന്ന് ഉപയോക്താക്കളെ പിന്തിരിപ്പിക്കുകയും ചെയ്യും, ഇത് വെബ് ട്രാഫിക് കുറയാൻ ഇടയാക്കും. ഈ അലേർട്ടുകൾക്കുള്ള ഒരു പരിഹാരമെന്ന നിലയിൽ, ഓർഗനൈസേഷനുകൾ സാധാരണയായി അവരുടെ ജീവനക്കാരെ അലേർട്ടുകൾ അവഗണിച്ച് മുന്നോട്ട് പോകാൻ പ്രോത്സാഹിപ്പിക്കുന്നു. ഫിഷിംഗ് സൈറ്റുകൾക്ക് ഇരയാകാൻ സാധ്യതയുള്ള മറ്റ് ഓൺലൈൻ സൈറ്റുകളിൽ ഈ അലേർട്ടുകൾ അവഗണിക്കുന്നത് തുടരാൻ തീരുമാനിക്കുന്ന ഉപയോക്താക്കൾക്കിടയിൽ ഇത് അപകടകരമായ ഒരു ശീലം സൃഷ്ടിച്ചേക്കാം.
  2. താഴ്ന്ന-നിലയിലുള്ള സൈഫർ സാങ്കേതികവിദ്യകളും ഹാഷുകളും നടപ്പിലാക്കുന്നതിനാൽ സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റുകൾക്ക് കുറഞ്ഞ സുരക്ഷാ നിലയാണുള്ളത്. അതിനാൽ സുരക്ഷാ നില സാധാരണ സുരക്ഷാ നയങ്ങൾക്ക് തുല്യമായേക്കില്ല.
  3. കൂടാതെ, പബ്ലിക് കീ ഇൻഫ്രാസ്ട്രക്ചർ (പികെഐ) ഫംഗ്uഷനുകൾക്ക് പിന്തുണയൊന്നുമില്ല.

TLS/SSL എൻക്രിപ്ഷൻ ആവശ്യമുള്ള ഒരു ലോക്കൽ മെഷീനിൽ സേവനങ്ങളും ആപ്ലിക്കേഷനുകളും പരിശോധിക്കുന്നതിന് സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് ഉപയോഗിക്കുന്നത് ഒരു മോശം ആശയമല്ല.

ഈ ഗൈഡിൽ, ഒരു CentOS 8 സെർവർ സിസ്റ്റത്തിലെ Apache ലോക്കൽഹോസ്റ്റ് വെബ് സെർവറിൽ ഒരു പ്രാദേശിക സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് നിങ്ങൾ പഠിക്കും.

ആരംഭിക്കുന്നതിന് മുമ്പ്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന അടിസ്ഥാന ആവശ്യകതകൾ ഉണ്ടെന്ന് ഉറപ്പാക്കുക:

  1. CentOS 8 സെർവറിന്റെ ഒരു ഉദാഹരണം.
  2. അപ്പാച്ചെ വെബ്സെർവർ സെർവറിൽ ഇൻസ്റ്റാൾ ചെയ്തു
  3. /etc/hosts ഫയലിൽ ഇതിനകം കോൺഫിഗർ ചെയ്uതിരിക്കുന്ന ഒരു ഹോസ്റ്റ്നാമം. ഈ ഗൈഡിനായി, ഞങ്ങളുടെ സെർവറിനായി ഞങ്ങൾ tecmint.local ഒരു ഹോസ്റ്റ്നാമം ഉപയോഗിക്കാൻ പോകുന്നു.

ഘട്ടം 1: CentOS-ൽ Mod_SSL ഇൻസ്റ്റാൾ ചെയ്യുന്നു

1. ആരംഭിക്കുന്നതിന്, അപ്പാച്ചെ വെബ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്നും പ്രവർത്തിക്കുന്നുണ്ടെന്നും നിങ്ങൾ പരിശോധിക്കേണ്ടതുണ്ട്.

$ sudo systemctl status httpd

പ്രതീക്ഷിക്കുന്ന ഔട്ട്പുട്ട് ഇതാ.

വെബ്സെർവർ പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ, കമാൻഡ് ഉപയോഗിച്ച് ബൂട്ട് ചെയ്യുമ്പോൾ നിങ്ങൾക്ക് അത് ആരംഭിക്കാനും പ്രവർത്തനക്ഷമമാക്കാനും കഴിയും.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

അപ്പാച്ചെ പ്രവർത്തനക്ഷമമാണോ എന്ന് നിങ്ങൾക്ക് അതിനുശേഷം സ്ഥിരീകരിക്കാം.

2. പ്രാദേശിക സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റിന്റെ ഇൻസ്റ്റാളേഷനും സജ്ജീകരണവും പ്രവർത്തനക്ഷമമാക്കുന്നതിന്, mod_ssl പാക്കേജ് ആവശ്യമാണ്.

$ sudo dnf install mod_ssl

ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് അതിന്റെ ഇൻസ്റ്റാളേഷൻ പരിശോധിക്കാൻ കഴിയും.

$ sudo rpm -q mod_ssl

കൂടാതെ, OpenSSL പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക (CentOS 8-ൽ സ്ഥിരസ്ഥിതിയായി OpenSSL ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുന്നു).

$ sudo rpm -q openssl 

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

3. അപ്പാച്ചെ വെബ് സെർവറും എല്ലാ മുൻവ്യവസ്ഥകളും പരിശോധിക്കുമ്പോൾ, ക്രിപ്uറ്റോഗ്രാഫിക് കീകൾ സംഭരിക്കുന്ന ഒരു ഡയറക്uടറി നിങ്ങൾ സൃഷ്uടിക്കേണ്ടതുണ്ട്.

ഈ ഉദാഹരണത്തിൽ, ഞങ്ങൾ /etc/ssl/private എന്നതിൽ ഒരു ഡയറക്ടറി സൃഷ്ടിച്ചു.

$ sudo mkdir -p /etc/ssl/private

ഇപ്പോൾ കമാൻഡ് ഉപയോഗിച്ച് ലോക്കൽ SSL സർട്ടിഫിക്കറ്റ് കീയും ഫയലും സൃഷ്ടിക്കുക:

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

കമാൻഡിലെ ചില ഓപ്ഷനുകൾ യഥാർത്ഥത്തിൽ എന്താണ് സൂചിപ്പിക്കുന്നതെന്ന് നമുക്ക് നോക്കാം:

  • req -x509 – ഞങ്ങൾ x509 സർട്ടിഫിക്കറ്റ് സൈനിംഗ് അഭ്യർത്ഥന (CSR) ഉപയോഗിക്കുന്നതായി ഇത് സൂചിപ്പിക്കുന്നു.
  • -nodes - ഒരു പാസ്ഫ്രെയ്സ് ഉപയോഗിച്ച് SSL സർട്ടിഫിക്കറ്റ് എൻക്രിപ്റ്റ് ചെയ്യുന്നത് ഒഴിവാക്കാൻ ഈ ഓപ്ഷൻ OpenSSL-നോട് നിർദ്ദേശിക്കുന്നു. ഒരു പാസ്uഫ്രെയ്uസ് നൽകിയാൽ സാധ്യമല്ലാത്ത ഒരു തരത്തിലുള്ള ഉപയോക്തൃ ഇടപെടൽ കൂടാതെ ഫയൽ വായിക്കാൻ അപ്പാച്ചെയെ അനുവദിക്കുക എന്നതാണ് ഇവിടെയുള്ള ആശയം.
  • -newkey rsa:2048 – ഒരു പുതിയ കീയും ഒരു പുതിയ സർട്ടിഫിക്കറ്റും ഒരേസമയം സൃഷ്ടിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെന്ന് ഇത് സൂചിപ്പിക്കുന്നു. 2048-ബിറ്റ് RSA കീ സൃഷ്ടിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു എന്നാണ് rsa:2048 ഭാഗം സൂചിപ്പിക്കുന്നത്.
  • -keyout – സൃഷ്uടിക്കുമ്പോൾ സൃഷ്uടിച്ച സ്വകാര്യ കീ ഫയൽ എവിടെ സംഭരിക്കണമെന്ന് ഈ ഓപ്ഷൻ വ്യക്തമാക്കുന്നു.
  • -out - സൃഷ്ടിച്ച SSL സർട്ടിഫിക്കറ്റ് എവിടെ സ്ഥാപിക്കണമെന്ന് ഓപ്ഷൻ വ്യക്തമാക്കുന്നു.

ഘട്ടം 3: അപ്പാച്ചെയിൽ പ്രാദേശിക സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യുക

4. SSL സർട്ടിഫിക്കറ്റ് ഫയൽ ജനറേറ്റ് ചെയ്തുകഴിഞ്ഞാൽ, അപ്പാച്ചെ വെബ് സെർവറിന്റെ ക്രമീകരണങ്ങൾ ഉപയോഗിച്ച് സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യാനുള്ള സമയമാണിത്. /etc/httpd/conf.d/ssl.conf കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് എഡിറ്റ് ചെയ്യുക.

$ sudo vi /etc/httpd/conf.d/ssl.conf

വെർച്വൽ ഹോസ്റ്റ് ടാഗുകൾക്കിടയിൽ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന വരികൾ ഉണ്ടെന്ന് ഉറപ്പാക്കുക.

<VirtualHost *:443>
    ServerAdmin [email 
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
</VirtualHost>

ഫയൽ സംരക്ഷിച്ച് പുറത്തുകടക്കുക. മാറ്റങ്ങൾ നടപ്പിലാക്കുന്നതിനായി, കമാൻഡ് ഉപയോഗിച്ച് അപ്പാച്ചെ പുനരാരംഭിക്കുക:

$ sudo systemctl restart httpd

5. ബാഹ്യ ഉപയോക്താക്കൾക്ക് നിങ്ങളുടെ സെർവർ ആക്സസ് ചെയ്യുന്നതിന്, കാണിച്ചിരിക്കുന്നതുപോലെ നിങ്ങൾ ഫയർവാളിലൂടെ പോർട്ട് 443 തുറക്കേണ്ടതുണ്ട്.

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

ഘട്ടം 3: അപ്പാച്ചെയിൽ പ്രാദേശിക സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് പരിശോധിക്കുന്നു

എല്ലാ കോൺഫിഗറേഷനുകളോടും കൂടി, നിങ്ങളുടെ ബ്രൗസർ പ്രവർത്തനക്ഷമമാക്കുക, കൂടാതെ https പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് സെർവറിന്റെ IP വിലാസമോ ഡൊമെയ്uൻ നാമമോ ഉപയോഗിച്ച് നിങ്ങളുടെ സെർവറിന്റെ വിലാസം ബ്രൗസ് ചെയ്യുക.

പരിശോധന കാര്യക്ഷമമാക്കുന്നതിന്, അപ്പാച്ചെ വെബ്uസെർവറിലെ HTTP പ്രോട്ടോക്കോൾ HTTPS-ലേക്ക് റീഡയറക്uടുചെയ്യുന്നത് നിങ്ങൾക്ക് പരിഗണിക്കാവുന്നതാണ്. നിങ്ങൾ പ്ലെയിൻ HTTP-യിൽ ഡൊമെയ്uൻ ബ്രൗസ് ചെയ്യുമ്പോഴെല്ലാം, അത് സ്വയമേവ HTTPS പ്രോട്ടോക്കോളിലേക്ക് റീഡയറക്uടുചെയ്യും.

അതിനാൽ നിങ്ങളുടെ സെർവറിന്റെ ഡൊമെയ്uനോ ഐപിയോ ബ്രൗസ് ചെയ്യുക

https://domain_name/

കാണിച്ചിരിക്കുന്നതുപോലെ കണക്ഷൻ സുരക്ഷിതമല്ലെന്ന് നിങ്ങളെ അറിയിക്കുന്ന ഒരു അലേർട്ട് നിങ്ങൾക്ക് ലഭിക്കും. ഇത് ഒരു ബ്രൗസറിൽ നിന്ന് മറ്റൊന്നിലേക്ക് വ്യത്യാസപ്പെടും. നിങ്ങൾ ഊഹിക്കുന്നതുപോലെ, SSL സർട്ടിഫിക്കറ്റിൽ സർട്ടിഫിക്കറ്റ് അതോറിറ്റി ഒപ്പിടാത്തതും ബ്രൗസർ അത് രജിസ്റ്റർ ചെയ്യുകയും സർട്ടിഫിക്കറ്റ് വിശ്വസിക്കാൻ കഴിയില്ലെന്ന് റിപ്പോർട്ടുചെയ്യുകയും ചെയ്യുന്നതിനാലാണ് അലേർട്ട്.

നിങ്ങളുടെ വെബ്uസൈറ്റിലേക്ക് പോകുന്നതിന്, മുകളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ 'വിപുലമായ' ടാബിൽ ക്ലിക്ക് ചെയ്യുക:

അടുത്തതായി, ബ്രൗസറിലേക്ക് ഒഴിവാക്കൽ ചേർക്കുക.

അവസാനമായി, നിങ്ങളുടെ ബ്രൗസർ വീണ്ടും ലോഡുചെയ്uത് നിങ്ങൾക്ക് ഇപ്പോൾ സെർവർ ആക്uസസ് ചെയ്യാൻ കഴിയുമെന്ന് നിരീക്ഷിക്കുക, എന്നിരുന്നാലും, SSL സർട്ടിഫിക്കറ്റ് സ്വയം ഒപ്പിട്ടതും ഒപ്പിട്ടിട്ടില്ലാത്തതുമായ അതേ കാരണത്താൽ സൈറ്റ് പൂർണ്ണമായും സുരക്ഷിതമല്ലെന്ന മുന്നറിയിപ്പ് URL ബാറിൽ ഉണ്ടായിരിക്കും. സർട്ടിഫിക്കറ്റ് അതോറിറ്റി.

CentOS 8-ലെ അപ്പാച്ചെ ലോക്കൽ ഹോസ്റ്റ് വെബ് സെർവറിൽ നിങ്ങൾക്ക് ഇപ്പോൾ മുന്നോട്ട് പോകാനും സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റ് സൃഷ്uടിക്കാനും ഇൻസ്റ്റാൾ ചെയ്യാനും കഴിയുമെന്നാണ് ഞങ്ങളുടെ പ്രതീക്ഷ.