Védelem és MariaDB mysql on linux szerver

Miután szerver biztonságos adatközpontok Európában. Nyílt felhő VPS / VDS szerver egy gyors SSD 1 perc alatt!

A legjobb Web Hosting:
- megvédi az illetéktelen hozzáférés egy biztonságos európai adatközpont
- fizet legalább Bitcoin.
- Akkor tegye meg a disztribúciós

- védelmet DDOS támadások
- ingyenes biztonsági mentés
- Üzemidő 99,9999%
- DPC - TIER III
- ISP - TIER I

Támogatás az orosz 24/7/365 dolgozni a jogi és fizikai személyek. Most kell 24 mag és 72 Gb RAM. Kérlek!

A versenyképes áron bizonyítani, hogy a legolcsóbb hosting, ha nem tudja!

A percek alatt, válassza ki a konfiguráció, a fizetés és a CMS egy VPS kész.
Pénzvisszafizetési - 30 nap alatt!

Bankkártyák, elektronikus valuta révén Qiwi terminálok, WebMoney, PayPal, Novoplat és mások.

Tegye fel kérdését támogatás 24/7/365

Megtalálja a választ az adatbázisunkban, és megfelel az ajánlásokat a

A Linux és UNIX-szerű operációs rendszer, sok SQL-megvalósításait, köztük a népszerű relációs adatbázis MySQL és MariaDB tárol.

Azonban, mint a legtöbb program, ha nincs helyesen beállítva, ezek az eszközök is veszélyt jelent a biztonságra. Ez az útmutató segít megvédeni az adatbázis MySQL vagy MariaDB adatbázis és egyúttal védi a teljes VPS.

A művelet könnyű kézikönyv a MySQL szerver Ubuntu 12.04; Azonban a technika itt felsorolt ​​megfelelő MariaDB és más Linux disztribúciók.

kezdeti konfiguráció

MySQL lehetővé teszi, hogy végre egy kezdeti biztonsági konfiguráció még a telepítés során. Először is, az adatbázis kínál egy sor root jelszót.

sudo apt-get install mysql-server
. Konfigurálása mysql-server-5.5.
. Bár nem kötelező, akkor erősen ajánlott, hogy a beállított egy jelszót a.
. MySQL adminisztrációs "root" felhasználó.
.
. Ha ez a mező üresen marad, akkor a jelszó nem változik.
.
. Új jelszót a MySQL „root” felhasználó.
.
. _______________________________________________________________________________.
.
.
.

A telepítés befejezése után, meg kell futtatni több szkripteket. Ahhoz, hogy hozzon létre egy könyvtár struktúrát az adatbázisok által használt script mysql_install_db:

Mysql_secure_installation majd futtatni egy scriptet, ami eltávolítja néhány potenciálisan veszélyes a gyári alapbeállításokat.

Először a forgatókönyvet kér root jelszót, majd felajánlotta, hogy változtassa meg (ha szükséges, meg egy biztonságos jelszót).

Közvetlenül azután, hogy ő fogja kérni néhány kérdést; ajánlatos, hogy válaszoljon ezekre a kérdésekre Y.

Ez blokkolja a hozzáférést az alapértelmezett MySQL és távoli kapcsolatok rendszergazda megszünteti egyes veszélyes teszt adatbázist, és frissíti a MySQL beállításokat.

Biztonságának értékelése

A fő szabály MySQL biztonsági (és szinte bármilyen más rendszer): A hozzáférés csak akkor adható, ha feltétlenül szükséges. Apropó adatvédelmi gyakran kell választani a kényelem és a biztonság.

Megjegyzés: Ebben a kézikönyv, a választás történik mellett a biztonság; A választás függ a szerver követelmények és célok.

my.cnf fájl

A fő konfigurációs fájl neve my.cnf MySQL és a könyvtárban tárolt / etc / mysql / Ubuntu rendszer, vagy az / etc / könyvtárban valamilyen más rendszerekben.

