Wéi Dir HTTPS (SSL Certificaten) opstellt fir PhpMyAdmin Login ze sécheren
Fir dësen Tipp aféieren, loosst eis den HTTP-Traffic tëscht enger Clientmaschinn an dem Debian 8-Server snuffelen, wou mir den onschëllege Feeler gemaach hunn fir Iech mat der Umeldungsinformatioun vun der Datebank Root Benotzer an eisem leschten Artikel unzemellen: Change and Secure Default PhpMyAdmin Login URL
Wéi mir am viregten Tipp ernimmt hunn, probéiert dëst nach net ze maachen wann Dir Är Umeldungsinformatiounen net wëllt aussoen. Fir de Traffic unzefänken, hu mir de folgende Kommando aginn an dréckt 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
Et wäert eis net laang daueren fir ze realiséieren datt de Benotzernumm a Passwuert iwwer den Drot am Kloertextformat geschéckt goufen, wéi Dir an der ofgeschniddener Ausgab vun tcpdump am Bild hei ënnen kënnt gesinn.
Notéiert w.e.g. datt mir en Deel vum Root-Passwuert mat engem bloe Mark driwwer verstoppt hunn:
Fir dëst ze vermeiden, loosst eis d'Login Säit mat engem Certificat ofsécheren. Fir dëst ze maachen, installéiert mod_ssl Package op CentOS baséiert Verdeelungen.
# yum install mod_ssl
Och wa mir den Debian/Ubuntu Wee an d'Nimm benotzen, ass déiselwecht Prozedur valabel fir CentOS a RHEL wann Dir d'Befehle a Weeër hei drënner ersetzt mat den CentOS Äquivalenten.
Erstellt e Verzeichnis fir de Schlëssel an Zertifikat ze späicheren:
# mkdir /etc/apache2/ssl [On Debian/Ubuntu based systems] # mkdir /etc/httpd/ssl [On CentOS based systems]
Erstellt de Schlëssel an Zertifikat:
----------- 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ächst, z'iwwerpréiwen Schlëssel an Zertifikat.
# 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
An Debian/Ubuntu, vergewëssert Iech datt Apache um Port 443 fir de Standardsite lauschtert (/etc/apache2/sites-available/000-default.conf) a füügt déi 3 SSL-verbonne Linnen an der VirtualHost Deklaratioun derbäi:
SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key
An CentOS baséiert Verdeelungen, sot Apache fir um Port 443 ze lauschteren a kuckt no der Listen Direktiv an /etc/httpd/conf/httpd.conf a füügt déi uewe genannte Linnen drënner.
SSLEngine on SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key
Ännerungen späicheren, lued den SSL Apache Modul op Debian/Ubuntu Verdeelungen (an CentOS gëtt dëst automatesch gelueden wann Dir mod_ssl virdru installéiert hutt):
# a2enmod ssl
Force phpmyadmin fir SSL ze benotzen, vergewëssert Iech datt déi folgend Linn an /etc/phpmyadmin/config.inc.php oder /etc/phpMyAdmin/config.inc.php Datei präsent ass:
$cfg['ForceSSL'] = true;
a restart de Webserver:
# systemctl restart apache2 [On Debian/Ubuntu based systems] # systemctl restart httpd [On Debian/Ubuntu based systems]
Als nächst, lancéiert Äre Webbrowser a gitt https://
(léiert wéi Dir de PhpMyAdmin Login URL ännert) wéi hei ënnendrënner.
Wichteg: Notéiert w.e.g. datt et nëmme seet datt d'Verbindung net sécher ass well mir e selbst ënnerschriwwenen Zertifika benotzen. Klickt op Advanced a bestätegt d'Sécherheet Ausnam:
Nodeems Dir d'Sécherheet Ausnahm bestätegt, a virum Login, loosst eis HTTP- an HTTPS-Traffic sniffen:
# 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
Da loggt Iech un mat de selwechte Umeldungsinformatiounen wéi virdrun. De Traffic Sniffer wäert nëmmen am beschten Gibberish erfaassen:
Dat ass et fir elo, am nächsten Artikel deele mir Iech fir de PhpMyAdmin Zougang mat Benotzernumm/Passwuert ze beschränken, bis dann op Tecmint ofgeschloss bleiwen.