Kif Twaqqaf HTTPS (Ċertifikati SSL) biex Tiżgura l-Login ta' PhpMyAdmin


Biex tintroduċi din il-ponta, ejja nxammru t-traffiku HTTP bejn magna klijent u s-server Debian 8 fejn għamilna l-iżball innoċenti li illoggjaw billi tuża l-kredenzjali tal-utent root tad-database fl-aħħar artiklu tagħna fuq: Bidla u Sikura Default URL tal-Login PhpMyAdmin

Kif semmejna fil-ponta preċedenti, tippruvax tagħmel dan s'issa jekk ma tridx tesponi l-kredenzjali tiegħek. Biex nibdew ixxommu t-traffiku, ittajpjana l-kmand li ġej u ppressajna 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

Mhux se ddum biex nirrealizzaw li l-username u l-password intbagħtu fuq il-wajer f'format ta 'test sempliċi, kif tista' tara fil-produzzjoni maqtugħa ta 'tcpdump fl-immaġni hawn taħt.

Jekk jogħġbok innota li ħbijna parti mill-password tal-għeruq b'marka blu fuqha:

Biex tevita dan, ejja niżguraw il-paġna tal-login b'ċertifikat. Biex tagħmel dan, installa pakkett mod_ssl fuq distribuzzjonijiet ibbażati fuq CentOS.

# yum install mod_ssl

Għalkemm se nużaw il-mogħdija u l-ismijiet ta 'Debian/Ubuntu, l-istess proċedura hija valida għal CentOS u RHEL jekk tissostitwixxi l-kmandi u l-mogħdijiet hawn taħt bl-ekwivalenti ta' CentOS.

Oħloq direttorju biex taħżen iċ-ċavetta u ċ-ċertifikat:

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

Oħloq iċ-ċavetta u ċ-ċertifikat:

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

Sussegwentement, ivverifika ċ-ċavetta u ċ-ċertifikat.

# 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

F'Debian/Ubuntu, kun żgur li Apache qed jisma' fuq il-port 443 għas-sit default (/etc/apache2/sites-available/000-default.conf) u żid it-3 linji relatati ma' SSL ġewwa d-dikjarazzjoni VirtualHost:

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

F'distribuzzjonijiet ibbażati fuq CentOS, għid lil Apache biex jisma' fuq il-port 443 u fittex id-direttiva Isma 'f'/etc/httpd/conf/httpd.conf u żid il-linji ta' hawn fuq taħtha.

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

Issejvja l-bidliet, tagħbija l-modulu SSL Apache fuq distribuzzjonijiet Debian/Ubuntu (f'CentOS dan jitgħabba awtomatikament meta installajt mod_ssl qabel):

# a2enmod ssl

Ġiegħel phpmyadmin juża SSL, kun żgur li l-linja li ġejja tkun preżenti fil-fajl /etc/phpmyadmin/config.inc.php jew /etc/phpMyAdmin/config.inc.php:

$cfg['ForceSSL'] = true;

u erġa ibda s-server tal-web:

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

Sussegwentement, iniedi l-brawżer tal-web tiegħek u ikteb https:///my (tgħallem kif tibdel l-URL tal-login ta' PhpMyAdmin) kif muri hawn taħt.

Importanti: Jekk jogħġbok innota li qed tgħid biss li l-konnessjoni mhix sigura għax qed nużaw ċertifikat iffirmat lilhom infushom. Ikklikkja fuq Avvanzata u kkonferma l-eċċezzjoni tas-sigurtà:

Wara li tikkonferma l-eċċezzjoni tas-sigurtà, u qabel ma tidħol, ejja nibdew inxammru t-traffiku HTTP u 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

Imbagħad illoginja billi tuża l-istess kredenzjali bħal qabel. L-isniffer tat-traffiku se jaqbad biss il-gibbberish fl-aħjar:

Dak hu għalissa, fl-artiklu li jmiss se naqsmuk biex tirrestrinġi l-aċċess PhpMyAdmin bl-isem tal-utent/password, sa dak iż-żmien ibqa’ sintonizzat ma’ Tecmint.