Cele mai bune sfaturi pentru MySQL și MariaDB Security

Publicat: 2022-01-08

Securitatea este o mare preocupare pentru mulți oameni. Această postare vă va oferi zece sfaturi despre cum să obțineți securitatea MySQL și MariaDB pentru a vă proteja bazele de date de hackeri. Aceste sfaturi includ: copierea de rezervă a datelor, utilizarea parolelor puternice și limitarea privilegiilor de acces.


Cele mai bune sfaturi pentru MySQL și MariaDB Security

Iată cele mai bune sfaturi pentru a obține securitatea MySQL și MariaDB:


Eliminați utilizatori fără parolă

Dacă aveți utilizatori în baza de date fără parole, cel mai bine este să-i eliminați. Acest lucru va ajuta la reducerea șanselor ca cineva să poată accesa baza de date. Puteți folosi următoarea interogare pentru a elimina acești utilizatori:

Indiferent dacă utilizatorii au sau nu acces doar de la gazda locală, aceștia ar trebui să fie șterse pentru a opri executarea oricăror comenzi negative. De asemenea, parolele slabe reprezintă un risc de securitate în sine.

Ar trebui să utilizați întotdeauna parole puternice atunci când creați utilizatori în bazele de date. Parolele slabe sunt mai ușor de spart de hackeri, ceea ce i-ar putea face să obțină acces la baza de date și să facă ravagii în ea dacă reușesc acest lucru. Utilizarea unui generator automat de parole vă va ajuta să creați parole mai puternice, care sunt mai greu de spart.

De asemenea, ar trebui să luați în considerare utilizarea autentificării cu doi factori pentru utilizatorii dvs. Acest lucru va necesita un cod suplimentar, de obicei trimis pe telefonul lor, pentru a se autentifica în baza de date. Acest lucru face mult mai dificil pentru cineva să obțină acces dacă are doar numele dvs. de utilizator și parola.


Limitați accesul la distanță

Dacă nu trebuie să acordați acces de la distanță la baza de date, atunci cel mai bine este să o limitați. Acest lucru va ajuta la reducerea șanselor ca cineva să poată accesa baza de date dintr-o locație de la distanță.

Din fericire, cele mai recente versiuni de MySQL și MariaDB limitează automat accesul de la distanță la baza de date, dacă nu este specificat altfel. Cu toate acestea, ar trebui să verificați în continuare setările de securitate pentru a vă asigura că acesta este cazul.

De asemenea, este o idee bună să vă asigurați că toți utilizatorii se conectează la MySQL doar de gazdele pe care le doriți. De exemplu, acest lucru se poate face folosind ([email protected]).


Eliminați baza de date de testare

Când instalați MySQL sau MariaDB, o bază de date de testare este creată automat. Această bază de date conține date care pot fi folosite pentru a pirata bazele de date reale dacă cade în mâini greșite. Cel mai bine este să eliminați această bază de date, astfel încât să nu poată fi folosită în scopuri nefaste.

Această bază de date de testare provoacă, de asemenea, efort inutil pe serverul bazei de date. Este folosit doar de testerii bazelor de date pentru a testa interogările, astfel încât poate fi eliminat fără a afecta funcționalitatea bazelor de date.


Obscură accesul la MySQL

Dacă nu doriți ca oamenii să știe că baza dvs. de date există, atunci puteți întuneca accesul acesteia. Acest lucru va face mai greu pentru cineva să vă găsească baza de date și să pirateze în ea.

Obscurcarea accesului face, de asemenea, mai dificil pentru oricine care vă monitorizează traficul să determine ce porturi sunt folosite de MySQL sau MariaDB.

Este binecunoscut faptul că MySQL rulează pe portul 3306, în timp ce „root” este numele superutilizatorului. Puteți remedia acest lucru editând my.cnf și schimbând variabila „port”.


Asigurați-vă fișierele de configurare

Ca și în cazul oricărei aplicații, este important să vă securizați fișierele de configurare pentru MySQL sau MariaDB. Aceste fișiere conțin informații sensibile, cum ar fi parolele și datele utilizatorului. Securizarea acestor fișiere va ajuta să împiedice oricine să obțină acces la aceste informații dacă obține acces la serverele dvs.


Securitatea retelei

De asemenea, este important să vă securizați rețeaua, precum și serverele în sine. Acest lucru va ajuta la reducerea șanselor ca cineva să pirateze baza de date dintr-o locație de la distanță și să execute comenzi nefaste pe aceasta.

Primul lucru pe care ar trebui să vă asigurați este că MySQL este accesat doar printr-o conexiune locală, nu prin rețea. Puteți face acest lucru printr-un socket Unix. Introduceți „skip-networking” în my.cnf. pentru a opri toate comunicațiile TCP/IP.

