Jak zainstalować i zabezpieczyć phpMyAdmin na Ubuntu 16.04

wprowadzenie

podczas gdy wielu użytkowników potrzebuje funkcjonalności systemu zarządzania Bazą Danych, takiego jak MySQL, mogą nie czuć się komfortowo w interakcji z systemem wyłącznie z monitu MySQL.

phpMyAdmin został stworzony, aby użytkownicy mogli wchodzić w interakcje z MySQL za pośrednictwem interfejsu internetowego. W tym przewodniku omówimy, jak zainstalować i zabezpieczyć phpMyAdmin, abyś mógł bezpiecznie używać go do zarządzania bazami danych z systemu Ubuntu 16.04.

wymagania wstępne

zanim zaczniesz korzystać z tego przewodnika, musisz wykonać kilka podstawowych kroków.

Po pierwsze, Zakładamy, że używasz użytkownika innego niż root z uprawnieniami sudo, jak opisano w krokach 1-4 w początkowej konfiguracji serwera Ubuntu 16.04.

Zakładamy również, że ukończyłeś instalację LAMP (Linux, Apache, MySQL i PHP) na serwerze Ubuntu 16.04. Jeśli nie jest to jeszcze zakończone, możesz postępować zgodnie z tym przewodnikiem na temat instalowania stosu LAMP na Ubuntu 16.04.

wreszcie, istnieją ważne względy bezpieczeństwa podczas korzystania z oprogramowania takiego jak phpMyAdmin, ponieważ:

  • komunikuje się bezpośrednio z instalacją MySQL
  • obsługuje uwierzytelnianie za pomocą poświadczeń MySQL
  • wykonuje i zwraca wyniki dla dowolnych zapytań SQL

z tych powodów, a ponieważ jest to szeroko wdrożona aplikacja PHP, która jest często skierowana do ataku, nigdy nie powinieneś uruchamiać phpMyAdmin na zdalnych systemach przez zwykły połączenie HTTP. Jeśli nie masz istniejącej domeny skonfigurowanej z certyfikatem SSL/TLS, możesz postępować zgodnie z tym przewodnikiem na temat zabezpieczania Apache z Let ’ s Encrypt na Ubuntu 16.04.

Po wykonaniu tych kroków możesz rozpocząć korzystanie z tego przewodnika.

Krok pierwszy — zainstaluj phpMyAdmin

aby rozpocząć, zainstalujemy phpMyAdmin z domyślnych repozytoriów Ubuntu.

możemy to zrobić, aktualizując nasz lokalny indeks pakietów, a następnie używającapt system pakowania, aby pobrać pliki i zainstalować je w naszym systemie:

  • sudo apt-get update
  • sudo apt-get install phpmyadmin php-mbstring php-gettext

to zadaje ci kilka pytań, aby poprawnie skonfigurować instalację.

Ostrzeżenie: Gdy pojawi się pierwszy znak zachęty, apache2 jest podświetlony, ale nie jest zaznaczony. Jeśli nie trafisz spacji, aby wybrać Apache, instalator nie przeniesie niezbędnych plików podczas instalacji. Naciśnij spację, kartę, a następnie wprowadź, aby wybrać Apache.

  • aby wybrać serwer, wybierz apache2.
  • wybierz Tak gdy zapytasz, czy użyć dbconfig-common aby skonfigurować bazę danych
  • zostaniesz poproszony o hasło administratora bazy danych
  • zostaniesz poproszony o wybranie i potwierdzenie hasła dla phpMyAdmin sama aplikacja

proces instalacji faktycznie dodaje Apache phpMyAdmin plik konfiguracyjny do katalogu /etc/apache2/conf-enabled/, gdzie jest automatycznie odczytywany.

jedyne, co musimy zrobić, to jawnie włączyć PHP mcrypt I mbstring rozszerzenia, które możemy zrobić wpisując:

  • sudo phpenmod mcrypt
  • sudo phpenmod mbstring

następnie musisz ponownie uruchomić Apache, aby twoje zmiany zostały rozpoznane:

  • sudo systemctl restart apache2

Możesz teraz uzyskać dostęp do interfejsu WWW, odwiedzając nazwę domeny serwera lub publiczny adres IP, a następnie /phpmyadmin:

https://domain_name_or_IP/phpmyadmin

ekran logowania phpMyAdmin

Możesz teraz zalogować się do interfejsu za pomocąroot nazwa użytkownika i hasło administracyjne skonfigurowane podczas instalacji MySQL.

po zalogowaniu się zobaczysz interfejs użytkownika, który będzie wyglądał mniej więcej tak:

interfejs użytkownika phpMyAdmin

Krok drugi — Zabezpiecz swoją instancję phpMyAdmin

