PHP + Webhosting

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Hoi,

Ik heb me eigen server op internet.

OS (Win2K AS)
WWW (Sambar)
PHP
MYSQL

MySQL is wel goed secure, maar ik maak me eigenlijk zorgen over PHP.

Als andere users phpscriptjes kunnen gebruiken kunnen ze toch ook allerlei dingen kloten in andere directories.

Hoe deel ik op user niveau rechten uit? Of is dat niet mogelijk.

Ik heb wel wat gelezen over secure mode, maar dat zou betekenen dat ik zelf met m'n eigen phpscriptjes op de server ook niet veel meer kan.

Kortom: weet iemand hoe ik php meer secure kan maken op userniveau?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Het best is wellicht php in "safe mode" draaien.
Dan los je al dat soort ongein ineens op.

Het beperkt de users wel flink in hun bewegingsvrijheid. Maar dat is dan pech hebben voor ze :P

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Dat is opzich geen probleem. Maar zelf gebruik ik m'n server ook voor pebaalde scriptjes enzo, en ik zou graag zelf wel alle rechten willen hebben :)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 28 juli 2001 14:02 schreef DeathKnight het volgende:
Dat is opzich geen probleem. Maar zelf gebruik ik m'n server ook voor pebaalde scriptjes enzo, en ik zou graag zelf wel alle rechten willen hebben :)
Tsja, in dit geval is het "alles of niets"
ik zou es kijken of je je eigen scripts nog kan draaien in safe_mode...
Andere dingen die je kan doen zijn wat lastig, tenminste ik neem aan dat alle scripts door dezelfde user geexecute worden (die gene die sambar draait)

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Kan je niet instellen dat safemode van toepassing is op bepaalde directories?

Dan kan ik zeggen dat ik vanuit mijn eigen dir (waar niemand anders kan komen) gewoon alles mag.

En dat safemode van toepassing is op andere dirs?

Ik draaai sambar gewoon als Administrator btw.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 28 juli 2001 14:08 schreef DeathKnight het volgende:
Kan je niet instellen dat safemode van toepassing is op bepeaalde directories?
Dat zou ik niet weten, nooit geprobeerd :)

Misschien dat het kan, met apache zou het misschien met .htaccess files kunnen, maar ik betwijfel of dat kan.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Kan je ook niet twee x php draaien met verschillende php.ini's dus gewoon de ISAPI moven en die aanspreken voor andere files?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • The Source
  • Registratie: April 2000
  • Laatst online: 13:05
Je kunt een PHP in safemode als Apache module draaien en nog een andere PHP compileren als CGI.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Maar ik draai geen apache :)

Ga ik niet doen ook, ben blij dat nu eindelijk alles een beetje werkt.

Sambar werkt wel met ISAPI, Apache ook?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Kan je met safemode ook zelf bepalen welke functies wel/niet toegestaan zijn?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zaterdag 28 juli 2001 14:55 schreef DeathKnight het volgende:
Kan je met safemode ook zelf bepalen welke functies wel/niet toegestaan zijn?
Ja geloof het wel :)

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Als ze nu gewoon een functie: SAVEMODE IDENTIFY maken ofzo.

Dan meld je je aan in je scripts als admin en dan gaat safemode voor de rest van je scriptje uit. :)

Goed idee perhaps? :D

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • The Source
  • Registratie: April 2000
  • Laatst online: 13:05
Op zaterdag 28 juli 2001 14:34 schreef DeathKnight het volgende:
Maar ik draai geen apache :)
Ik was weer eens niet aan het opletten. Kweet niets van Sambar... draait PHP daarbij als module of als CGI?

Volgens mij kun je PHP meedere keren als CGI compileren. Je dan een andere versie aanspreken door het path in je script te veranderen.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Nou ik moet bij ISAPI Extension Associations het volgende aanmaken:

*.php = C:\Webserver\Php\sapi\php4isapi.dll

Dus ik denk als module.

Kan ik niet .bla laten parsen door een andere php dll op een andere locatie die dan ook een andere php.ini gebruikt?

Dan is het misschien ook niet safe als andere mensen die extensie gebruiken, maar dan moeten ze dat eerst weten :)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

Er is trouwens nog een hele vieze manier om dit soort problemen voor een heel groot deel op te lossen als je Apache + *nix gebruikt... de oplossing heet: mod_become...

Met deze module doet Apache altijd een setuid en setgid voor elke virtualhost;

PHP scripts draaien dan gewoon onder het uid en gid dat je in de virtualhost config hebt ingesteld.

Het heeft alleen een paar schoonheidsfoutjes:

- Het parrent process draait altijd als root (geeft je de kriebels...)
- Het is een stukje langzamer (ca. 7% @max volgens mijn benchmarkts)

