Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Jo īpaši iesācēju iespiešanās pārbaudītāji mazāku uzsvaru liek uz datu bāzes drošību kopumā. Lietojumprogramma bez datu bāzes konfigurācijas un drošības testiem nevar būt droša. Iespējams, jūs jau izmantojat MySQL programmatūru, datu bāzes pārvaldības sistēmu, kā jūs varat padarīt to drošāku? Šeit ir septiņi soļi, kas jums jāievēro.

1. Attālā savienojuma vietā izmantojiet SSH tunelēšanu

MySQL pakalpojums pēc noklusējuma darbojas portā 3306. Instalējot MySQL, jūs redzēsit, ka ports 3306 ir klausīšanās režīmā visiem savienojumiem. Pašreizējā stāvoklī MySQL ports ir atvērts ārpasaulei. Tāpēc MySQL pakalpojumam ir jāiestata tā, lai tas klausītos tikai vietējā adrese.

Tā kā serveri parasti tiek darbināti ar Linux izplatīšanu, tālāk sniegtie piemēri ir balstīti uz Debian izplatīšanu. Fails, kas jāizmanto SSH tunelēšanai attālā savienojuma vietā un noklusējuma porta aizvēršanai ārpasaulei ir

instagram viewer
/etc/mysql/my.cnf. Šajā failā jums ir jāatver lauks ar nosaukumu [mysqld] un ierakstiet šādu komandu:

[mysqld]
saistīt-adrese=127.0.0.1

Pēc šī procesa neaizmirstiet saglabāt šo failu un restartēt pakalpojumu ar šādu komandu:

sudo systemctl restartējiet mysqld
# vai
sudosystemctlrestartētmariadb.apkalpošana

Tādējādi MySQL pakalpojums klausīsies tikai vietējo adresi.

Ja izmantojat MariaDB, varat arī pārbaudīt /etc/mysql/mariadb.conf.d/50-server.cnf un pārbaudiet, vai ir definīcija saistīšanas adrese.

Tagad, kad ir iestatīta saistīšanas adrese 127.0.0.1, kas ir vietējais resursdators, varat palaist Nmap skenēšanu un pārbaudīt izvadi:

Jūs varat redzēt MySQL portu, jo 127.0.0.1 apzīmē jūsu redzamo vietējo resursdatoru. Varat mēģināt vēlreiz mainīt saistīšanas adresi, lai pārliecinātos, ka tas darbojas:

[mysqld]
saistīt-adrese=127.5.5.1

Pēc tam saglabājiet /etc/mysql/my.cnf failu un restartējiet MySQL pakalpojumu. Ja veicat Nmap skenēšanu atkal šajā posmā jums nevajadzētu redzēt šo saistīšanas adresi vietnē localhost.

Kad zināt, ka tas darbojas, atgriezieties pie iestatījumiem no pirmā soļa un iestatiet saistīšanas adresi atpakaļ uz 127.0.0.1 un saglabājiet vēlreiz.

2. Iestatiet lokālo failu piekļuves barjeru

MySQL var sazināties ar vietējo failu sistēmu. Izmantojot vaicājumus, varat skatīt teksta saturu vietējā failu sistēmā vai ierakstīt vaicājuma rezultātu diskā. Lai novērstu ļaunprātīgus uzbrucējus, kas izmanto šo līdzekli, jums ir jānovērš MySQL saziņa ar vietējo failu sistēmu.

Lai veiktu piesardzības pasākumus, varat izmantot funkciju, ko sauc par local-infile. Piemēram, iedomājieties, ka jums ir fails ar nosaukumu "/etc/secretfile.txt" un šajā failā ir parole. Ja vietējā faila funkcijas vērtība /etc/mysql/my.cnf failā ir 1, piekļuve ir atvērta. Tātad jūs varat piekļūt failam secretfile.txt.

Vietējā faila funkcijas vērtība ir 1. Restartējiet MySQL datu bāzi, lai izmaiņas notiktu. Tagad izveidojiet savienojumu ar MySQL ar šādu komandu un pārbaudiet, vai varat redzēt failu secretfile.txt:

ATLASĪTLOAD_FILE("/etc/secretfile.txt");

Nav grūti tvert informāciju jebkurā datora failā.

Lai atrisinātu šo problēmu, mainiet vietējā faila vērtību savā /etc/mysql/my.cnf failā šādi:

[mysqld]
vietējā-infile=0

Restartējiet MySQL pakalpojumu. Atkārtoti izveidojiet savienojumu ar MySQL un atkārtojiet iepriekšējo darbību; jums vairs nevajadzētu redzēt faila saturu.

Ja lietotājiem vēl nav lokālo failu lasīšanas un rakstīšanas atļauju, viņi nevarēs redzēt šo failu. Tomēr tas joprojām ir kaut kas, kas jums jāpārbauda iespiešanās testos un datu bāzes drošībā.

3. Iestatiet lietojumprogrammu lietotājus un paroles

