Hogyan kell telepíteni és biztonságos phpMyAdmin Apache egy CentOS 7 szerver

Bevezetés

relációs adatbázis-kezelő rendszerek, mint a MySQL és MariaDB van szükség egy jelentős részét weboldalak és alkalmazások. Azonban nem minden felhasználó kényelmesen kezeli adatait a parancssorból.

a probléma megoldására egy phpMyAdmin nevű projektet hoztak létre annak érdekében, hogy alternatívát kínáljon egy webalapú kezelőfelület formájában. Ebben az útmutatóban bemutatjuk, hogyan kell telepíteni és biztosítani a phpMyAdmin konfigurációt egy CentOS 7 szerveren. Ezt a beállítást az Apache webszerver tetejére építjük, amely a világ legnépszerűbb webszervere.

előfeltételek

mielőtt elkezdenénk, van néhány követelmény, amelyet rendezni kell.

annak biztosítása érdekében, hogy szilárd alappal rendelkezzen a rendszer felépítéséhez, futtassa végig a CentOS 7 kezdeti szerverbeállítási útmutatóját. Többek között ez végigvezeti Önt egy nem root felhasználó beállításán, sudo hozzáféréssel az adminisztratív parancsokhoz.

a második előfeltétel, amelyet teljesíteni kell az útmutató elindításához, egy LAMP (Linux, Apache, MariaDB és PHP) verem telepítése a CentOS 7 szerverre. Ezt a platformot fogjuk használni a phpMyAdmin felületünk kiszolgálására (a MariaDB egyben az adatbázis-kezelő szoftver, amelyet kezelni kívánunk). Ha még nincs LAMP telepítése a szerveren, kövesse a LAMP CentOS 7-re történő telepítéséről szóló oktatóanyagunkat.

ha a szerver megfelelően működik az útmutatók követése után, folytathatja az oldal többi részével.

első lépés — Telepítse a phpMyAdmin

a LAMP platform már a helyén van, azonnal megkezdhetjük a phpMyAdmin szoftver telepítését. Sajnos a phpMyAdmin nem érhető el a CentOS 7 alapértelmezett adattárában.

a szükséges csomagok megszerzéséhez további repót kell hozzáadnunk a rendszerünkhöz. Az EPEL repo (extra Packages for Enterprise Linux) számos további csomagot tartalmaz, beleértve a keresett phpMyAdmin csomagot is.

az EPEL repository elérhetővé tehető a szerver számára egy epel-release nevű speciális csomag telepítésével. Ez újrakonfigurálja a repository listát, és hozzáférést biztosít az EPEL csomagokhoz.

a telepítéshez csak írja be:

sudo yum install epel-release

most, hogy az EPEL repo konfigurálva van, a phpMyAdmin csomagot a yum csomagolási rendszer segítségével telepítheti:

sudo yum install phpmyadmin

a Telepítés most befejeződik. A telepítés tartalmazott egy már bevezetett Apache konfigurációs fájlt. Ezt egy kicsit módosítanunk kell, hogy megfelelően működjön a telepítésünkhöz.

nyissa meg a fájlt a szövegszerkesztőben most, hogy néhány változtatást elvégezhessünk:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

belül látunk néhány könyvtárblokkot néhány feltételes logikával, amelyek megmagyarázzák a könyvtárunk hozzáférési politikáját. Két különálló könyvtár van definiálva, és ezeken belül olyan konfigurációk, amelyek érvényesek lesznek mind az Apache 2.2-re, mind az Apache 2.4-re (amelyeket futtatunk).

ez a beállítás jelenleg úgy van konfigurálva, hogy megtagadja a hozzáférést minden olyan kapcsolathoz, amely nem a szerverről jön létre. Mivel távolról dolgozunk a szerverünkön, módosítanunk kell néhány sort az otthoni kapcsolat IP-címének megadásához.

módosítsa a Require ip 127.0.0.1 vagy Allow from 127.0.0.1 feliratú sorokat az otthoni kapcsolat IP-címére való hivatkozáshoz. Ha segítségre van szüksége az otthoni kapcsolat IP-címének megtalálásához, nézze meg a következő részt. A fájlban négy helynek kell lennie, amelyet meg kell változtatni:

. . .Require ip your_workstation_IP_address. . .Allow from your_workstation_IP_address. . .Require ip your_workstation_IP_address. . .Allow from your_workstation_IP_address. . .

ha végzett, indítsa újra az Apache webkiszolgálót a módosítások végrehajtásához gépeléssel:

sudo systemctl restart httpd.service

ezzel a phpMyAdmin telepítésünk már működik. A felület eléréséhez nyissa meg a szerver domain nevét vagy nyilvános IP-címét, majd a /phpMyAdmin parancsot a webböngészőben:

http://server_domain_or_IP/phpMyAdmin

