HTTPS:n (SSL-varmenteiden) määrittäminen suojattua PhpMyAdmin-kirjautumista varten


Tämän vihjeen esittelyssä haiskellaan HTTP-liikennettä asiakaskoneen ja Debian 8 -palvelimen välillä, jossa olemme tehneet viattoman virheen kirjautuessamme sisään tietokannan pääkäyttäjän tunnistetiedoilla edellisessä artikkelissamme osoitteessa: Change and Secure. PhpMyAdminin oletuskirjautumis-URL-osoite

Kuten edellisessä vihjeessä mainittiin, älä yritä tehdä tätä vielä, jos et halua paljastaa valtuustietojasi. Liikenteen haistelemisen aloittamiseksi kirjoitimme seuraavan komennon ja painamme 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

Ei kestä kauan tajuta, että käyttäjänimi ja salasana on lähetetty langan yli pelkkänä tekstimuodossa, kuten näet tcpdump:n katkaistusta lähdöstä kuva alla.

Huomaa, että olemme piilottaneet osan root-salasanasta, ja sen päällä on sininen merkki:

Tämän välttämiseksi suojataan kirjautumissivu varmenteella. Voit tehdä tämän asentamalla mod_ssl-paketin CentOS-pohjaisiin jakeluihin.

yum install mod_ssl

Vaikka käytämme Debian/Ubuntu-polkua ja nimiä, sama menettely pätee CentOS:lle ja RHEL:lle, jos vaihdat alla olevat komennot ja polut. CentOS-vastineiden kanssa.

Luo hakemisto avaimen ja varmenteen tallentamista varten:

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

Luo avain ja varmenne:

----------- 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
Näytelähtö
........................+++
.....................................................+++
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 

Tarkista seuraavaksi avain ja varmenne.

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

Varmista Debianissa/Ubuntussa, että Apache kuuntelee oletussivuston porttia 443 (/etc/apache2/sites- available/000-default.conf) ja lisää kolme SSL:ään liittyvää riviä VirtualHost-ilmoituksen sisään:

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

Pyydä CentOS-pohjaisissa jakeluissa Apachea kuuntelemaan porttia 443 ja etsi Listen-ohje osoitteesta /etc/httpd/conf/ httpd.conf ja lisää yllä olevat rivit sen alle.

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

Tallenna muutokset, lataa SSL Apache -moduuli Debian/Ubuntu-jakeluissa (CentOS:ssä tämä latautuu automaattisesti, kun asennat mod_ssl vahva> aiemmin):

a2enmod ssl

Pakota phpmyadmin käyttämään SSL:ää ja varmista, että seuraava rivi on olemassa tiedostossa /etc/phpmyadmin/config.inc.php tai / etc/phpMyAdmin/config.inc.php-tiedosto:

$cfg['ForceSSL'] = true;

ja käynnistä verkkopalvelin uudelleen:

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

Käynnistä seuraavaksi verkkoselain ja kirjoita https:///my (lue kuinka muuttaa PhpMyAdminin kirjautumis-URL-osoite) alla olevan kuvan mukaisesti.

Tärkeää: Huomaa, että se tarkoittaa vain, että yhteys ei ole turvallinen, koska käytämme itse allekirjoitettua varmennetta. Napsauta Lisäasetukset ja vahvista suojauspoikkeus:

Kun olet vahvistanut suojauspoikkeuksen ja ennen kirjautumista, aletaan haistaa HTTP- ja HTTPS-liikennettä:

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

Kirjaudu sitten sisään samoilla tunnuksilla kuin aiemmin. Liikennehaistelija taltioi parhaimmillaan vain hölynpölyä:

Siinä se nyt, seuraavassa artikkelissa jaamme sinut rajoittamaan PhpMyAdminin pääsyä käyttäjänimellä/salasanalla, kunnes pysyt kuulolla Tecmintissä.