Wyszukiwanie w witrynie

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.

  1. Zainstaluj LAMP i PhpMyAdmin w Cent/RHEL 7
  2. Zainstaluj LAMP i PhpMyAdmin w Ubuntu 16.04
  3. 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:///phpmyadmin, 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.