Apache modulként telepített PHP

Ha a PHP-t Apache modulként használod, örökli az Apache felhasználói engedélyeket (tipikusan a "nobody" nevű felhasználócal fut). Ennek többféle hatása van a biztonságra és az azonosításra. Például ha PHP-t használsz egy adatbázis eléréséhez, annak ellenére, hogy az adatbázisnak beépített azonosítása van, az adatbázist elérhetővé kell tenned a "nobody" user számára is. Ez azt jelenti, hogy egy rosszindulatú szkript elérheti, és módosíthatja az adatbázist, akár felhasználói név és jelszó nélkül is. Lehetséges, hogy egy keresőrobot beleakadjon az adatbázis-adminisztrációs lapodba, és kiürítse az összes adatbázist. Természetesen ez ellen védekezhetsz Apache azonosítási technikákkal, elkészítheted a saját elérési modelledet LDAP segítségével, vagy készíthetsz .htaccess fájlt, stb. és a PHP kódoddal együtt kezelheted ezeket is.

Általában, ha a biztonságot akkora szintre tudjuk emelni, hogy a PHP user (ebben az esetben az Apache user) igen kis kockázattal fut, nem képes például vírus fájlok írására a user könyvtárakba. Letilthatjuk számára egy prívát adatbázis elérését vagy megváltoztatását. Tipikusan ebben a helyzetben már azokat a fájlokat sem tudja írni, amit kellene, vagy nem tud végrehajtani adatbázis lekéréseket.

Egy gyakori hiba ezen a ponton, hogy az Apache-nak root jogokat adnak.

Az Apache user jogainak root szintre bővítése különösen veszélyes, és tönkreteheti a teljes rendszert, tehát sudo, chroot vagy más hasonló eszközök használata elkerülendő, ha nem vagy biztonsági szakember.