phpbar.de logo

Mailinglisten-Archive

[php] OT Frage zu Apache

[php] OT Frage zu Apache

Enrico Weigelt php_(at)_phpcenter.de
Wed, 29 May 2002 22:02:07 +0200


On Wed, May 29, 2002 at 05:03:01PM +0200, Patrik Breitenmoser wrote:

<snip>

> 1.
> Wie sollen die Rechte des htdocs verzeichniss gestalltet werden.
> 
> mein Server läuft mit als wwwrun und gruppe nogroup
> 
> wenn ich nun verschiedene user anlege, die ein Virtual Domain haben, habe
> ich mir gedacht richte ich es folgendermassen ein
> 
> /docroot/userdir1  owner user1.users
> /docroot/userdir2  owner user2.users
zu sowas sind gruppen da.
den wwwrun-user in die wwwrun-gruppe packen und die htdoc-dirs auch
an die wwwrun-gruppe geben. (user1.wwwrun, user2.wwwrun, usw)
(achtung: die user selbst duerfen nicht in der wwwrun-gruppe sein!)

die permissions dann auf u=rw,g=r,o-rwx fuer normale files und 
u=rwx,g=rx,o-rwx fuer directories.

> wie kann ich es aber nun machen, das die user nur in ihrem verzeichniss
> bleiben?
prozesse (z.b. shells) die unter den einzelnen usern laufen, koennen
auch nur auf ihre entsprechenden files zugreifen. probleme gibts aber,
wenn die scripts im server laufen, da kann man fix auch mal hier und 
da ein file aufmachen und so zumindest code stehlen. vielleicht waere
es auch moeglich, bestehende db-connections anderer user zu uebernehmen.

was den safe_mode betrifft, so hab ich leider noch keine ahnung.
kann vielleicht mal jemand aufzaehlen, was genau dieser alles bewirkt ?


also wenn man das system wirklich sicher machen will, koennte man 
zwei wege gehen:

a) man nutze die posix-security aus und lasse jeden vhost unter einer
   anderen UID laufen. geht nur mit manchen webservern. (IMHO z.b apache2)

b) es wird PHP-seitig ein security-system implementiert, das im posix-
   style saemltiche permissions ordentlich checkt. jeder vhost bekaeme
   dann also eine UID zugeordnet, gegen diese gechecked wird.
   anpassen muss man dann erstmal saemtliche file-operationen
   (open, unlink, rename, ...) sowie alles was direkt darauf aufbaut
   (require, include). desweiteren waere es noch noetig, verschiedenste
   nicht-file-resourcen (shm, db-conns, etc) zu checken.
   
   vorteil waere, dass das ganze dann im prinzip in jedem server 
   funktioniert, auch einem MT-basierten. damit kann man dann auch in 
   multiuser-vhost-umgebungen auf MT- oder multiple-request-per-process-
   server umschwenken, was einen enormen performance-vorteil im zusammenhang
   mit verschiedensten caches bringt. beispielsweise kann man enorm
   davon profitieren, wenn man einzelne code-trees gleich fertig im 
   speicher haelt, statt sie erst in bytecode irgentwohin zu packen ...

~-n

--
 Enrico Weigelt    ==   metux ITS 
 Webhosting ab 5 EUR/Monat. Server-Housing ab 50 EUR/Monat.
 www:     http://www.metux.de/        phone:     +49 36207 519931
 email:   contact_(at)_metux.de            cellphone: +49 174 7066481


php::bar PHP Wiki   -   Listenarchive