PhpMyAdmin ലോഗിൻ സുരക്ഷിതമാക്കാൻ HTTPS (SSL സർട്ടിഫിക്കറ്റുകൾ) എങ്ങനെ സജ്ജീകരിക്കാം


ഈ നുറുങ്ങ് അവതരിപ്പിക്കുന്നതിന്, ഞങ്ങളുടെ അവസാന ലേഖനത്തിലെ ഡാറ്റാബേസ് റൂട്ട് ഉപയോക്താവിന്റെ ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുന്നതിൽ ഞങ്ങൾ നിരപരാധികളായ ഒരു ക്ലയന്റ് മെഷീനും ഡെബിയൻ 8 സെർവറും തമ്മിലുള്ള HTTP ട്രാഫിക് പരിശോധിക്കാം: ഡിഫോൾട്ട് PhpMyAdmin ലോഗിൻ URL മാറ്റുകയും സുരക്ഷിതമാക്കുകയും ചെയ്യുക.

മുമ്പത്തെ നുറുങ്ങിൽ ഞങ്ങൾ സൂചിപ്പിച്ചതുപോലെ, നിങ്ങളുടെ ക്രെഡൻഷ്യലുകൾ വെളിപ്പെടുത്താൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ലെങ്കിൽ ഇതുവരെ ഇത് ചെയ്യാൻ ശ്രമിക്കരുത്. ട്രാഫിക് സ്നിഫ് ചെയ്യാൻ ആരംഭിക്കുന്നതിന്, ഞങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്ത് എന്റർ അമർത്തുക:

# tcpdump port http -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --line-buffered -B20

ചുവടെയുള്ള ചിത്രത്തിൽ tcpdump-ന്റെ വെട്ടിച്ചുരുക്കിയ ഔട്ട്uപുട്ടിൽ നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഉപയോക്തൃനാമവും പാസ്uവേഡും പ്ലെയിൻ ടെക്uസ്uറ്റ് ഫോർമാറ്റിലാണ് വയർ വഴി അയച്ചിരിക്കുന്നതെന്ന് മനസ്സിലാക്കാൻ ഞങ്ങൾക്ക് കൂടുതൽ സമയമെടുക്കില്ല.

റൂട്ട് പാസ്uവേഡിന്റെ ഒരു ഭാഗം ഞങ്ങൾ അതിൽ നീല അടയാളം കൊണ്ട് മറച്ചിരിക്കുന്നു എന്നത് ശ്രദ്ധിക്കുക:

ഇത് ഒഴിവാക്കാൻ, ഒരു സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് ലോഗിൻ പേജ് സുരക്ഷിതമാക്കാം. ഇത് ചെയ്യുന്നതിന്, CentOS അടിസ്ഥാനമാക്കിയുള്ള വിതരണങ്ങളിൽ mod_ssl പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install mod_ssl

ഞങ്ങൾ Debian/Ubuntu പാത്തും പേരുകളും ഉപയോഗിക്കുമെങ്കിലും, CentOS തത്തുല്യമായ കമാൻഡുകളും പാതകളും നിങ്ങൾ മാറ്റിസ്ഥാപിക്കുകയാണെങ്കിൽ, CentOS, RHEL എന്നിവയ്uക്കും സമാന നടപടിക്രമം സാധുവാണ്.

കീയും സർട്ടിഫിക്കറ്റും സംഭരിക്കുന്നതിന് ഒരു ഡയറക്ടറി സൃഷ്ടിക്കുക:

# mkdir /etc/apache2/ssl    [On Debian/Ubuntu based systems]
# mkdir /etc/httpd/ssl      [On CentOS based systems]

കീയും സർട്ടിഫിക്കറ്റും സൃഷ്ടിക്കുക:

----------- On Debian/Ubuntu based systems ----------- 
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