udało nam się dość łatwo uruchomić nasz interfejs phpMyAdmin. Jednak jeszcze nie skończyliśmy. Ze względu na swoją wszechobecność, phpMyAdmin jest popularnym celem dla atakujących. Powinniśmy podjąć dodatkowe kroki, aby zapobiec nieautoryzowanemu dostępowi.

jednym z najprostszych sposobów jest umieszczenie bramy przed całą aplikacją. Możemy to zrobić za pomocą wbudowanego w Apache .htaccess funkcji uwierzytelniania i autoryzacji.

Skonfiguruj Apache, aby zezwalał .htaccess nadpisuje

najpierw musimy włączyć użycie pliku .htaccess, edytując nasz plik konfiguracyjny Apache.

edytujemy połączony plik, który został umieszczony w naszym katalogu konfiguracyjnym Apache:

  • sudo nano /etc/apache2/conf-available/phpmyadmin.conf

musimy dodać dyrektywę AllowOverride All w sekcji <Directory /usr/share/phpmyadmin> w pliku konfiguracyjnym:

/etc/apache2/conf-available/phpMyAdmin.conf
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php AllowOverride All . . .

Po dodaniu tej linii Zapisz i zamknij plik.

aby zaimplementować wprowadzone zmiany, uruchom ponownie Apache:

  • sudo systemctl restart apache2

Utwórz .plik htaccess

teraz, gdy włączyliśmy .htaccess Użyj dla naszej aplikacji, musimy ją utworzyć, aby faktycznie zaimplementować pewne zabezpieczenia.

aby to się powiodło, plik musi zostać utworzony w katalogu aplikacji. Możemy utworzyć potrzebny plik i otworzyć go w naszym edytorze tekstowym z uprawnieniami roota wpisując:

  • sudo nano /usr/share/phpmyadmin/.htaccess

w tym pliku musimy wprowadzić następujące informacje:

/usr/share/phpmyadmin/.htaccess
AuthType BasicAuthName "Restricted Files"AuthUserFile /etc/phpmyadmin/.htpasswdRequire valid-user

przejdźmy do tego, co oznacza każda z tych linii:

  • AuthType Basic: ta linia określa typ uwierzytelniania, który wdrażamy. Ten typ zaimplementuje uwierzytelnianie hasłem Za pomocą pliku hasła.
  • AuthName: ustawia wiadomość dla okna dialogowego uwierzytelniania. Należy zachować ten rodzaj ogólny, aby nieupoważnieni użytkownicy nie uzyskali żadnych informacji o tym, co jest chronione.
  • AuthUserFile: ustawia lokalizację pliku hasła, który będzie używany do uwierzytelniania. To powinno być poza katalogami, które są serwowane. Wkrótce stworzymy ten plik.
  • Require valid-user: określa, że dostęp do tego zasobu mają mieć tylko uwierzytelnieni użytkownicy. To właśnie powstrzymuje nieautoryzowanych użytkowników przed wejściem.

Po zakończeniu zapisz i zamknij plik.

Utwórzplik htpasswd do uwierzytelniania

lokalizacja, którą wybraliśmy dla naszego pliku hasła, to „/etc/phpmyadmin/.htpasswd„. Możemy teraz utworzyć ten plik i przekazać go początkowemu użytkownikowi za pomocą narzędzia htpasswd :

  • sudo htpasswd -c /etc/phpmyadmin/.htpasswd username

zostaniesz poproszony o wybranie i potwierdzenie hasła dla tworzonego użytkownika. Następnie plik jest tworzony z zaszyfrowanym hasłem, które wprowadziłeś.

Jeśli chcesz wprowadzić dodatkowego użytkownika, musisz to zrobić bez flagi -c, w ten sposób:

  • sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

teraz, gdy uzyskasz dostęp do podkatalogu phpMyAdmin, zostaniesz poproszony o dodatkową nazwę konta i hasło, które właśnie skonfigurowałeś:

https://domain_name_or_IP/phpmyadmin

phpMyAdmin hasło apache

Po wprowadzeniu uwierzytelniania Apache zostaniesz przeniesiony do zwykłej strony uwierzytelniania phpMyAdmin, aby wprowadzić inne poświadczenia. Spowoduje to dodanie dodatkowej warstwy zabezpieczeń, ponieważ phpMyAdmin w przeszłości cierpiał na luki w zabezpieczeniach.

wniosek

powinieneś mieć teraz skonfigurowany phpMyAdmin i gotowy do użycia na serwerze Ubuntu 16.04. Za pomocą tego interfejsu można łatwo tworzyć bazy danych, użytkowników, tabele itp. i wykonywać zwykłe operacje, takie jak usuwanie i modyfikowanie struktur i danych.

Related Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *