Cum sa instalam si sa securizam phpMyAdmin pe Ubuntu 16.04

Blog: OS
phpMyAdmin a fost creat pentru ca utilizatorii sa interactioneze cu MySQL prin intermediul unei interfete web. in acest articol vom discuta despre cum putem instala si securiza phpMyAdmin pentru a-l putea folosi in siguranta sa va gestionati bazele de date de pe sistemul Ubuntu 16.04.

Introducere

In timp ce multi utilizatori au nevoie de functionalitatea unui sistem de management al bazelor de date cum este MySQL, ei ar putea sa nu se simta comod interactionand doar cu MySQL.

phpMyAdmin a fost creat pentru ca utilizatorii sa interactioneze cu MySQL prin intermediul unei interfete web. in acest articol vom discuta despre cum putem instala si securiza phpMyAdmin pentru a-l putea folosi in siguranta sa va gestionati bazele de date de pe sistemul Ubuntu 16.04.

Conditie prealabila

Inainte de a incepe cu acest ghid, trebuie sa aveti cativa pasi de baza finalizati.

Pentru inceput vom presupune ca folositi un utilizator non-root cu drepturi sudo, asa cum este descris in pasii 1-4 din ghidul setarea initiala a server-ului pentru Ubuntu 16.04.

De asemenea vom presupune ca ati finalizat instalarea LAMP (Linux, Apache, MySQL si PHP) pe server-ul cu Ubuntu 16.04. Daca aceasta nu este finalizata inca, puteti urma ghidul de instalare a grupului LAMP pe Ubuntu 16.04.

In cele din urma, exista consideratii importante de securitate atunci cand se utilizeaza software-ul ca phpMyAdmin, deoarece:

  • Comunica direct cu instalarea MySQL
  • Se ocupa de autentificare folosind acreditari MySQL
  • Executa si returneaza rezultate pentru interogari arbitrare SQL

Din aceste motive, dar si pentru ca aplicatia PHP este folosita la scara larga fiind in mod frecvent tinta atacurilor, asa ca nu ar trebui sa rulati phpMyAdmin de la distanta printr-o conexiune HTTP simpla.

Din momentul in care ati finalizat acesti pasi sunteti pregatiti sa incepeti acest ghid.

Pasul Unu – Instalarea phpMyAdmin

Pentru a incepe, puteti instala phpMyAdmin din arhiva implicita a Ubuntu.

Putem face acest lucru actualizand indexul pachetului local si apoi folosind sistemul apt pentru a trage fisierele si a le instala pe sistemul nostru:

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

Acesta va pune cateva intrebari pentru a putea configura instalarea corect.

Atentie: Cand apar primele semne, apache2 este subliniat dar nu este selectat. Daca nu apasati tasta Space pentru a selecta Apache, nu se vor muta fisierele necesare in timpul instalarii.

Apasati Space, Tab si apoi Enter pentru a selecta Apache.

  • Pentru a selecta server-ul, alegeti apache2.
  • Selectati yes cand sunteti intrebati daca folositi dbconfig-common pentru a configura baza de date.
  • Vi se va cere parola administratorului pentru baza de date.
  • Vi se va cere sa alegeti si sa confirmati o parola pentru pentru aplicatia phpMyAdmin.

Procesul de instalare adauga fisierele de configurare Apache phpMyAdmin in directorul /etc/apache2/conf-enabled/, unde este citit in mod automat.

Singurul lucru pe care trebuie sa il faceti este sa activati extensiile PHP mcrypt si mbstring, lucru care se poate face tastand:

sudo phpenmod mcrypt
sudo phpenmod mbstring

Dupa aceea, va trebui sa reporniţi Apache pentru ca modificarile sa fie recunoscute:

sudo systemctl restart apache2

Puteti accesa interfata web vizitand numele domeniului sau adresa IP publica urmata de /phpmyadmin:

https://domain_name_or_IP/phpmyadmin

Va puteti loga in interfata folosind numele de utilizator root si parola administrativa pe care ati setat-o in timpul instalarii MySQL.

Cand va logati, o sa vedeti interfata utilizatorului care va arata ceva de genul:

Pasul Doi – Securizarea phpMyAdmin

O sa fiti capabili sa aveti interfata phpMyAdmin functionala foarte usor. in orice caz, inca nu am terminat.

Datorita raspandirii sale, phpMyAdmin este o tinta frecventa a atacatorilor. Va trebui sa parcurgem cativa extra pasi pentru a preveni accesul neautorizat.

