Es vienmēr esmu bijis labas prakses draugs, vēl vairāk, ja tas palīdz mums saglabāt mūsu serveru, pakalpojumu vai vienkārši mūsu informācijas drošību.
Paradums (slikts ieradums), kas piemīt daudziem administratoriem vai lietotājiem, ir izmantot piekļuvi sakne visām datu bāzēm, tas ir, ... viņi instalē vietni, izmantojot WordPress CMS, un kā piekļuves datus datu bāzei (lai WP izmantotu MySQL serveri un izmantotu tā DB) viņi ievieto MySQL servera administrēšanas lietotāju : sakne
Viņi arī instalē jebkuru citu tīmekļa lietojumprogrammu (tērzēšanu, ielīmēšanu, forumu utt.) Un dara to pašu, viņi vienmēr izmanto MySQL saknes lietotāju ...
KĻŪDA !!!
Tas ir vienkārši letāls ieradums.
Pieņemsim, ka mums serverī ir šādi pakalpojumi:
- Vietne vai portāls, kas izmanto WordPress.
- Mūsu atbalsta forums, sarunas utt. ... vesela kopiena.
- FTP, kas izmanto MySQL datu bāzi lietotāju un paroļu glabāšanai.
- E-pasta lietotāji (lietotāji un paroles) tiek glabāti MySQL datu bāzē.
- Neliels WebChat, ko mēs instalējam, lai tērzētu ar kādu, kuru pazīstat.
Un visos no tiem 5 pakalpojumos mēs izmantojam MySQL saknes lietotāju, lai katrs pakalpojums piekļūtu datiem un tos saglabātu attiecīgajā datu bāzē.
Vienā jaukā dienā kāds no daudzajiem troļļiem, kas atrodas tīklā, taču tas ir ne tikai trollis, bet arī pārvalda dažus izmantošanas veidus, ievainojamības, uzlaušanas gadījumus utt. ... nolemj izdarīt kaut ko mums kaitīgu.
Atrodiet kļūdu WebChat, kuru izmantojam, izmantojot šīs kļūdas priekšrocības, tā pārvalda piekļuvi WebChat failiem, ieskaitot WebChat konfigurācijas failu, un ... šajā failā ir lietotājvārds un parole, ko WebChat izmanto piekļūt MySQL serverim un uzminēt ko? ... Tas nav nekas vairāk un ne mazāk sakņu lietotājs!
Iegūstot šo informāciju, trollis ļoti vienkāršā veidā var:
- Izdzēsiet mūs un / vai nozagiet visu, kas saistīts ar vietni vai portālu, kas mums ir (WordPress).
- Jūs varat izdzēst un / vai nozagt informāciju no mums UN no mūsu lietotājiem, kuri izmanto forumu, mūsu izveidoto kopienu.
- Varat arī nozagt VISU lietotāju, kuriem mūsu serverī ir e-pasta konts, lietotājvārdu un paroli, kā arī nozagt informāciju no viņu e-pastiem, uzdot personas utt.
- Un visbeidzot, jūs varat izmantot kontu mūsu FTP serverī un augšupielādēt visus failus, kas satur ļaunprātīgu programmatūru, kas ļautu jums TOTAL un ABSOLUTE kontrolēt mūsu serveri.
Nu ... ko jūs domājat? … 🙂
Vai redzat visu, kas var notikt, tikai neveidojot neatkarīgus lietotājus katrai mūsu datubāzei?
Tas NAV draugu pārspīlējums, tas var notikt ar pārsteidzošu vieglumu ... labi, viss, kas nepieciešams katastrofas atraisīšanai, ir tikai kļūda dažās jūsu instalētajās tīmekļa lietojumprogrammās.
Tagad ...
Kā izveidot atsevišķus MySQL lietotājus katrai tīmekļa lietojumprogrammai?
Vispirms mums ir jāievada MySQL serveris ar root lietotāju, jo viņam ir tiesības izveidot datubāzes, izveidot atļaujas, izveidot lietotājus utt.:
mysql -u root -p
Kad viņi raksta iepriekš minēto un nospiež [Ievadīt] viņiem tiks prasīts MySQL saknes lietotāja parole, viņi to uzraksta un nospiež [Ievadīt] atkal jums uzreiz tiks parādīts kaut kas līdzīgs šim:
Tagad mēs izveidosim datu bāzi ar nosaukumu «Webchatdb":
CREATE DATABASE webchatdb;
Gatavs, jūs jau esat izveidojis datu bāzi, tagad izveidosim lietotāju «tīmekļa pārlūks«Ar paroli«parole":
CREATE USER 'webchatuser'@'localhost' IDENTIFIED BY 'passworddelputowebchat';
Tagad burvība ... mēs piešķirsim visas privilēģijas (lasīt un rakstīt) tīmekļa pārlūks TIKAI DB Webchatdb:
GRANT ALL PRIVILEGES ON webchatdb.* TO 'webchatuser'@'localhost' WITH GRANT OPTION;
Un voila, lietotājam jau ir atļaujas šajā datubāzē ... tagad atliek tikai atsvaidzināt MySQL atļaujas, tas ir, pateikt MySQL atkārtoti izlasīt lietotāju privilēģijas, jo mēs tikko esam tajās mainījuši:
FLUSH PRIVILEGES ;
Es jums atstāju ekrānuzņēmumu:
Un tas ir bijis viss. Veicot to katrai tīmekļa lietojumprogrammai, kuru izmantojam, mēs garantējam, ka gadījumā, ja viņiem izdosies pārkāpt kādu no šīm tīmekļa lietojumprogrammām, pārējās būs drošībā (vismaz no MySQL viedokļa)
Kāda ir laba prakse? 😉
Es ceru, ka tas jums ir bijis tikpat noderīgs kā man, jo es centos to izskaidrot pēc iespējas vienkāršāk.
Sveicieni
Labs ieraksts KZKG, ja tas būtu forumā, es lūgtu lipīgu!
Paldies 😀
Webchat iestatītā parole ir laba, vēl viena lieta, kas ir saistīta ar mysql, ir tās atmiņas izmantošana
Hehehe, paldies, ka atgādinājāt par MySQL komandām, tagad redzēsim, vai "Es ievietoju zināmu drošību" World of Warcraft serveru DB, kas man ir manā LAN.
manas zināšanas par to ir nulle, bet tas ir gandrīz tāds pats kā MySQL lietošanai Amarok?
IZVEIDOT DATU BĀZI amarokdb;
Piešķiriet visas amarokdb privilēģijas. * TO 'amarokuser', KAS IDENTIFIKĒTS ar 'paroli'; Skalošanas privilēģijas;
Es neesmu lietojis Amarok ilgu laiku, bet, ja jūs izmantojat DB, kas ir MySQL, teorētiski tam vajadzētu darboties arī tā.
Labdien, būtu labi, ja jūs izveidotu ierakstu drošībai pret tīmekļa serveriem Linux, daudziem no tiem nav pienācīgas drošības, un tā paša administrators nav eksperts, viņi tikai atvieglo viņu darbu, piemēram, symlink izmantošana serveros ļauj lasīt citu kontu konfigurācijas failus tajā pašā serverī, daudzi administratori par to nezina, un tāpēc vietņu defacementu skaits palielinās
Sveicieni
Sveiki, kā tas notiek
Laipni lūdzam vietnē 🙂
Patiesībā es neuzskatu sevi par ekspertu šajā jautājumā, bet es centīšos dot ieguldījumu mazajās zināšanās, kuras esmu ieguvis gadu gaitā 🙂
Vēl viena lieta, ko nedara daudzi tīkla administratori, ir privilēģiju piešķiršana vietnēm ar apache atsevišķi, tas ir, lietotāju un grupu www-data (vai tamlīdzīgi), kas katrai vietnei ir atšķirīgs, un, savukārt, būris katrs no šiem.
Sveicieni
Labs padoms
Sveicieni
Paldies
IENĪSTU jūsu termināla parādīšanos, fona burti mani izved no koncentrēšanās. Jūs esat jāšanās trakais xD
Ārpus tā ir interesanti, jo esmu redzējis nožēlojamus gadījumus, kad no šīm lietām tiek pārtraukta apkalpošana.
Tagad tas ne tikai ir atkarīgs no tā, ka drošība slēpjas tajā, kā tika izveidota datu bāze, paskaidroja man skolotājs, bet es vēl neesmu ļoti iegremdējies DB ... mums vajadzētu sajaukt ar MongoDB = D vienā no šīm dienām
tieši tas notika ar mani šodien ar savu nomāto serveri
Es sekoju jūsu darbībām, iegāju cpanel un meklēju MYSQL datu bāzi, un tā man saka, ka tā nav kārtībā.
Es nezinu, kā tagad ievadīt ar root lietotāju
Es šajā ziņā esmu neofits, bet šeit lasot jūs uzzināt daudz, es ceru, ka jūs mani vadīsit pieejas
Labdien 🙂
Kas jums ir, ir hostings (SharedHosting) vai VPS (virtuālais serveris)?
Ja jums ir mitināšana, nevis VPS, jums vajadzētu redzēt, vai jūsu mitināšanai ir SSH piekļuve (sazinieties ar tā uzņēmuma tehnisko atbalstu, kurš jums pārdeva mitināšanu, un jautājiet, kā piekļūt, izmantojot SSH), tiklīdz ievadīsit caur SSH, lietotājs NETIEK root, bet jums jāizmanto lietotājs, kuru ievadījāt, instalējot šo tīmekļa lietojumprogrammu.
Patiesībā jūsu tēma ir sarežģīta, jo variantu un iespēju ir tik ļoti daudz, iesaku atvērt jaunu tēmu mūsu forumā, tur jums būs ērtāk palīdzēt - » http://foro.desdelinux.net
Sveiciens 😀
labi,
Es saprotu, ka ir laba prakse nedot visas privilēģijas nevienam lietotājam, izņemot root. Tomēr, kopš es instalēju phpmyadmin, ir izveidots jauns lietotājs "phpmyadmin" ar visām privilēģijām. Šķiet loģiski, ka tas tā ir, jo datu bāzu pārvaldībai MySQL ir tikai grafiska versija. Jebkurā gadījumā es vēlētos pārliecināties, vai tas ir labi, kā tas ir, vai man vajadzētu veikt dažas izmaiņas lietotāja "phpmyadmin" privilēģijās.
Sveiciens un paldies!
Lieliski…
Es esmu viens no tiem, kas visu dara ar saknēm, bet tu esi atvēris manas acis draugs ..
Liels paldies…