Ahhoz, hogy blokkolja a hozzáférést a MySQL, meg kell változtatni a beállításokat ebben a fájlban.

Nyissa meg a fájlt root jogosultságokkal. Változás a könyvtár elérési útját, ha teljesítenek utasítás egy másik disztró Linux.

sudo nano /etc/mysql/my.cnf-ban

Először meg kell, hogy ellenőrizze a beállítást bind-címet a szekció [mysqld]; Ez a beállítás kell mutatni a helyi hálózaton visszacsatolási felület, 127.0.0.1.

Ez a beállítás megakadályozza minden kapcsolatot a MySQL-t, kivéve a kapcsolatot a helyi gépen.

Ha hozzá szeretne férni az adatbázishoz a másik gépen a kapcsolatot használja SSH, amely lehetővé teszi, hogy küldjön lekérdezések és az adatbázis kezelésére helyileg, és az eredményeket SSH-n keresztül alagút.

Ezután meg kell tiltani a funkció, amely lehetővé teszi, hogy a fájlrendszer eléréséhez a MySQL. Ez súlyos következményekkel járhat a biztonság.

Ugyanebben a szakaszban a kívánt fájlt hozzáadni egy irányelv, amely letiltja ezt a viselkedést:

Most a MySQL nem fogja feltölteni a helyi fájlokat a felhasználók anélkül, hogy a megfelelő szintű hozzáférés.

Ha van elég hely, és akkor nem kell feldolgozni nagy mennyiségű adat, akkor beállíthatja a naplózás további információt, hogy képes legyen követni a gyanús tevékenységet.

Hozzátéve, hogy log túl sok információt a naplók gyenge teljesítményt eredményezhet, mert ez a lépés szükséges gondolni kétszer.

Változó log adhatunk az azonos rész [mysqld].

Győződjön meg arról, hogy a log MySQL, a hiba napló és log könyvtár nem mindenki által olvasható:

sudo ls -l / var / log / mysql *
-rw-r ----- 1 0 mysql ADM július 23 18:06 /var/log/mysql.err
-rw-r ----- 1 0 mysql ADM július 23 18:06 /var/log/mysql.log
/ Var / log / mysql:
összesen 28
-rw-rw ---- 1 mysql ADM 20.694 július 23 19:17 error.log

védelme MySQL

Miközben dolgozik a MySQL is végezhet számos intézkedést a biztonság javítása.

Ez megköveteli, hogy a MySQL parancssori felületet.

Adja meg a root-jelszó MySQL.

A jelszó és a fogadó

Először meg kell győződnie arról, hogy az összes felhasználó, aki hozzáfér a MySQL, a jelszóval védett és kapcsolódó host.

SELECT felhasználó, gép, jelszó mysql.user;
+------------------+-----------+-------------------------------------------+
| user | host | jelszó |
+------------------+-----------+-------------------------------------------+
| gyökér | localhost | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 |
| demo-felhasználó | % | |
| gyökér | 127.0.0.1 | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 |
| gyökér |. 1 | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 |
| debian-sys-Karba | localhost | * ECE81E38F064E50419F3074004A8352B6A683390 |
+------------------+-----------+-------------------------------------------+
5 sor készletben (0,00 mp)

Megjegyezzük, hogy a fenti példában, demo-felhasználó a felhasználónak nincs jelszava, és nem kapcsolódik a gazda. Ez egy komoly biztonsági kockázatot jelent.

Megadhat egy jelszót a felhasználó (helyettesíti a feltételes adatok) a következő parancsot:

UPDATE mysql.user SET password = jelszó ( 'ÚjJelszó'), ahol a felhasználói = "demo-felhasználó";

Most nyissa ki a felhasználói tábla újra demo-felhasználó jelszó jelenik meg.

