Jak dodać dodatkową warstwę zabezpieczeń do interfejsu logowania PhpMyAdmin
MySQL to najczęściej używany na świecie system zarządzania bazami danych typu open source w ekosystemie Linuksa, a jednocześnie nowicjuszom Linuksa trudno jest zarządzać za pomocą wiersza poleceń MySQL.
Utworzono PhpMyAdmin, to internetowa aplikacja do zarządzania bazami danych MySQL, która zapewnia nowicjuszom Linuksa łatwą interakcję z MySQL poprzez interfejs sieciowy. W tym artykule pokażemy, jak zabezpieczyć interfejs phpMyAdmin za pomocą ochrony hasłem w systemach Linux.
Zanim przejdziesz dalej z tym artykułem, zakładamy, że ukończyłeś instalację LAMP (Linux, Apache, MySQL/MariaDB i PHP) i PhpMyAdmin na swoim serwerze Linux. Jeśli nie, możesz postępować zgodnie z naszymi poniższymi przewodnikami, aby zainstalować stos LAMP w swoich odpowiednich dystrybucjach.
- Zainstaluj LAMP i PhpMyAdmin w Cent/RHEL 7
- Zainstaluj LAMP i PhpMyAdmin w Ubuntu 16.04
- Zainstaluj LAMP i PhpMyAdmin w Fedorze 22-24
Jeśli chcesz zainstalować najnowszą wersję PhpMyAdmin, możesz postępować zgodnie z tym przewodnikiem dotyczącym instalowania najnowszego PhpMyAdmin w systemach Linux.
Po wykonaniu wszystkich powyższych kroków możesz rozpocząć pracę z tym artykułem.
Wystarczy dodać następujące linie do /etc/apache2/sites-available/000-default.conf w Debianie lub /etc/httpd/conf/httpd. conf w CentOS będzie wymagać podstawowego uwierzytelnienia PO potwierdzeniu wyjątku bezpieczeństwa, ale PRZED dostępem do strony logowania.
Tym samym dodamy dodatkową warstwę zabezpieczeń, również chronioną certyfikatem.
Sugerowana lektura: Skonfiguruj HTTPS (certyfikaty SSL), aby zabezpieczyć PhpMyAdmin
Dodaj te linie do pliku konfiguracyjnego Apache (/etc/apache2/sites-available/000-default.conf lub /etc/httpd/conf/httpd.conf):
<Directory /usr/share/phpmyadmin>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>
<Directory /usr/share/phpmyadmin>
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user
</Directory>
Następnie użyj htpasswd, aby wygenerować plik haseł dla konta, które będzie autoryzowane do dostępu do strony logowania phpmyadmin. W tym przypadku użyjemy /etc/apache2/.htpasswd i tecmint:
---------- On Ubuntu/Debian Systems ----------
htpasswd -c /etc/apache2/.htpasswd tecmint
---------- On CentOS/RHEL Systems ----------
htpasswd -c /etc/httpd/.htpasswd tecmint
Wpisz dwukrotnie hasło, a następnie zmień uprawnienia i własność pliku. Ma to na celu uniemożliwienie osobom spoza grupy www-data lub Apache odczytania pliku .htpasswd
:
chmod 640 /etc/apache2/.htpasswd
---------- On Ubuntu/Debian Systems ----------
chgrp www-data /etc/apache2/.htpasswd
---------- On CentOS/RHEL Systems ----------
chgrp apache /etc/httpd/.htpasswd
Przejdź do http://
, a przed wejściem na stronę logowania zobaczysz okno dialogowe uwierzytelniania.
Sugerowana lektura: Zmień i zabezpiecz domyślny adres URL logowania PhpMyAdmin
Aby kontynuować, musisz wprowadzić dane uwierzytelniające ważnego konta w pliku /etc/apache2/.htpasswd lub /etc/httpd/.htpasswd:
Jeśli uwierzytelnienie zakończy się pomyślnie, zostaniesz przeniesiony na stronę logowania phpmyadmin.