Amennyiben van lehetőségünk jogosultságokat állítani, a fenti script futtatása mellett a webről érkező támadások egy részét könnyen megelőzhetjük például így:
a webroot és azon belül minden fájl és könyvtár tulajdonosa legyen ugyanaz, amivel a webszerver fut (daemon, www-data)
a fájlok és könyvtárak csoportja legyen ugyanaz, mint a felhasználók csoportja, akik a fájlokat írhatják (nálunk "users")
a tulajdonosnak mindenre csak olvasási jogosultsága van
a csoportnak van írási joga is
a többi felhasználónak (other) semmilyen joga nincs a fájlokhoz
egy temporális könyvtár van, ahova írhat a webszerver, és ez olyan meghajtón, ahol tiltva van a fájlok futtatása
az ebben a könyvtárban lévő scripteket nem futtatja a webszerver
Ezzel a módszerrel a webről érkező támadó elvileg nem szerezhet írási jogosultságot a szerveren.
Közben kiderült, hogy ha a felhasználó meghívja a chmod parancsot, simán tud írási jogot adni bármire. Jelenleg úgy néz ki, hogy készítettem egy "web" nevű felhasználót saját csoporttal, ő a fájlok és könyvtárak tulajdonosa, de nincs semmilyen jogosultsága rajtuk, az "other"-nek pedig olvasási van csak.
TLoF alkotása a témában:
Jogosultságok
- a webroot és azon belül minden fájl és könyvtár tulajdonosa legyen ugyanaz, amivel a webszerver fut (daemon, www-data)
- a fájlok és könyvtárak csoportja legyen ugyanaz, mint a felhasználók csoportja, akik a fájlokat írhatják (nálunk "users")
- a tulajdonosnak mindenre csak olvasási jogosultsága van
- a csoportnak van írási joga is
- a többi felhasználónak (other) semmilyen joga nincs a fájlokhoz
- egy temporális könyvtár van, ahova írhat a webszerver, és ez olyan meghajtón, ahol tiltva van a fájlok futtatása
- az ebben a könyvtárban lévő scripteket nem futtatja a webszerver
Ezzel a módszerrel a webről érkező támadó elvileg nem szerezhet írási jogosultságot a szerveren.Elmeletben step, de gyakran
Egyebkwnt, ha pl. SVN-bol megy až oldl frissitese, akkor egy svn at is meg tdja mondani egyazwruen.
Nem tökéletes
Illetve érdemes lehet ránézni