Kuidas seadistada HTTPS (SSL-sertifikaadid) PhpMyAdmini sisselogimise turvalisuse tagamiseks
Selle näpunäite tutvustamiseks nuusutagem kliendimasina ja Debian 8 serveri vahelist HTTP-liiklust, kus oleme teinud süütu vea, logides sisse andmebaasi juurkasutaja mandaate kasutades meie viimases artiklis aadressil: PhpMyAdmini vaikesisselogimise URL-i muutmine ja turvaline kinnitamine
Nagu eelmises näpunäites mainisime, ärge proovige seda veel teha, kui te ei soovi oma volitusi paljastada. Liikluse nuusutamise alustamiseks tippisime järgmise käsu ja vajutasime Enter:
# 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
Meil ei lähe kaua aega, kui mõistame, et kasutajanimi ja parool on traadi kaudu saadetud lihttekstivormingus, nagu näete tcpdumpi kärbitud väljundist alloleval pildil.
Pange tähele, et oleme peitnud osa juurparoolist sinise märgiga:
Selle vältimiseks turvame sisselogimislehe sertifikaadiga. Selleks installige pakett mod_ssl CentOS-põhistele jaotustele.
# yum install mod_ssl
Kuigi me kasutame Debiani/Ubuntu teed ja nimesid, kehtib sama protseduur CentOSi ja RHEL-i puhul, kui asendate allolevad käsud ja teed CentOS-i ekvivalentidega.
Looge võti ja sertifikaadi salvestamiseks kataloog:
# mkdir /etc/apache2/ssl [On Debian/Ubuntu based systems] # mkdir /etc/httpd/ssl [On CentOS based systems]
Looge võti ja sertifikaat:
----------- 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
Järgmisena kontrollige võtit ja sertifikaati.
# 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
Debianis/Ubuntus veenduge, et Apache kuulaks vaikesaidi porti 443 (/etc/apache2/sites-available/000-default.conf) ja lisage deklaratsiooniga VirtualHost 3 SSL-ga seotud rida:
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
CentOS-põhistes jaotustes käskige Apache'il kuulata porti 443 ja otsige kataloogi /etc/httpd/conf/httpd.conf kuulamisdirektiiv ning lisage ülaltoodud read selle alla.
SSLEngine on SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Salvestage muudatused, laadige SSL Apache moodul Debiani/Ubuntu jaotustesse (CentOS-is laaditakse see automaatselt, kui installisite mod_ssl varem):
# a2enmod ssl
Sundige phpmyadminit SSL-i kasutama, veenduge, et failis /etc/phpmyadmin/config.inc.php või /etc/phpMyAdmin/config.inc.php oleks järgmine rida:
$cfg['ForceSSL'] = true;
ja taaskäivitage veebiserver:
# systemctl restart apache2 [On Debian/Ubuntu based systems] # systemctl restart httpd [On Debian/Ubuntu based systems]
Järgmisena käivitage oma veebibrauser ja tippige https:/
(vaadake, kuidas muuta PhpMyAdmini sisselogimise URL-i), nagu allpool näidatud.
Tähtis: Pange tähele, et öeldakse ainult, et ühendus pole turvaline, kuna kasutame ise allkirjastatud sertifikaati. Klõpsake valikul Täpsem ja kinnitage turvaerand:
Pärast turvaerandi kinnitamist ja enne sisselogimist alustame HTTP- ja HTTPS-liikluse nuuskimist:
# 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
Seejärel logige sisse samade mandaatidega nagu varem. Liikluse nuusutaja haarab parimal juhul ainult pätti:
See on praegu kõik, järgmises artiklis jagame teid PhpMyAdmini juurdepääsu piiramiseks kasutajanime/parooliga, kuni olete Tecmintiga kursis.