PHP jogosultsági rendszer
A szerveren filerendszer-szintű védelmet alkalmazunk minden weboldalra. A védelem a UNIX felhasználói jogosultságokon alapul.
A lényege, hogy a weboldal file-jainak tulajdonosa (= FTP) eltér attól a felhasználótól, aki az oldal PHP kódját futtatja (= webszerver), így a weboldal nem tudja saját magát felülírni.
Ez a módszer a támadások legnagyobb részét megfogja. A módszerről bővebben
Előfordul azonban, hogy bizonyos könyvtárakat adattárolásra használ az oldal, tehát szükséges, hogy ezekbe írni tudjon. Ennek semmi akadálya: a PHP számára írási jogot kell adni az adott könyvtárakra.
A jogosultságokat legegyszerűbben az Adminisztrációs felületen (admin.3gteam.hu) a Weboldalak menüpont alatt, vagy az API-n keresztül tudjuk kezelni az Írható, a
Javít és az
Install gombokkal.
Jogosultságok automatikus beállítása
- Az
Írható gomb megnyomásával adhatjuk meg az írni kívánt könyvtárakat.
- Figyelem! A funkció egyúttal letiltja a PHP file-ok direktben történő futtatását az írható könyvtárakban.
- A beállítás akkor lép érvénybe, a
Javít gombra kattintunk, helyreállítva ezzel a többi könyvtár jogosultságát is. (A funkció elérhető API-n keresztül)
Telepítés, frissítés
A weboldal telepítésekor, frissítésekor szükség lehet arra, hogy a teljes oldal írható legyen a PHP számára. Ilyenkor átmenetileg a teljes weboldal összes könyvtárát írhatóvá kell tenni:
- Kattintsunk az
Install gombra.
- A jogosultságok átállítása azonnal megtörténik.
- A
Javít gomb ikonja megváltozik
jelezve ezzel, hogy írható (és ezáltal sebezhető) a weboldal.
- Figyelem! Amint lehet, állítsuk helyre a jogosultságokat a
Javít gomb segítségével, különben komoly veszélynek tesszük ki a weboldalunkat.
(Mindkét funkció elérhető API-n keresztül)
Biztonsági tanácsok
A weboldalak saját adminisztrációs felülete lehetővé teszi kiegészítők, sablonok, stb telepítését - de csak akkor, ha bizonyos rendszermappákat írhatóvá teszünk. Ez a funkció nagyon kényelmes, azonban komoly veszélyeket rejt magában, miközben az oldal éles működéséhez nincs is rá szükség. Tehát érdemes ezeket a rendszermappákat irásvédetten tartani még akkor is, ha ez működésképtelenné teszi az oldal adminisztrációs felületének egyes - ritkán használt - funkcióit. Átmenetileg bármikor lehetőség van feloldani a korlátozást.
Ez történik a háttérben:
A tulajdonos (FTP) és a PHP futtató (webszerver) csoportja közös, tehát ahhoz, hogy egy adott file vagy könyvtár írható legyen a PHP által, a közös csoport számára kell írási jogot adnunk az adott file-ra vagy könyvtárra.
Lefordítva mindezt UNIX jogosultságokra:
Alapértelmezett jogosultság | Módosított jogosultság | |||
PHP által nem írható | PHP által írható | |||
Könyvtár | rwxr-xr-x | 755 | rwxrwxr-x | 775 |
File | rw-r--r-- | 644 | rw-rw-r- | 664 |
Az adminisztrációs felület mindezt automatikusan beállítja helyettünk. Ha azonban mégis manuálisan szeretnénk a jogosultságokat állítani, természetesen erre is van lehetőség.
Alternatív (nem ajánlott) módszerek:
- FTP-n keresztül: (lásd:FTP elérés) a CHMOD paranccsal
- A WebFTP felületén: (admin.3gteam.hu/ftp) a File jogosultságok / File Permissions / CHMOD menüpont segítségével
Ezek hátránya, hogy az automatikus jogosultságjavítás törölni fogja ezeket az egyedi beállításokat.