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.

Mi az az API?

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.
  • 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.

Posted in: Szabályok