Hvernig á að setja upp HTTPS (SSL vottorð) til að tryggja PhpMyAdmin innskráningu


Til að kynna þessa ábendingu skulum við þefa uppi HTTP umferðina á milli biðlaravélar og Debian 8 netþjónsins þar sem við höfum gert þau saklausu mistök að skrá okkur inn með því að nota gagnagrunnsrót notanda skilríki í síðustu grein okkar á: Breyta og tryggja sjálfgefið PhpMyAdmin innskráningarslóð

Eins og við nefndum í fyrri ábendingunni, ekki reyna að gera þetta ennþá ef þú vilt ekki afhjúpa persónuskilríkin þín. Til að byrja að þefa af umferð slógum við inn eftirfarandi skipun og ýttum á 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

Það mun ekki taka okkur langan tíma að átta okkur á því að notandanafnið og lykilorðið hafa verið sent yfir vírinn á látlausu textasniði, eins og þú getur séð í styttu úttakinu á tcpdump á myndinni hér að neðan.

Vinsamlegast athugaðu að við höfum falið hluta af rótarlykilorðinu með bláu merki yfir það:

Til að forðast þetta skulum við tryggja innskráningarsíðuna með vottorði. Til að gera þetta skaltu setja upp mod_ssl pakka á CentOS byggðum dreifingum.

# yum install mod_ssl

Þó að við munum nota Debian/Ubuntu slóðina og nöfn, gildir sama aðferð fyrir CentOS og RHEL ef þú skiptir út skipunum og slóðum hér að neðan fyrir CentOS jafngildi.

Búðu til möppu til að geyma lykilinn og vottorðið:

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

Búðu til lykilinn og vottorðið:

----------- 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 

Næst skaltu staðfesta lykil og vottorð.

# 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

Í Debian/Ubuntu skaltu ganga úr skugga um að Apache sé að hlusta á gátt 443 fyrir sjálfgefna síðuna (/etc/apache2/sites-available/000-default.conf) og bæta við 3 SSL-tengdu línunum inni í VirtualHost yfirlýsingunni:

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

Í CentOS byggðum dreifingum, segðu Apache að hlusta á port 443 og leitaðu að Listen tilskipuninni í /etc/httpd/conf/httpd.conf og bættu ofangreindum línum fyrir neðan hana.

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

Vistaðu breytingar, hlaðið SSL Apache einingunni á Debian/Ubuntu dreifingar (í CentOS er þetta hlaðið sjálfkrafa þegar þú settir upp mod_ssl fyrr):

# a2enmod ssl

Þvingaðu phpmyadmin til að nota SSL, vertu viss um að eftirfarandi lína sé til staðar í /etc/phpmyadmin/config.inc.php eða /etc/phpMyAdmin/config.inc.php skránni:

$cfg['ForceSSL'] = true;

og endurræstu vefþjóninn:

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

Næst skaltu ræsa vafrann þinn og slá inn https:///my (lærðu hvernig á að breyta PhpMyAdmin innskráningarslóð) eins og sýnt er hér að neðan.

Mikilvægt: Vinsamlegast athugaðu að það er aðeins að segja að tengingin sé ekki örugg vegna þess að við erum að nota sjálfstætt undirritað vottorð. Smelltu á Advanced og staðfestu öryggisundantekninguna:

Eftir að hafa staðfest öryggisundantekninguna og áður en þú skráir þig inn, skulum við byrja að þefa af HTTP og HTTPS umferð:

# 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

Skráðu þig síðan inn með sömu skilríkjum og áður. Umferðarsniparinn mun í besta falli fanga bara bull:

Það er það í bili, í næstu grein munum við deila þér til að takmarka PhpMyAdmin aðgang með notandanafni/lykilorði, þangað til fylgstu með Tecmint.