RHEL/CentOS 7.0-ൽ അപ്പാച്ചെയ്uക്കായി സ്വയം ഒപ്പിട്ട SSL സർട്ടിഫിക്കറ്റുകളും കീകളും എങ്ങനെ സൃഷ്uടിക്കാം


ഒരു സർട്ടിഫിക്കറ്റ് അതോറിറ്റി (CA) ഒപ്പിട്ട ഡിജിറ്റൽ സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് സിമെട്രിക്/അസിമട്രിക് കീകൾ ഉപയോഗിച്ച് സെർവറിനും അതിന്റെ ക്ലയന്റുകൾക്കുമിടയിൽ സുരക്ഷിതമായ ഡാറ്റ ഫ്ലോ അനുവദിക്കുന്ന ഒരു ക്രിപ്uറ്റോഗ്രാഫിക് പ്രോട്ടോക്കോൾ ആണ് SSL (സെക്യുർ സോക്കറ്റ് ലെയർ).

  1. RHEL/CentOS 7.0-ലെ അടിസ്ഥാന ലാമ്പ് ഇൻസ്റ്റാളേഷൻ

Red Hat Enterprise Linux/CentOS 7.0-ൽ ഇൻസ്റ്റോൾ ചെയ്തിരിക്കുന്ന Apache Web Server-ൽ Secure Sockets Layer (SSL) കമ്മ്യൂണിക്കേഷൻ ക്രിപ്റ്റോഗ്രാഫിക് പ്രോട്ടോക്കോൾ എങ്ങനെ സജ്ജീകരിക്കാം എന്നതിനെക്കുറിച്ചുള്ള ഒരു സമീപനം ഈ ട്യൂട്ടോറിയൽ നൽകുന്നു, കൂടാതെ സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റുകളും കീകളും സൃഷ്ടിക്കുന്നു മുഴുവൻ പ്രക്രിയയും വളരെ ലളിതമാക്കുന്ന ഒരു ബാഷ് സ്ക്രിപ്റ്റിന്റെ സഹായം.

ഘട്ടം 1: Apache SSL ഇൻസ്റ്റാൾ ചെയ്ത് കോൺഫിഗർ ചെയ്യുക

1. Apache HTTP സെർവറിൽ SSL പ്രവർത്തനക്ഷമമാക്കുന്നതിന് SSL മൊഡ്യൂളും SSL/TLS പിന്തുണയ്uക്ക് ആവശ്യമായ OpenSSL ടൂൾ-കിറ്റും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

# yum install mod_ssl openssl

2. SSL മൊഡ്യൂൾ ഇൻസ്uറ്റാൾ ചെയ്uത ശേഷം, HTTPD ഡെമൺ പുനരാരംഭിച്ച്, SSL പോർട്ട് - 443 - ഇത് ലിസണിൽ നിങ്ങളുടെ മെഷീനിലെ ബാഹ്യ കണക്ഷനുകൾക്കായി തുറന്നിട്ടുണ്ടെന്ന് ഉറപ്പാക്കാൻ ഒരു പുതിയ ഫയർവാൾ നിയമം ചേർക്കുക സംസ്ഥാനം.

# systemctl restart httpd
# firewall-cmd --add-service=https   ## On-fly rule

# firewall-cmd --permanent  --add-service=https   ## Permanent rule – needs firewalld restart

3. SSL കണക്ഷൻ പരിശോധിക്കുന്നതിന്, ഒരു റിമോട്ട് ബ്രൗസർ തുറന്ന് https://server_IP-ലെ HTPS പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് നിങ്ങളുടെ സെർവർ IP വിലാസത്തിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.

ഘട്ടം 2: SSL സർട്ടിഫിക്കറ്റുകളും കീകളും സൃഷ്ടിക്കുക

4. സെർവറും ക്ലയന്റും തമ്മിലുള്ള മുമ്പത്തെ എസ്എസ്എൽ ആശയവിനിമയം ഇൻസ്റ്റാളേഷനിൽ സ്വയമേവ ജനറേറ്റുചെയ്ത സ്ഥിരസ്ഥിതി സർട്ടിഫിക്കറ്റും കീയും ഉപയോഗിച്ചാണ് നടത്തിയത്. പുതിയ സ്വകാര്യ കീകളും സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റുകളും സൃഷ്ടിക്കുന്നതിന് ജോഡികൾ എക്സിക്യൂട്ടബിൾ സിസ്റ്റം പാത്തിൽ (PATH) ഇനിപ്പറയുന്ന ബാഷ് സ്ക്രിപ്റ്റ് സൃഷ്ടിക്കുക.

ഈ ട്യൂട്ടോറിയലിനായി /usr/local/bin/ പാത്ത് തിരഞ്ഞെടുത്തു, സ്ക്രിപ്റ്റിൽ എക്സിക്യൂട്ടബിൾ ബിറ്റ് സെറ്റ് ഉണ്ടെന്ന് ഉറപ്പുവരുത്തുക, തുടർന്ന്, /etc/-ൽ പുതിയ SSL ജോഡികൾ സൃഷ്ടിക്കാൻ ഒരു കമാൻഡായി ഉപയോഗിക്കുക. httpd/ssl/ സർട്ടിഫിക്കറ്റുകളും കീകളുടെ സ്ഥിരസ്ഥിതി സ്ഥാനവും.