Uiteindelijk is het wel een stuk veiliger en het geeft niet de beperkingen zoals safe_mode dat doet. Alleen moet je stukken beter opletten dat er geen akelige root exploits voor Apache zijn, je draait immers het parrent proces als ROOT.. (en da's een beetje evil).

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Op zaterdag 28 juli 2001 16:31 schreef griebels het volgende:
Er is trouwens nog een hele vieze manier om dit soort problemen voor een heel groot deel op te lossen als je Apache + *nix gebruikt... de oplossing heet: mod_become...

Met deze module doet Apache altijd een setuid en setgid voor elke virtualhost;

PHP scripts draaien dan gewoon onder het uid en gid dat je in de virtualhost config hebt ingesteld.

Het heeft alleen een paar schoonheidsfoutjes:

- Het parrent process draait altijd als root (geeft je de kriebels...)
- Het is een stukje langzamer (ca. 7% @max volgens mijn benchmarkts)

Uiteindelijk is het wel een stuk veiliger en het geeft niet de beperkingen zoals safe_mode dat doet. Alleen moet je stukken beter opletten dat er geen akelige root exploits voor Apache zijn, je draait immers het parrent proces als ROOT.. (en da's een beetje evil).
Das jammergenoeg bij mij niet van toepassing omdat Sambar die module niet heeft.. ;(

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • igmar
  • Registratie: April 2000
  • Laatst online: 20-04 22:06

igmar

ISO20022

mod_become
URL ? Freshmeat kent het niet.. Ik gaat nu Google proberen :)
- Het parrent process draait altijd als root (geeft je de kriebels...)
Wat is 'parent process' in dit geval ? Het apache master process draait zowiezo als root.. Alleen de geforkte childs niet.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 18:41

me1299

$ondertitel

Topicstarter
Ik ga denk ik maar gewoon zonder safe-mode draaien, mocht ik ooit nog eens op zeer kleine schaal gaan webhosten, dan gooi ik ze gewoon onder een policy, en als ik daarkrijg dat ze zich er niet aan houden zijn ze zo weg :P

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

Op zondag 29 juli 2001 01:11 schreef igmar het volgende:

[..]

URL ? Freshmeat kent het niet.. Ik gaat nu Google proberen :)
[..]

Wat is 'parent process' in dit geval ? Het apache master process draait zowiezo als root.. Alleen de geforkte childs niet.
Als je modules voor apache zoekt is deze altijd handig: http://modules.apache.org/

Maar de url voor mod_become is deze: http://www.snert.com/Software/Become/

(Er staan leuk wat waarschuwingen omheen zoals je ziet ;) )

Het master process draait bij mij gewoon als user "www" (of whatever je hebt ingesteld) als ik geen mod_become draai... net zoals zijn geforkte kindjes ;)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op zondag 29 juli 2001 09:49 schreef griebels het volgende:
Het master process draait bij mij gewoon als user "www" (of whatever je hebt ingesteld) als ik geen mod_become draai... net zoals zijn geforkte kindjes ;)
Aha, wow...
Bij mij niet, master process draait dus als root...
<font size=-1>
root 28772 0.0 0.6 40948 3560 ? S Jul25 0:25 httpd -D SSL
nobody 11550 0.0 1.0 42172 5400 ? S 12:12 0:00 \_ httpd -D SSL
nobody 11561 0.0 0.8 41224 4304 ? S 12:12 0:00 \_ httpd -D SSL
nobody 11803 0.0 0.7 41064 4016 ? S 12:25 0:00 \_ httpd -D SSL
nobody 11804 0.0 0.7 41044 3992 ? S 12:25 0:00 \_ httpd -D SSL
nobody 11809 0.0 0.7 40996 3704 ? S 12:25 0:00 \_ httpd -D SSL
nobody 11810 0.0 0.7 40996 3704 ? S 12:25 0:00 \_ httpd -D SSL
nobody 11811 0.0 0.7 41044 3992 ? S 12:25 0:00 \_ httpd -D SSL
</font>

Verwijderd

Je hebt gelijk... sorry.. dat heb je ook wel nodig, vooral als je van die dingen gebruikt als suexec voor CGItjes.

Dan is die security hole van mod_become dus helemaal niet zo groot volgens mij ;)

Het enige nadeel is dat de kindjes nu ook als "root" blijven rondhangen (constateer ik) en pas een setuid doen zodra ze een request ontvangen.. dat introduceert misschien wel wat meer security problemen, maar ik heb er persoonlijk nog geen problemen mee gehad.

Gelukkig valt het aantal security related bugs bij de nieuwste Apache versies ook wel best mee ;)
Pagina: 1