SELECT felhasználó, gép, jelszó mysql.user;
+------------------+-----------+-------------------------------------------+
| user | host | jelszó |
+------------------+-----------+-------------------------------------------+
| gyökér | localhost | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 |
| demo-felhasználó | % | * D8DECEC305209EEFEC43008E1D420E1AA06B19E0 |
| gyökér | 127.0.0.1 | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 |
| gyökér |. 1 | * DE06E242B88EFB1FE4B5083587C260BACB2A6158 |
| debian-sys-Karba | localhost | * ECE81E38F064E50419F3074004A8352B6A683390 |
+------------------+-----------+-------------------------------------------+
5 sor készletben (0,00 mp)

Ügyeljen arra, hogy a területén Host: jelkép% azt jelenti, hogy a felhasználó nem csatlakozik a gazda. Csatlakoztassa a localhost:

UPDATE mysql.user SET Host = 'localhost' WHERE User = "demo-felhasználó";

Újranyitása asztal felhasználók számára; Mint látható, most minden mezőt kitöltött megfelelően.

Ezen a ponton a mysql nem lehet a fel nem használt számlák (mysql_secure_installation indítás után). Azonban, ha a táblázat lesz ilyen, akkor el kell távolítani.

Ehhez használja az alábbi parancsot:

DELETE FROM mysql.user ahol a felhasználói = "";

Amikor befejezte a felhasználó táblázat adja meg a következő parancsot:

szakosodott felhasználók

Mint a Linux operációs rendszer, MySQL kezdődik folyamatok izolált felhasználók.

Minden alkalmazás, amely MySQL, kell egy külön felhasználói fiókot egy bizonyos szintű adatokhoz való hozzáférés.

Amikor beállítja az alkalmazás használja a MySQL adatbázist kell létrehozni ehhez az alkalmazáshoz:

adatbázis létrehozása TESZTAB;
Query OK, 1 sor érintett (0,00 mp)

Ezután létre kell hozni egy felhasználót, hogy fogja kezelni az adatbázisban, és adja neki a szükséges hozzáférési jogokat. A hozzáférési szint az alkalmazástól függ.

Hogy hozzon létre egy felhasználói futtassa a következő parancsot:

CREATE USER 'demo-felhasználó' @ 'localhost' amely a 'jelszó';

Át a felhasználónak, hogy az adatbázis-hozzáférési jogok, használja az alábbi parancsot:

GRANT SELECT, UPDATE, DELETE ON TESZTAB * A 'demo-felhasználó' @ 'localhost' .;

Ahhoz, hogy a felhasználó jobb szerkeszteni, írja be a következő parancsot:

REVOKE UPDATE ON TESZTAB * FROM 'demo-felhasználó' @ 'localhost' .;

Ha átadhatók a parancs minden jog az adatbázisba:

GRANT ALL ON TESZTAB * A 'demo-felhasználó' @ 'localhost' .;

Mindig adatfrissítést kiváltságairól után változnak meg.

A root felhasználó

Végül, akkor az alapértelmezett név root felhasználó számára. Ha egy támadó megpróbálja feltörni a root felhasználó, akkor meg kell, hogy vegye fel nemcsak a jelszót, hanem egy nevet.

Nevének módosítása root-felhasználó használhatja a parancsot:

átnevezése 'root' @ 'localhost' to 'newAdminUser' @ 'localhost';

válasszuk felhasználó, host, jelszó mysql.user;

Most újra meg kell frissíteni adatok jogosultságok:

Most, hogy indítsa el a MySQL ülésen kell adnia egy új nevet:

mysql -u newAdminUser -p

következtetés

Természetesen ez a lista védelmére MySQL és MariaDB ajánlások nem teljes. Azonban az, hogy megszüntesse a leggyakoribb biztonsági rés tárol.

További információért a biztonsági megtalálható a weboldalakon a MySQL és MariaDB, valamint a manuális programokat. Ezen túlmenően, az utasításokat a biztonságos konfiguráció megtalálható a dokumentációban csatlakozik az adatbázis.

Kapcsolódó cikkek