Datu bāzes pārvaldības lietotājam un MySQL lietotājam, kas piekļūst datu bāzei, ir jāatšķiras vienam no otra. Citiem vārdiem sakot, lietojumprogrammu savienošana ar MySQL ar root lietotājiem ir ārkārtīgi bīstama. Ja iespējams, definējiet to lietojumprogrammu lietotājus, kuras nedarbojas UPDATE vai INSERT darbības atsevišķi.

Vēl viena lieta, kas šajā brīdī jāņem vērā, ir lietotāju paroles. Tāpat kā gandrīz visās jomās, MySQL lietotāju parolēm ir jābūt sarežģītām un neparedzamām. Ja jums ir nepieciešama palīdzība, varat izmantot lieliskas paroļu ģeneratoru sistēmas.

4. Dzēst anonīmos lietotājus

Instalējot MySQL pēc noklusējuma, parādās daži anonīmi lietotāji. Jums tie ir jāizdzēš un jābloķē viņu piekļuve. Drošam MySQL serverim jums nevajadzētu saņemt nekādu atbildi šāda vaicājuma rezultātā:

ATLASĪT * NO mysql.user KURLIETOTĀJS="";
# Izvades piemērs
Tukšs komplekts (0,001 sek)

Ja ir kādi rezultāti, dzēsiet šos anonīmos lietotājus. Piemēram, ja vidē ar nosaukumu "localhost" būtu anonīms konts ar nosaukumu "anonuser", lai dzēstu šo kontu, jums būs jāizmanto šāda komanda:

NOMET LIETOTĀJU 'anonuser'@'vietējais saimnieks';

5. Pārbaudiet MySQL vietējo failu atļaujas

Iedomājieties, ka esat datu bāzes administrators un vēlaties atgriezties pie datiem, kas iegūti pirms nedēļas. Šādā gadījumā, iespējams, būs jāizveido savienojums ar datu bāzes serveri, izmantojot SSH, un jāmaina nepieciešamie MySQL faili. To darot, iespējams, esat izmantojis Linux root lietotāja privilēģijas; tas ir, datu failu īpašumtiesības un atļaujas var mainīties. Jūs to nevēlaties.

Apskatiet /var/lib/mysql direktoriju, lai pārbaudītu piešķirtās atļaujas. Šeit ir jāpārbauda, ​​vai visu failu īpašnieks ir MySQL lietotājs. Šī komanda veiks šo triku:

sudo ls -al /var/lib/mysql

Failu lasīšanas un rakstīšanas atļaujām jābūt tikai MySQL lietotājam. Nevienam citam lietotājam nedrīkst būt nekādas atļaujas.

6. Izmantojiet MySQL SSL

Domājot par konkrētu piemēru, ir labākais veids, kā izprast MySQL un SSL lietojumu. Iedomājieties, ka vienu no serveriem ABC reģionā, kur ir daudz dažādu serveru, pārņem ļaunprātīgi hakeri. Hakeri veiks iekšēju skenēšanu ABC reģionā. Tādā veidā viņi vāc informāciju par serveriem.

Ja viņi šī procesa laikā konstatē MySQL serveri, viņi var veikt a Man-in-the-Middle (MitM) uzbrukums mērķa serverim, kas nozīmē, ka viņi var nozagt lietojumprogrammu un lietotāju sesijas informāciju, kas izveido savienojumu ar šo serveri. Viens no labākajiem veidiem, kā no tā izvairīties, ir iespējot SSL MySQL serverī.

7. Žurnāla un vēstures faili

Jūs izmantojat MySQL žurnālus, lai analizētu un atrastu kļūdas. Varat rediģēt, kur šie žurnāli tiek glabāti, ievadot my.cnf šādi:

# /etc/mysql/my.cnf
[mysqld]
žurnāls =/var/žurnāls/mylogfiles

Jūs varat mainīt mylogfiles nosaukumu vai atrašanās vietu, kā vēlaties. Ir vēl viens fails, kas jums jāpārbauda. Kad Linux terminālī izveidojat savienojumu ar MySQL serveri un ierakstāt dažādas komandas, šie vaicājumi tiek saglabāti failā mysql_history. Ja palaižat šo komandu, varat redzēt MySQL terminālī izmantotos vaicājumus:

kaķis ~/.mysql_history

Jums ir jāizdzēš šī faila saturs, ja nevēlaties sniegt informāciju par to, kādus vaicājumus veicat serverī. Izmantojiet šo komandu, lai izdzēstu faila saturu:

sudo atbalss "iztīrīts"> ~/.mysql_history

Pēc tam varat vēlreiz pārbaudīt faila saturu.

Ikvienam, kuram pieder datu bāze, pieder sistēma

Neatkarīgi no tā, kurā nozarē jūs strādājat, jūsu datu bāzē vienmēr ir svarīga informācija. Tie var būt jūsu klienti, bankas konti un paroles. Ļaunprātīgi uzbrucēji zina to nozīmi un vērtību. Datu bāzu izstrādātājiem un administratoriem ir jāzina vismaz pamatinformācija, ar kuru viņi saskarsies iespiešanās testos, lai pārspētu hakerus.