De asemenea, puteți utiliza firewall-ul pentru a bloca accesul la MySQL de la anumite adrese sau intervale IP. Acest lucru va ajuta la reducerea șanselor ca cineva să pirateze baza dvs. de date dintr-o locație la distanță.


Utilizați pluginuri de audit

De asemenea, puteți utiliza pluginuri de audit pentru a urmări ceea ce se întâmplă în baza de date. Acestea vă vor ajuta să determinați dacă cineva a piratat baza dvs. de date sau dacă se întâmplă ceva suspect care ar putea sugera acest lucru.

Există o mulțime de opțiuni gratuite și plătite pentru aceste pluginuri disponibile online astăzi. MySQL Enterprise Audit este o opțiune bună dacă MySQL Enterprise este deja utilizat în organizația dvs. MariaDB are și propriul plugin de audit.

Toate aceste pluginuri fac o treabă grozavă la monitorizarea bazei de date pentru activități suspecte. Ei vă pot trimite chiar alerte dacă este detectat ceva neobișnuit, astfel încât să nu fie nevoie să verificați manual jurnalele de fiecare dată.


Dezactivați LOAD DATA LOCAL INFILE

O altă modalitate de a împiedica pe cineva să obțină acces la baza de date este dezactivarea capacității LOCAL în MySQL și MariaDB. Această comandă vă permite să încărcați fișiere de date dintr-un fișier local, dar prezintă și un risc de securitate – mai ales dacă nu sunt criptate. Pentru a dezactiva această funcție, setați local-infile=0 în my.cnf.


Privilegii de fișier

De asemenea, este important să setați privilegiile corecte pentru fișierele MySQL și MariaDB. Acest lucru va asigura că numai utilizatorii autorizați le pot accesa. Puteți face acest lucru setând permisiunile corespunzătoare pentru aceste fișiere.

De exemplu, ați putea seta proprietarul tuturor fișierelor dvs. MySQL să fie „mysql” și grupul să fie „mysql”, toți ceilalți utilizatori fiindu-i interzis accesul. Acest lucru va asigura că numai utilizatorii cu permisiunile corecte vor putea accesa fișierele dvs. MySQL.


SSL și criptarea datelor în tranzit

Dacă rulați MySQL sau MariaDB cu SSL activat, atunci este important să aveți certificatele necesare instalate pe server. Dacă acest lucru nu se face, oricine poate intercepta informațiile trimise între baza ta de date și clienții săi.

De asemenea, ar trebui să criptați toate datele în tranzit pentru o protecție suplimentară a oricăror date sensibile transmise prin rețelele publice prin utilizarea SSH.

De asemenea, puteți cripta datele care sunt transmise între serverul dvs. de baze de date și alte dispozitive. Acest lucru se va asigura că oricine monitorizează traficul în rețeaua dvs. nu poate accesa niciuna dintre datele pe care le transmit sau le primește, chiar dacă a reușit să pirateze unul dintre aceste sisteme.

SSL ar fi o modalitate excelentă de a realiza acest lucru pentru utilizatorii MySQL, deoarece este deja încorporat în protocol. Utilizatorii MariaDB pot folosi stunnel pentru a obține un efect similar.


Criptarea datelor în repaus

În cele din urmă, ar trebui să luați în considerare și criptarea datelor în repaus. Aceasta înseamnă că datele sunt criptate chiar și atunci când nu sunt transmise.

Acest lucru se poate face folosind un instrument precum MySQL Enterprise Encryption sau MariaDB Column Encryption.

Ambele instrumente oferă o modalitate excelentă de a vă proteja datele împotriva accesării dacă cineva reușește să pirateze serverul dvs. de baze de date. De asemenea, sunt foarte ușor de utilizat, așa că nu trebuie să fii un expert în criptare pentru a profita de aceste instrumente.


Concluzie

Toate opțiunile menționate aici vă vor ajuta să obțineți securitatea MySQL și MariaDB, dar nu sunt toate perfecte pentru fiecare situație. Ar trebui să țineți cont de nevoile dvs. specifice atunci când le priviți, astfel încât să puteți alege pe cea mai bună posibilă. Cu toate acestea, aceste sfaturi ar trebui să vă ofere o idee bună despre cum să alegeți o opțiune care vă va funcționa bine.

Sperăm că acest articol v-a oferit câteva idei bune despre cum să obțineți securitatea MySQL și MariaDB în organizația dvs., astfel încât nimeni să nu vă poată sparge bazele de date dacă reușesc să spargă alte apărări.