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://
(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.