Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Pripojte sa k MySQL ako root alebo ako administrátor
Budete sa musieť pripojiť k svojmu serveru MySQL pomocou používateľského účtu, ktorý má dostatočné privilégiá na vytvorenie používateľov a udelenie povolení. Zvyčajne je to užívateľ „root“ alebo iný administratívny používateľ.
`` `Bash
mysql -u root -p
`` `
Po výzve zadajte heslo root.
2. Vytvorte používateľa
Na vytvorenie používateľa použite príkaz „Vytvoriť používateľa“. Najlepšie je určiť hostiteľa, od ktorého sa môže užívateľ pripojiť. Ak chcete, aby sa používateľ pripojil od ktoréhokoľvek hostiteľa, použite `%`. Buďte veľmi opatrní pri používaní `%` pre citlivé účty! Ak chcete získať bezpečnejší prístup, obmedzte používateľa, aby sa pripojil iba z konkrétnych adries IP alebo hostiteľov.
`` sql
Create user 'public_user'@'%' identifikovaný 'your_strong_password';
`` `
* `'public_user'@'%'` :Toto definuje používateľské meno (`public_user`) a hostiteľ (`%`znamená každého hostiteľa). Nahraďte `your_strong_password` za silným a jedinečným heslom.
* `Identifikované 'your_strong_password'` :Toto nastaví heslo pre používateľa. Používajte silné heslo, ktoré je dlhé, zložité a obsahuje kombináciu veľkých a malých písmen, čísel a symbolov. Zvážte použitie správcu hesiel na bezpečné vygenerovanie a ukladanie vašich hesiel.
Dôležitá bezpečnostná poznámka: Použitie `'%'`, pretože hostiteľ umožňuje používateľovi pripojiť sa z * ľubovoľnej * IP adresy. Môže to byť bezpečnostné riziko. Ak je to možné, obmedzte používateľa na konkrétnu IP adresu alebo rozsah adresy IP. Napríklad:
`` sql
Create user 'public_user'@'192.168.1.100' identifikovaný 'your_strong_password'; - Povoliť iba od IP 192.168.1.100
Create user 'public_user'@'192.168.1.%' identifikovaný 'your_strong_password'; - Povoliť z podsiete 192.168.1.x
`` `
3. Udeliť privilégiá databázy iba na čítanie
Použite príkaz „Grant“ na udelenie oprávnení iba na čítanie používateľom v požadovanej databáze.
`` sql
Grant vyberte na your_database.* Na 'public_user'@'%';
`` `
* `Grant Select` :Toto určuje, že používateľ bude mať iba privilégium „Select“, ktoré im umožňuje čítať údaje. Nebudú schopní vložiť, aktualizovať, odstrániť alebo zmeniť štruktúru databázy.
* `na your_database.*` :Toto určuje databázu (`your_database`) a že privilégium sa vzťahuje na všetky tabuľky v tejto databáze (`.*`). Nahraďte `your_database` za skutočný názov vašej databázy.
* `do 'public_user'@'%'` :Toto určuje používateľa, ktorému je privilégium udelené. Uistite sa, že sa to zhoduje s používateľom, ktorého ste vytvorili v kroku 2.
4. Preplachové privilégiá
Po udelení privilégií je nevyhnutné prepláchnuť tabuľky privilégií, aby sa zabezpečilo, že zmeny okamžite nadobudnú účinnosť.
`` sql
Preplachové privilégiá;
`` `
5. Otestujte používateľa
Odhláste sa z root alebo správcovského účtu a prihláste sa pomocou novovytvoreného účtu „public_user“.
`` `Bash
mysql -u public_user -p -h you_mysql_server_address
`` `
Nahraďte `your_mysql_server_address` skutočnou adresou vášho servera MySQL. Ak sa pripájate z toho istého počítača, môžete často používať „localhost“.
Po výzve zadajte heslo, ktoré ste nastavili pre `public_user.
Po prihlásení skúste vybrať údaje z databázy:
`` sql
Použite your_database;
Vyberte * z vášho_table;
`` `
Ak príkaz „Select“ funguje, používateľovi bol udelený prístup iba na čítanie. Vyskúšajte operáciu, ktorá vyžaduje ďalšie privilégiá, ako napríklad `insert`,` updaten`, `delete` alebo` Create Table`. Mali by zlyhať s chybou „Povolenia zamietnuté“.
Kompletný príklad:
`` sql
-Pripojte sa ako root:mysql -u root -p
- Vytvorte používateľa (nahradiť silným heslom!)
Create User 'public_user'@'%' identifikovaný pomocou 'SuperSecretPassword123!';
-Prístup iba na čítanie do databázy „MyDatabase“
Grant select on myDatabase.* Na 'public_user'@'%';
- Osviežte privilégiá
Preplachové privilégiá;
- opustite koreňovú reláciu
VÝCHOD;
- Prihláste sa ako nový používateľ (z príkazového riadku):
-mysql -u public_user -p -h you_mysql_server_address
- Otestujte povolenia:
Použite MyDatabase;
Vyberte * od zákazníkov; - Mal by pracovať
Vložte do zákazníkov (názov) hodnôt („nový zákazník“); - Malo by zlyhať
- opustite reláciu public_user
VÝCHOD;
`` `
Dôležité úvahy a osvedčené postupy:
* najmenej privilégium: Udeliť iba potrebné výsady. Vyhnite sa udeľovaniu širších privilégií, ako je potrebné. Napríklad, ak si užívateľ potrebuje čítať iba z konkrétnej tabuľky, udeľte „vyberte“ iba v tejto tabuľke, nie v celej databáze.
* Obmedzenie hostiteľa: Obmedzte hostiteľov, z ktorých sa môže používateľ pripojiť. Nepoužívajte „%“ `, pokiaľ to nie je absolútne nevyhnutné a vy rozumiete dôsledkom bezpečnosti.
* Správa hesiel: Presadzujte silné zásady hesla a pravidelne otáčajte heslá. Použite správcu hesiel.
* protokolovanie auditu: Povoliť protokolovanie auditu na serveri MySQL na sledovanie aktivity používateľa vrátane prihlásení, dopytov a iných operácií. To vám môže pomôcť odhaliť a vyšetriť bezpečnostné incidenty.
* Pravidelné bezpečnostné audity: Pravidelne kontrolujte svoju konfiguráciu MySQL, používateľské účty a výsady, aby ste identifikovali a riešili potenciálne zraniteľné miesta zabezpečenia.
* šifrovanie: Použite šifrovanie na ochranu údajov v pokoji a pri tranzite. Povoliť SSL pre pripojenia klienta.
* firewall: Nakonfigurujte bránu firewall tak, aby ste umožnili potrebnú prenos iba na váš server MySQL.
* Monitorovanie: Monitorujte svoj server MySQL, kde nájdete problémy s výkonom a bezpečnostné hrozby.
* Dizajn databázy: Navrhnite svoju databázu s ohľadom na bezpečnosť. Použite vhodné typy údajov a obmedzenia, aby ste zabránili útokom na korupciu a injekciu údajov. Zvážte použitie pripravených vyhlásení na zabránenie injekcie SQL.
* Vyhýbajte sa priamo vystaveniu internetu: Vo väčšine prípadov by ste nemali * priamo odhaliť svoju databázu MySQL verejnému internetu. Namiesto toho použite aplikačný server (napr. Webový server s PHP, Python, Node.js atď.) Na spracovanie požiadaviek od klientov a interakciu s databázou v mene používateľa. To vám umožní implementovať prísnejšie bezpečnostné ovládacie prvky a chrániť databázu pred priamymi útokmi. To je rozhodujúce pre zabránenie neoprávneného prístupu a porušenia údajov.
* Žiadne priame vystavenie koncovému používateľovi: Nikdy nedovoľte, aby sa koncovému používateľovi vkladal priamo do vašej databázy, používajte webovú stránku.
Podľa týchto krokov a osvedčených postupov môžete vytvoriť verejného používateľa, ktorý vyžaduje heslo na prezeranie údajov v MySQL pri zachovaní primeranej úrovne zabezpečenia. Nezabudnite prispôsobiť tieto pokyny svojim konkrétnym životným prostredím a bezpečnostným požiadavkám. Vždy uprednostňujte bezpečnosť a pravidelne kontrolujte svoju konfiguráciu, aby ste sa uistili, že je naďalej efektívna.