apache+suexec kérdés

Fórumok

apache+suexec kérdés

Hozzászólások

Belefutottam egy érdekes szituba, amire csak brute force megoldás jut eszembe, úgyhogy először inkább megkérdezném, hátha tud valaki jobbat. Szóval:
Adott egy szerver, amin különböző webes projekteket fejlesztenek különböző userek (több-több relációban). Mivel a fejlesztőkben nem bízok, a projektekhez vettem fel erősen lekorlátozott ál-usereket, akiknek a jogaival szeretném futtatni a projektek scriptjeit. Technikailag úgy oldottam meg, hogy a scriptek meg oldalak ezen ál-userek home-jaiban vannak, és így 'http://gep.hu/~projekt1'-szerűen érhetőek el. A gond ott jött, hogy a suexec hibával visszadobja, ha a scriptre a projekt1 ál-useren kívül másnak is van rá írási joga, ami viszont sajnos kell, különben a fejlesztő sem tudja írni. Ez még megoldható, mert leveszi róla az írásjogot, de akkor meg az a baj, hogy a script nem az ál-user tulajdonában van.
Virtualhost-tal meg lehetne oldani, de csak egy név van a géphez, így ez kiesett, a www-data-val azért nem szeretném futtatni az összeset, hogy ha az egyik projektben elkeffintenek valamit, azért ne üsse tarkón a többinek a file-jait.
Mivel tűzfal mögött vagyok, az sem megoldás, hogy projektenként külön szervert futtatok, aztán redirect-tel átküldöm azokra, mert azoknak a portjai nem látszanak kívülről.
Most ott állok, hogy a suexec-ből kipatcheltem azt a három ellenőrzést (van-e másnak írási joga a scriptre, a könyvtárra, ill. egyezik-e a futtatási uid/gid a scriptével), így éppen működne, de egyrészt ez nem szép, másrészt meg talán okkal voltak ott azok az ellenőrzések.
Szóval azt szeretném kérdezni, hogy van-e jobb ötlete valakinek, ill. mekkora rizikó egy ilyen megpatkolt suexec-et használni?
Előre is köszi!

[quote:45db362b42="gsimon"]
Most ott állok, hogy a suexec-ből kipatcheltem azt a három ellenőrzést (van-e másnak írási joga a scriptre, a könyvtárra, ill. egyezik-e a futtatási uid/gid a scriptével), így éppen működne, de egyrészt ez nem szép, másrészt meg talán okkal voltak ott azok az ellenőrzések.
Előre is köszi!

Hát, én nem tenném, mivel oka van ennek az ellenőrzésnek. Egy több éves múltra visszatekintő projekt esetében, ha felesleges akkor már kiszedik. A tűzfalat Te irányítod? (érzésem, szerint nem). Apache2 perchild MPM-et próbáltad már? Külön virtualhost külön user. Van aki azt mondja problémája van vele. Ha Zorp tűzfalad van, akkor meg tudod oldani a tűzfalon is a szétosztását külön portokra hostnév szerint.

[quote:32dcb1b4e4="Ago"]Hát, én nem tenném, mivel oka van ennek az ellenőrzésnek.

Ettől félek én is :)
[quote:32dcb1b4e4="Ago"]A tűzfalat Te irányítod? (érzésem, szerint nem).

Úgy van. Ha ez lenne, akkor futtatnék pl. 50080-on (akár másik chroot-ban) egy másik apache-ot, aztán redirect-tel átküldeném a '/projekt1'-et a 'http://gep:50080'-ra, de sajna ez nem járható.
[quote:32dcb1b4e4="Ago"]Apache2 perchild MPM-et próbáltad már? Külön virtualhost külön user.

Még nem, de vhost-ot nem tudok csinálni, mert csak egy neve van a gépnek, és meglehetős nehézségekbe kerülne végigtolni az adminisztrációs vonalon, hogy legyen más is.
[quote:32dcb1b4e4="Ago"]Ha Zorp tűzfalad van, akkor

No igen, protokoll-elemzéssel szépen menne is a dolog, csak nem akartam ágyúval lőni a verebet, de lehet, hogy ez lesz.
Azért köszi a tippeket!

Én jelenleg is futtatok több oldalt suexec-cel (a PHP fut így), és nálam az van, hogy a fejlesztő ezzel a userrel is FTP-zik be. Ha meg mégse jó ez, akkor inkább csinálj egy scriptet, ami átállítja a jogosultságokat addig, amíg a fejlesztő piszkálja. Egyébként ahol csak olvastam, azt írták, hogy a suEXEC-hez NE nyúlj hozzá, mert az úgy jó, ahogy van ;)