phpMyAdmin bejelentkezési képernyő

a bejelentkezéshez használjon érvényes MariaDB-felhasználó felhasználónév/jelszó párját. A root felhasználó és a MariaDB adminisztrátori jelszó jó választás az induláshoz. Ezután hozzáférhet az adminisztrációs felülethez:

phpMyAdmin admin interface

keresse meg IP-címét

a fenti lépés végrehajtásához ismernie kell annak a számítógépnek az IP-címét, amelyet az adatbázisok eléréséhez használ. Ez egy biztonsági óvintézkedés, hogy illetéktelen személyek ne tudjanak csatlakozni a szerverhez.

Megjegyzés: Ez nem a VPS IP-címe, hanem az otthoni vagy munkahelyi számítógép IP-címe.

megtudhatja, hogy a nagyobb web hogyan látja az Ön IP-címét, ha ellátogat ezen webhelyek egyikére a webböngészőben:

  • mi az IP címem?
  • mi az IP?
  • saját IP-cím

hasonlítson össze néhány különböző webhelyet, és győződjön meg róla, hogy mindegyik ugyanazt az értéket adja meg. Használja ezt az értéket a fenti konfigurációs fájlban.

második lépés — biztosítsa a phpMyAdmin példányt

a szerverünkre telepített phpMyAdmin példánynak ezen a ponton teljesen használhatónak kell lennie. A webes felület telepítésével azonban a MySQL rendszerünket kitettük a külvilágnak.

még a mellékelt hitelesítési képernyőn is ez elég probléma. A phpMyAdmin népszerűsége és a hozzáférést biztosító nagy mennyiségű adat miatt az ilyen telepítések a támadók általános célpontjai.

két egyszerű stratégiát fogunk végrehajtani annak érdekében, hogy csökkentsük annak esélyét, hogy a telepítésünk célzott és veszélyeztetett legyen. Megváltoztatjuk az interfész helyét /phpMyAdmin – ról valami másra, hogy elkerüljük az automatizált Bot brute-force kísérleteket. Létrehozunk egy további, webszerver szintű hitelesítési átjárót is, amelyet át kell adni, mielőtt még a phpMyAdmin bejelentkezési képernyőre jutna.

az alkalmazás hozzáférési helyének megváltoztatása

annak érdekében, hogy az Apache webszerverünk működjön a phpMyAdmin-nal, a phpMyAdmin Apache konfigurációs fájlunk aliast használ, hogy a fájlok könyvtárhelyére mutasson.

az URL megváltoztatásához, ahol a phpMyAdmin felületünk elérhető, egyszerűen át kell neveznünk az álnevet. Nyissa meg most a phpMyAdmin Apache konfigurációs fájlt:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

a fájl teteje felé két sor jelenik meg, amelyek így néznek ki:

Alias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin

ez a két sor az álneveink, ami azt jelenti, hogy ha hozzáférünk webhelyünk domain nevéhez vagy IP-címéhez, amelyet a /phpMyAdmin vagy a /phpmyadminkövet, akkor a tartalmat a /usr/share/phpMyAdmin címen fogjuk kiszolgálni.

le akarjuk tiltani ezeket a speciális álneveket, mivel erősen megcélozzák őket a botok és a rosszindulatú felhasználók. Ehelyett a saját álnevünket kell választanunk. Könnyen megjegyezhetőnek kell lennie, de nem könnyű kitalálni. Nem szabad jeleznie az URL helyének célját. A mi esetünkben, megyünk /nothingtosee.

a tervezett módosítások alkalmazásához el kell távolítanunk vagy kommentálnunk kell a meglévő sorokat, és hozzá kell adnunk a sajátunkat:

# Alias /phpMyAdmin /usr/share/phpMyAdmin# Alias /phpmyadmin /usr/share/phpMyAdminAlias /nothingtosee /usr/share/phpMyAdmin

ha végzett, mentse és zárja be a fájlt.

a módosítások végrehajtásához indítsa újra a webszolgáltatást:

sudo systemctl restart httpd.service

most, ha a phpMyAdmin telepítésének előző helyére lép, 404-es hibát kap:

http://server_domain_or_IP/phpMyAdmin

phpMyAdmin 404 hiba

a phpMyAdmin felület azonban elérhető lesz az általunk kiválasztott új helyen:

http://server_domain_or_IP/nothingtosee

phpMyAdmin bejelentkezési képernyő

webkiszolgáló hitelesítési kapu beállítása

a telepítéshez a következő funkció egy hitelesítési prompt volt, amelyet a felhasználónak át kell adnia, mielőtt valaha is meglátná a phpMyAdmin bejelentkezési képernyőt.

szerencsére a legtöbb webszerver, beleértve az Apache-t is, natív módon biztosítja ezt a képességet. Csak módosítanunk kell az Apache konfigurációs fájlunkat egy engedélyezési fájl használatához.

