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