PHP beveiligings probleem

Pagina: 1
Acties:
  • 71 views sinds 30-01-2008

  • franklyn
  • Registratie: December 2001
  • Laatst online: 22-08 20:54
Hoi,

ik heb hier thuis op mijn server windows 2003 met apache 2.0.53 met meedere vituele servers en PHP 5.0.3 als apache module draaien.

Tijdens het testen van een scriptje dat ik had gedownload kwam ik erachter dat ik via het scriptje toegang heb tot echt alle schijven op mijn PC.

Het probleem is dus niet met het script maar met PHP. Je kan namelijk zomaar overal naar toe op de server via een script.

Als ik de enigste was die gebruik maakte van de server was het nog niet zo'n ramp maar naast mijzelf gebruiken namelijk een paar vrienden van me deze server voor hosting van hun pagina's. Voor hun is het dus ook gemakkelijk om een scriptje te uploaden en al dan niet kwaadwillend (ga er natuurlijk niet vanuit) de hele windows install of websites van andere aanpassen te kunnen passen of zelfs helemaal te deleten.

Ik heb al gezocht maar kan er niet veel van vinden om ervoor te zorgen dat je met PHP niet op heel de server kan komen maar alleen in de voor die website bestemde dirs.

Ik heb zitten denken aan een apart account voor het proccess van PHP en dan in NTFS alleen rechten geven voor de mappen waar je moet kunnen zijn. Maar werkt PHP dan nog wel naar behoren? Maar het is dan nog steeds mogelijk om bij andere dan je eigen website te komen. Dit is dus niet echt de oplossing als deze al technische haalbaar is. Verder heb al wel rond gezocht op google, php.net en phpsec.org en GoT natuurlijk maar niet veel kunnen vinden.

Wie kan mij verder helpen?

Good judgment comes from experience. Experience comes from poor judgment.
My system


Verwijderd

Lees gewoon de PHP manual. Of zoek even in php.ini naar de open_basedir directive.

En PHP heeft natuurlijk de rechten van de gebruiker van de Apache service. Die zou je kunnen restricten.

[ Voor 40% gewijzigd door Verwijderd op 02-04-2005 17:19 ]


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Onder andere account laten draaien en doormiddel van NTFS rechten aanpassen waar hij wel en niet mag komen is waarschijnlijk eventjes de veiligste oplossing.
Onder linux zou ik zeggen doe een chroot maar dat is hier (voor zover ik weet) niet mogelijk.
Wat je ook nog kan doen is safe mode aanzetten en functies zoals exec uitschakelen, maar dat heeft ook direct weer flink wat nadelen.

edit:
OfEn open_basedir idd. :X dat ik daar niet aan dacht :P

[ Voor 9% gewijzigd door Wolfboy op 02-04-2005 17:42 ]

Blog [Stackoverflow] [LinkedIn]


  • franklyn
  • Registratie: December 2001
  • Laatst online: 22-08 20:54
Bedankt voor jullie reactie _/-\o_ het is gelukt met open_basedir.

Good judgment comes from experience. Experience comes from poor judgment.
My system


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

franklyn schreef op zaterdag 02 april 2005 @ 17:43:
Bedankt voor jullie reactie _/-\o_ het is gelukt met open_basedir.
Zeker weten?
Probeer dit eens:
PHP:
1
2
3
<?php
echo `dir /windows`;
?>


Want daar beschermt open_basedir afaik. niet tegen.

Blog [Stackoverflow] [LinkedIn]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

open_basedir is de truuk inderdaad; vandaar dat het ook in de Handleiding van PHP staat :+ Gelieve in het vervolg zelf even de handleiding te lezen voor je een topic opent :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate

Pagina: 1

Dit topic is gesloten.