nyissa meg újra a phpMyAdmin Apache konfigurációs fájlt a szövegszerkesztőben:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf

a /usr/share/phpMyAdmin könyvtárblokkon belül, de a belső blokkok bármelyikén kívül felülbírálási irányelvet kell hozzáadnunk. Ez így fog kinézni:

. . .<Directory /usr/share/phpMyAdmin/> AllowOverride All <IfModule mod_authz_core.c> . . .</Directory>. . .

ez lehetővé teszi számunkra, hogy további konfigurációs részleteket adjunk meg egy .htaccess nevű fájlban, amely magában a phpMyAdmin könyvtárban található. Ezt a fájlt fogjuk használni a jelszó-hitelesítés beállításához.

mentse és zárja be a fájlt, ha végzett.

indítsa újra a webszolgáltatást a módosítás végrehajtásához:

sudo systemctl restart httpd.service

hozzon létre egy .htaccess fájl

most, hogy megvan a felülbírálási irányelv a konfigurációnkban, az Apache egy .htaccess nevű fájlt keres a /usr/share/phpMyAdmin könyvtárban. Ha talál egyet, akkor a benne található irányelveket használja a korábbi konfigurációs adatok kiegészítésére.

következő lépésünk a .htaccess fájl létrehozása ebben a könyvtárban. Használja a szövegszerkesztőt most:

sudo nano /usr/share/phpMyAdmin/.htaccess

ebben a fájlban a következő információkat kell megadnunk:

AuthType BasicAuthName "Admin Login"AuthUserFile /etc/httpd/pma_passRequire valid-user

menjünk át, mit jelentenek ezek a sorok:

  • AuthType Basic: Ez a sor határozza meg az általunk végrehajtott hitelesítési típust. Ez a típus jelszó-hitelesítést hajt végre egy jelszófájl használatával.
  • AuthName: ez beállítja a hitelesítés párbeszédpanel üzenetét. Meg kell tartani ezt az általános, hogy a jogosulatlan felhasználók nem kapnak ismereteket arról, hogy mi védett.
  • AuthUserFile: ez adja meg a hitelesítéshez használt tényleges jelszófájl helyét. Ennek a kiszolgálandó könyvtárakon kívül kell lennie. Egy pillanat alatt elkészítjük ezt a fájlt.
  • érvényes felhasználó szükséges: Ez azt határozza meg, hogy csak hitelesített felhasználók férhetnek hozzá ehhez az erőforráshoz. Ez valójában megakadályozza az illetéktelen felhasználók belépését.

ha befejezte az adatok megadását, mentse és zárja be a fájlt.

hozzon létre egy jelszófájlt a hitelesítéshez

most, hogy megadtuk a jelszófájl helyét a AuthUserFile irányelv használatával a .htaccess fájlunkban, létre kell hoznunk és fel kell töltenünk a jelszófájlt.

ez egy htpasswd nevű Apache segédprogram használatával érhető el. Meghívjuk a parancsot úgy, hogy átadjuk neki azt a helyet, ahová a fájlt szeretnénk létrehozni, valamint azt a felhasználónevet, amelyhez hitelesítési adatokat szeretnénk megadni:

sudo htpasswd -c /etc/httpd/pma_pass username

a -c jelző azt jelzi, hogy ez létrehoz egy kezdeti fájlt. A könyvtár helye A fájlhoz használt elérési út és fájlnév. A felhasználónév az első felhasználó, akit hozzá szeretnénk adni. A rendszer kéri, hogy adja meg és erősítse meg a felhasználó jelszavát.

ha további felhasználókat szeretne hozzáadni a hitelesítéshez, újra meghívhatja ugyanazt a parancsot a -c jelző nélkül, új felhasználónévvel:

sudo htpasswd /etc/httpd/pma_pass seconduser

a jelszófájl létrehozásával egy hitelesítési átjáró valósult meg, és most látnunk kell egy jelszót, amikor legközelebb meglátogatjuk webhelyünket:

http://server_domain_or_IP/nothingtosee

Apache hitelesítési oldal

miután megadta a hitelesítő adatait, a normál phpMyAdmin bejelentkezési oldalra kerül. Ez a hozzáadott védelmi réteg segít megőrizni a MySQL naplók tiszta hitelesítési kísérletek mellett a hozzáadott biztonsági előny.

következtetés

mostantól kezelheti a MySQL adatbázisokat egy ésszerűen biztonságos webes felületről. Ez a felhasználói felület kiteszi a MySQL parancssorból elérhető funkciók nagy részét. Megtekintheti az adatbázisokat és sémákat, lekérdezéseket hajthat végre, és új adatkészleteket és struktúrákat hozhat létre.

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.