Una dintre cele mai usoare modalitati de a face acest lucru este sa plasam o poarta de acces in fata intregii aplicatii. Putem face acest lucru folosind utilitatile de autentificare si autorizare Apache built-in .htaccess.

Configurarea Apache pentru a permite supra scrierea .htaccess

In primul rand, trebuie sa permita utilizarea inlocuirea de fisierului .htaccess prin editarea fisierului de configurare Apache.

O sa editam link-ul fisierului care a fost pozitionat in directorul de configurare Apache:

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

Va trebui sa adaugam instructiunea AllowOverride All in cadrul <Directory /usr/share/phpmyadmin> sectiunea fisierului de configurare, ca acesta:

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

Cand ati adaugat aceasta linie salvati si inchideti fisierul.

Pentru a implementa schimbarile facute restartati Apache:

sudo systemctl restart apache2

Crearea unui fisier .htaccess

Acum ca ati activat utilizarea .htaccess pentru aplicatia dumneavoastra, va trebui sa cream una pentru implementarea securitatii.

Pentru ca acest lucru sa aiba succes, fisierul trebuie sa fie creat in directorul aplicatiei. Puteti crea fisierul necesar si il puteti deschide in editorul nostru de text cu drepturi root, tastand:

sudo nano /usr/share/phpmyadmin/.htaccess

In acest fisier trebuie sa introducem urmatoarele informatii:

/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Haideti sa vedem ce inseamna fiecare linie:

  • AuthType Basic: Aceasta linie specifica tipul de autentificare pe care il aplicam. Acest tip va implemanta autentificarea cu parola folosind un fisier parola.
  • AuthName: Aceasta stabileste mesajul care se regaseste in caseta de dialog in momentul autentificarii. Trebuie sa pastraţi un mesaj generic astfel incat utilizatorii neautorizati sa nu obţina informaţii despre ceea ce este protejat.
  • AuthUserFile: Acesta seteaza locatia fisierului parola care va fi folosit pentru autentificare. Acesta va fi in afara directoarelor care sunt servite. Vom crea acest fisier in scurt timp.
  • Require valid-user: Acesta specifica ca doar utilizatorii autentificati vor avea acces la aceasta resursa. Acesta practic opreste patrunderea utilizatorilor neautorizati.

Cand ati terminat, salvati si inchideti.

Crearea fisierului .htpasswd pentru autentificare

Acum ca ne-am specificat o locatie pentru fisierul parola prin utilizarea directivei AuthUserFile din fisierul .htaccess, avem nevoie sa cream acest fisier.

Avem nevoie de un pachet aditional pentru a finaliza acest proces. il putem instala din arhiva noastra implicita:

sudo apt-get install apache2-utils

Dupa aceea vom avea serviciul htpasswd disponibil.

Locatia pe care am selectat-o pentru fisierul parola a fost "/etc/phpmyadmin/.htpasswd". Sa cream acest fisier si sa ii alocam un utilizator initial tastand:

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

Vi se va solicita sa selectati si sa confirmati parola pentru utilizatorul pe care l-ati creat. Dupa aceea, fisierul este creat cu parola hash pe care ati introdus-o.

Daca doriti sa adaugati inca un utilizator, puteti face acest lucru fara nota -c, in felul urmator:

sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser

Acum cand accesati subdirectorul phpMyAdmin, vi se va solicita numele contului suplimentar si parola pe care tocmai le-ati configurat:

https://domain_name_or_IP/phpmyadmin

  

Dupa introducerea autentificarii Apache, veti fi directionat catre pagina phpMyAdmin pentru a introduce si celelalte acreditari. Acesta va adauga si alte masuri de securitate, deoarece phpMyAdmin a avut vulnerabilitati in trecut.

Concluzii

Acum aveti phpMyAdmin configurat si gata de utilizare pe server-ul dvs. Ubuntu 16.04. Folosind aceasta interfata, puteti crea cu usurinta baze de date, utilizatori, tabele si sa efectuati operatii obisnuite ca stergerea si modificarea structurii si a datelor.

Din aceeasi categorie

Te muti la noi?

Migrarea catre un nou furnizor de hosting poate fi extrem de complicata . Fii relaxat si lasa-i expertii nostri sa o faca! Vom muta site-ul existent în 48 de ore, fara intrerupere . Inclus GRATUIT la achizitionarea oricarui pachet de gazduire BTS Telecom.