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.