----------- On CentOS based systems ----------- 
# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt
........................+++
.....................................................+++
writing new private key to '/etc/httpd/ssl/apache.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Maharashtra
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint
Organizational Unit Name (eg, section) []:TecMint
Common Name (eg, your name or your server's hostname) []:TecMint
Email Address []:[email 

അടുത്തതായി, കീയും സർട്ടിഫിക്കറ്റും പരിശോധിക്കുക.

# cd /etc/apache2/ssl/   [On Debian/Ubuntu based systems]
# cd /etc/httpd/ssl/     [On CentOS based systems]
# ls -l

total 8
-rw-r--r--. 1 root root 1424 Sep  7 15:19 apache.crt
-rw-r--r--. 1 root root 1704 Sep  7 15:19 apache.key

ഡെബിയൻ/ഉബുണ്ടുവിൽ, ഡിഫോൾട്ട് സൈറ്റിനായി (/etc/apache2/sites-available/000-default.conf) പോർട്ട് 443-ൽ അപ്പാച്ചെ ശ്രദ്ധിക്കുന്നുണ്ടെന്ന് ഉറപ്പുവരുത്തുക, കൂടാതെ VirtualHost ഡിക്ലറേഷനിൽ SSL-മായി ബന്ധപ്പെട്ട 3 വരികൾ ചേർക്കുക:

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key

CentOS അധിഷ്uഠിത വിതരണങ്ങളിൽ, പോർട്ട് 443-ൽ കേൾക്കാൻ അപ്പാച്ചെയോട് പറയുകയും /etc/httpd/conf/httpd.conf എന്നതിൽ ലിസൻ ഡയറക്uടീവിനായി നോക്കുകയും അതിന് താഴെ മുകളിലെ വരികൾ ചേർക്കുകയും ചെയ്യുക.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

മാറ്റങ്ങൾ സംരക്ഷിക്കുക, ഡെബിയൻ/ഉബുണ്ടു വിതരണങ്ങളിൽ SSL അപ്പാച്ചെ മൊഡ്യൂൾ ലോഡുചെയ്യുക (നിങ്ങൾ നേരത്തെ mod_ssl ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ CentOS-ൽ ഇത് സ്വയമേവ ലോഡ് ചെയ്യപ്പെടും):

# a2enmod ssl

SSL ഉപയോഗിക്കുന്നതിന് phpmyadmin-നെ നിർബന്ധിക്കുക, ഇനിപ്പറയുന്ന വരി /etc/phpmyadmin/config.inc.php അല്ലെങ്കിൽ /etc/phpMyAdmin/config.inc.php ഫയലിൽ ഉണ്ടെന്ന് ഉറപ്പാക്കുക:

$cfg['ForceSSL'] = true;

കൂടാതെ വെബ് സെർവർ പുനരാരംഭിക്കുക:

# systemctl restart apache2   [On Debian/Ubuntu based systems]
# systemctl restart httpd     [On Debian/Ubuntu based systems]

അടുത്തതായി, നിങ്ങളുടെ വെബ് ബ്രൗസർ സമാരംഭിച്ച് താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ https:///my (PhpMyAdmin ലോഗിൻ URL മാറ്റുന്നത് എങ്ങനെയെന്ന് അറിയുക) എന്ന് ടൈപ്പ് ചെയ്യുക.

പ്രധാനപ്പെട്ടത്: ഞങ്ങൾ സ്വയം ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ് ഉപയോഗിക്കുന്നതിനാൽ കണക്ഷൻ സുരക്ഷിതമല്ലെന്ന് മാത്രമാണ് പറയുന്നത് എന്നത് ശ്രദ്ധിക്കുക. വിപുലമായതിൽ ക്ലിക്ക് ചെയ്ത് സുരക്ഷാ ഒഴിവാക്കൽ സ്ഥിരീകരിക്കുക:

സുരക്ഷാ ഒഴിവാക്കൽ സ്ഥിരീകരിച്ചതിന് ശേഷം, ലോഗിൻ ചെയ്യുന്നതിന് മുമ്പ്, നമുക്ക് HTTP, HTTPS ട്രാഫിക്ക് സ്നിഫ് ചെയ്യാൻ തുടങ്ങാം:

# tcpdump port http or port https -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --line-buffered -B20

തുടർന്ന് മുമ്പത്തെ അതേ ക്രെഡൻഷ്യലുകൾ ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യുക. ട്രാഫിക് സ്uനിഫർ ഏറ്റവും മികച്ച രീതിയിൽ വ്യഭിചാരം മാത്രം പിടിക്കും:

ഇപ്പോൾ അത്രയേയുള്ളൂ, അടുത്ത ലേഖനത്തിൽ ഉപയോക്തൃനാമം/പാസ്uവേഡ് ഉപയോഗിച്ച് PhpMyAdmin ആക്uസസ് നിയന്ത്രിക്കാൻ ഞങ്ങൾ നിങ്ങളെ പങ്കിടും, അതുവരെ Tecmint-ലേക്ക് തുടരുക.