# nano /usr/local/bin/apache_ssl

ഇനിപ്പറയുന്ന ഫയൽ ഉള്ളടക്കം ഉപയോഗിക്കുക.

#!/bin/bash
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Apache SSL Certificate and Key!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The Certificate and Key for $cert has been generated!\nPlease link it to Apache SSL available website!"
ls -all /etc/httpd/ssl
exit 0

5. ഇപ്പോൾ ഈ സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ടബിൾ ആക്കി നിങ്ങളുടെ അപ്പാച്ചെ എസ്എസ്എൽ വെർച്വൽ ഹോസ്റ്റിനായി ഒരു പുതിയ ജോഡി സർട്ടിഫിക്കറ്റും കീയും സൃഷ്ടിക്കാൻ ഇത് സമാരംഭിക്കുക.

നിങ്ങളുടെ വിവരങ്ങൾ ഉപയോഗിച്ച് ഇത് പൂരിപ്പിച്ച് നിങ്ങളുടെ സെർവർ FQDN-നോട് പൊരുത്തപ്പെടുന്നതിന് പൊതു നാമം മൂല്യം ശ്രദ്ധിക്കുക അല്ലെങ്കിൽ ഒരു സുരക്ഷിത വെബ്uസൈറ്റിലേക്ക് കണക്റ്റുചെയ്യുമ്പോൾ നിങ്ങൾ ആക്uസസ് ചെയ്യുന്ന വെബ് വിലാസവുമായി പൊരുത്തപ്പെടുന്ന വെർച്വൽ ഹോസ്റ്റിംഗിന്റെ കാര്യത്തിൽ.

# chmod +x /usr/local/bin/apache_ssl
# apache_ssl

6. സർട്ടിഫിക്കറ്റും കീയും ജനറേറ്റുചെയ്uതതിനുശേഷം, സ്uക്രിപ്റ്റ് /etc/httpd/ssl/ ലൊക്കേഷനിൽ സംഭരിച്ചിരിക്കുന്ന നിങ്ങളുടെ എല്ലാ അപ്പാച്ചെ SSL ജോഡികളുടെയും ഒരു നീണ്ട ലിസ്റ്റിംഗ് അവതരിപ്പിക്കും.

7. SSL സർട്ടിഫിക്കറ്റുകളും കീകളും ജനറേറ്റുചെയ്യുന്നതിനുള്ള മറ്റൊരു സമീപനം നിങ്ങളുടെ സിസ്റ്റത്തിൽ crypto-utils പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുകയും genkey കമാൻഡ് ഉപയോഗിച്ച് ജോഡികൾ സൃഷ്ടിക്കുകയും ചെയ്യുക എന്നതാണ്, പ്രത്യേകിച്ചും ഇത് ഉപയോഗിക്കുമ്പോൾ ചില പ്രശ്നങ്ങൾ ഉണ്ടാകാം. ഒരു പുട്ടി ടെർമിനൽ സ്ക്രീൻ.

അതിനാൽ, നിങ്ങൾ ഒരു സ്uക്രീൻ മോണിറ്ററുമായി നേരിട്ട് ബന്ധിപ്പിച്ചിരിക്കുമ്പോൾ മാത്രം ഈ രീതി ഉപയോഗിക്കാൻ ഞാൻ നിർദ്ദേശിക്കുന്നു.

# yum install crypto-utils
# genkey your_FQDN

8. നിങ്ങളുടെ SSL വെബ്uസൈറ്റിലേക്ക് പുതിയ സർട്ടിഫിക്കറ്റും കീയും ചേർക്കുന്നതിന്, നിങ്ങളുടെ വെബ്uസൈറ്റ് കോൺഫിഗറേഷൻ ഫയൽ തുറന്ന് SSLCertificateFile, SSLCertificateKeyFile സ്റ്റേറ്റ്uമെന്റുകൾ മാറ്റി പുതിയ ജോഡി സ്ഥാനവും പേരുകളും നൽകുക.

9. സർട്ടിഫിക്കറ്റ് നൽകിയത് വിശ്വസനീയമായ CA - സർട്ടിഫിക്കേഷൻ അതോറിറ്റി അല്ലെങ്കിൽ സർട്ടിഫിക്കറ്റിൽ നിന്നുള്ള ഹോസ്റ്റ്നാമം, കണക്ഷൻ സ്ഥാപിക്കുന്ന ഹോസ്റ്റ് നാമവുമായി പൊരുത്തപ്പെടുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ ബ്രൗസറിൽ ഒരു പിശക് ദൃശ്യമാകും, നിങ്ങൾ സ്വയം സർട്ടിഫിക്കറ്റ് സ്വീകരിക്കുകയും വേണം.

അത്രയേയുള്ളൂ! ഇപ്പോൾ നിങ്ങൾക്ക് RHEL/CentOS 7.0-ൽ ഒരു കമാൻഡ് ലൈൻ ആയി apache_sslഉപയോഗിച്ച് നിങ്ങൾക്ക് ആവശ്യമുള്ളത്രയും സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റുകളും കീകളും സൃഷ്ടിക്കാൻ കഴിയും, എല്ലാം /etc/httpd/-ൽ സൂക്ഷിക്കും ssl/ കീ ഫയലുള്ള പാത്ത് 700 അനുമതികളോടെ പരിരക്ഷിച്ചിരിക്കുന്നു.