Safe Mode

guido_boehme

Registered User
Hi,

Habe hier mal ne kleine Frage!
Allso das ich register_globals auf off stehen haben soll wegen Sicherheit usw. ist OK ;)

Aber wie sieht es mit dem Safe_mode aus? Habe gehört das es auch Sicherheits Probleme gibt. Aber auch den hinweiss das wenn mann :

Trügerischer Safe_mode

Das Verfahren führt aber zu Problemen. Dateien, die im laufenden Betrieb von PHP-Skripten erzeugt werden, etwa hochgeladene Bilder, Cache-Dateien oder einzelne Files eines Gästebuchs, tragen meist die User-ID des Webservers, während die per FTP hochgeladenen PHP-Skripte unter der User-ID des Nutzers laufen. Ein Safe_mode würde hier zu Zugriffskonflikten führen.

Die Dateirechte prüfen ist nur ein kleiner Sicherheitsbaustein, der allein nicht ausreicht. Der Parameter wird seinem Namen daher kaum gerecht. Dazu kommen Implementierungslücken: PHP führt manchmal die Safe_mode-Prüfungen nicht korrekt aus. Der Vorteil schlägt sogar in einen Nachteil um, wenn sich Administratoren in trügerischer Sicherheit wiegen[4] und auf weitere Sicherheitsmaßnahmen verzichten.

Einen besseren Schutz mit weniger Problemen gewährt »open_basedir«. Selbst wenn Safe_mode problemlos funktioniert, eignet sich Open_basedir als zusätzliche Sicherung. Mit ihm definiert der Admin einen oder mehrere Pfade. PHP-Skripte dürfen dann nur noch auf Files in diesen Verzeichnissen zugreifen (siehe Abbildung 3). Ist in »php.ini« der Eintrag »open_basedir = /srv/www/htdocs« gesetzt, meldet PHP einen Fehler bei allen Zugriffen auf Files, die außerhalb dieses Verzeichnisses liegen.

Heisst das jetzt das ich den Safe_Mode auf OFF stellen kann für einige PHP Scripte die ich habe, wenn ich open_basedir Benutze?

Mfg

Guido
 
register_globals off betrachte ich nicht so sehr als Sicherheitsmaßnahme.
Es auf off zu stellen ist aber kein Fehler.

Wenn "safe_mode on" ist, dann wird geprueft, ob die Besitzer der auszufuehrenden Datein zusammenpassen (kurz gesagt).
Wie du im Zitat geschrieben hast, kann man sich aber nicht darauf verlassen.
Gerade vor kurzem wurde eine Sicherheitluecke in PHP oeffentlich gemacht, mit der es leicht moeglich ist den safe_mode zu umgehen (man kann z.B. Config Datei, in denen oft Passwoerter sind, von anderen Webusern auslesen).

Open_basedir ist eine sinnvolle Einschraenkung fuer PHP. Wie beschrieben, wird der Webuser dadurch auf vorher bestimmte Verzeichnisse beschraenkt.

open_basedir und safe_mode haben nichts miteinander zu tun.
Man kann beide fuer einzelne Verzeichnisse an oder ausschalten (httpd_spezials).
 
@Guin Erst mal Danke für die Schnelle Anwort. :)

register_globals off betrachte ich nicht so sehr als Sicherheitsmaßnahme.
Es auf off zu stellen ist aber kein Fehler.

Allso könnte ich es auch auf Off Stellen? wenn ich ein Script gekauft habe, und dieses brauch? Aber warum streuben sich die Hoster davor einen Kunden dieses auf Off zu stellen?

Der Save Mode wäre ja dann das Selbe!
 
Damit das "register_globals" wirkt, muss es auf off stehen.
Mir ist nicht bekannt, dass sich ein Hoster dagegen straeubt es auf off zu stellen... meistens ist es standartmaessig auf off.

Wenn register_globals on ist, dann koennen die globalen Variablen (GET, POST, COOKIE) auch ohne GET['$var'], ... abgerufen werden. Das ist nur in sofern ein Sicherheitsrisiko, wenn das PHP Skript nicht besonders sauber ist.

Wenn reister_globals ON fuer ein Skript benoetigt wird, kann man es fuer das einzelne Verzeichnis einschalten. Das Gleiche gilt fuer safe_mode.
 
Ups Sorry :D meinte auch ON

Habe hier 2 Scripte die brauchen das!

das erste : Braucht den Safe_Mode off weil es Copy.Move und mkdir usw. hat.

das zweite : Zitat aus dem Handbuch ->

1.2 Server Anforderungen
-------------------------------------------------------------------

Für das Script:

- PHP ab Version 4.x
- 1 MySQL Datenbank


Die benötigten PHP Einstellungen:

- register_globals=ON
Ansonsten Fehlermeldungen kein Login und keine Anmeldung möglich

- PHP save_mode=OFF
Ansonsten kein hochladen von Bildern möglich

- GD Support = enabled
mit GIF und JPG Unterstützung, ansonsten können die Bilder nicht
angepasst werden

- BCMath Support = enabled
Wird im Admin- und Userbereich benötigt

Bei den meisten Providern sind diese Einstellungen vorhanden.
Andernfalls reicht in der Regel eine kurze eMail mit der Bitte,
die entsprechenden Einstellungen zu ändern.

Deswegen habe ich mir auch den eigenen VServer genommen. Aber irgent wie habe ich aber Schiss das alles ein/aus zuschalten, wenn es was mit Sicherheit zutun hat. Bin jetzt nicht der PHP Profi. der Sagt ach das Schreibe ich jetzt mal um dann klapt das.
 
Du kannst im Internet mal nach Sicherheitsluecken von dem Skript suchen. Eventuell gibt es auch ein Forum zu dem Programm in dem solche Sachen diskutiert werden.

Register_globals und safe_mode muessen auch nur fuer das betreffende Verzeichnis ON, OFF gestellt werden. Dann bleibt wenigstens der Rest unberuehrt.
Beschraeke die Webuser mit open_basedir auf ihre eigenen Home Verzeichnisse. Das verhindert schon ein wenig Unfug.
Wenn du deinen Server noch taeglich kontrollierst, wird es schon nicht so schlimm werden.

Bei mir hat sich noch mod_security (fuer den Apache) gut bewaehrt.

[edit] ich kann auch mit safe_mode ON per php_upload Datein hochladen. ;) Kommt halt darauf an, wie und was man damit macht oder vor hat.
 
Last edited by a moderator:
Danke dir für deine Hilfe.

Allso habe jetzt mal safe_mode off und open_basedir auf das Verzeichnis gelegt. register_globals lasse ich erst mal, werde mir die Prog. Teile raussuchen und irgentwie abändern. Hoffe das ich keinen ärger wegen CopyRight usw. Bekomme :rolleyes:

Dann werde ich noch jeden Tag den Server kontrollieren. :confused:

Könntest du mir noch Sagen wie? Habe hier Plesk, wo muss ich schauen und wonach?
Dann habe ich gesehen das Plesk noch so eine FireWall hat aber da lässt sich nicht viel Ändern. (glaube ich zumindestens :D)
 
Ob deine openbase_dir und safe_mode (und sonstige) Einstellungen fuer PHP korrekt waren, kannst du sehen, wenn du eine PHP Datei mit
<?php phpinfo();?>
hochlaedst und dir im Browser dann anguckst.(da erzaehle ich sicherlich nichts Neues)

Wenn dein Skript nicht besonders lang ist unr nur wenige Dateien hat, kannst du versuchen das zu korrigieren. Aber bei groesseren Sachen ist es besser, wenn du register_globals auf On stellst.

Wie oft du letzendlich deinen Server kontrollierst, ist deine Sache. Wenigstens ab und an mal nachschauen, ob der Server noch laeuft ;)
Aufschluss ueber Fehler und Probleme koennen die verschiedenen Logfiles geben.
Wichtig ist noch, dass man bei Bekanntwerden von Sicherheitsluecken der verwendeten Software, schnell fuer Updates oder Ersatz sorgt.

Zu Plesk kann ich nichts sagen. Da gibt es andere Tread hier im Forum zu.
 
WOW solche Anworten Wünsche ich mir in Vielen Foren :D (Meistens kommt dann Irgent wie Nix Brauchbares raus ausser das es der eine Besser weiß aber keine Hilfe Bietet!!!)

Ob deine openbase_dir und safe_mode (und sonstige) Einstellungen fuer PHP korrekt waren, kannst du sehen, wenn du eine PHP Datei mit
<?php phpinfo();?>
hochlaedst und dir im Browser dann anguckst.(da erzaehle ich sicherlich nichts Neues)
Doch eigentlich schon :D würde jetzt zu weit führen dir das zu erklären!!

Wie oft du letzendlich deinen Server kontrollierst, ist deine Sache. Wenigstens ab und an mal nachschauen, ob der Server noch laeuft
Aufschluss ueber Fehler und Probleme koennen die verschiedenen Logfiles geben.

Na dann werde ich das mal Tun (allso werde ich in den Log Files sehen, das was ich nicht gemacht habe kann nur ein anderer gemacht haben ;) )

Wichtig ist noch, dass man bei Bekanntwerden von Sicherheitsluecken der verwendeten Software, schnell fuer Updates oder Ersatz sorgt.
Ok! ich muss mir aber noch viel über Linux usw. Beibringen ( Jetzt weiss ich warum Windoof Anwender bei Server immer Schief angeschaut werden :D )

Zur software die ich drauf machen will kann ich nur Sagen, und ich Hoffe, das ich es hier Schreiben darf ;)

1. www.webace.de die Flirt-Line ( Da auch das Zitat des Handbuches!!!)
2. Safe_Mode wegen http://www.wnm-systems.com/v5/ wegen WBBLigt Host !!
 
Danke fuer das Lob. Mir gefaellt dieses Forum auch am besten :)

Noch ein Ratschlag zum Abschluss.
Lerne erst den Server zu handhaben, bevor du Angebote fuer die Masse auf deinem Server anbietest. Ansonsten ist der Frust deiner Kunden schnell gross und sie wandern eventuell ab.


Als ich angefangen habe, musste ich gleich am ersten Tag den Server 2 mal komplett neu aufsetzen, weil ich an irgend welchen Stellen rumexperimentiert habe, die ich nicht mehr rueckgaengig machen koennte. Aber das habe ich mir gemerkt und mittlerweile habe ich ein wenig Ahnung von dem was ich da mache.
 
Danke dir!

Aber das habe ich mir gemerkt und mittlerweile habe ich ein wenig Ahnung von dem was ich da mache.

dann weiss ich ja wo ich mir Hilfe Hole. :D

Ne aber Hilfe ist immer gut ( Besonders wenn mann erst seit 1 Woche einen VServer hat!!!)

Mann hat zwar irgentwie zu 80% eine Ahnung aber zu 20% keine, und die 20% sind meißtens das was Fehlt :D
Und ich Liebe immer diese Sprüche :"Wieso hast du einen Server wen du keine Ahnung hast? usw."
Aber wie haben diese Leute Angefangen? Ok ich werde mir auf alle fälle Mühe geben, Linux usw. und was Damit zutun hat zu Lernen ( auch wenn es für einen Windoof Freak schwer wird :) )
Aber irgent wann werde ich glaube ich, auch Leuten Helfen können die Neu Anfangen.

Bis dahin

Mfg
Guido :)
 
Na, das mit dem Safe Mode ist (leider) ein Problem, was viele PHP-Skripts (auch solche, die kommerziell eingesetzt werden, wie z.B. Mambo/Joomla, typo3, etc) haben... und zumindest bei den dreien weiss ich, daß es dafür Safe Mode=ON-Workarounds gibt...
Leider scheinen solche Probleme (die es ja schon länger gibt) noch nicht zu den Programmierern vorgedrungen sein... erinnert mich irgendwie an ne Friss-oder-Stirb-Mentality.
Und was das mit Windows/Linux betrifft... okay, Linux ist viel Tipparbeit, aber es ist meiner Erfahrung nach um einiges performanter... aber ansonsten ist es nicht grossartig anders als Windows... es erfüllt seinen Zweck, und viele Programme, die in Richtung Server gehen, gibt es in beiden Welten.
 
okay, Linux ist viel Tipparbeit, aber es ist meiner Erfahrung nach um einiges performanter... aber ansonsten ist es nicht grossartig anders als Windows... es erfüllt seinen Zweck, und viele Programme, die in Richtung Server gehen, gibt es in beiden Welten.

eben Tippen, und nicht KLICKEN :D

Wenn ich bei Windoof was will dann Klicke ich viel. Bei Linux usw. muss mann sich an Root, dir, cd.. ( wie bei MS Dos :-) ) gewöhnen. Deswegen Sagte ich ja zu 80% hatt man ja Ahnung ( aber auch nur aus der MS-Dos und Linux Anfangs Zeit!) und der Rest von 20% wird Schwer werden den Aufzuholen.
 
Na, das mit dem Safe Mode ist (leider) ein Problem, was viele PHP-Skripts (auch solche, die kommerziell eingesetzt werden, wie z.B. Mambo/Joomla, typo3, etc) haben... und zumindest bei den dreien weiss ich, daß es dafür Safe Mode=ON-Workarounds gibt...
Leider scheinen solche Probleme (die es ja schon länger gibt) noch nicht zu den Programmierern vorgedrungen sein... erinnert mich irgendwie an ne Friss-oder-Stirb-Mentality.

Es ist nicht Schuld der Programmierer, dass nicht alles mit safe_mode ON laeuft.
z.B. eine vom PHP Skript erzeugte Dateie gehoert den Apache User. Soweit eigentlich noch kein grosses Problem (mit den richtigen chmod kann man weiterhin auf diese Datei zugreifen). Aber wenn diese neu erzeugte Datei in andere PHP Skripte includiert werden soll, greift die safe_mode Sperre.
Auf einem "schlusigen" System hilft safe_mode On kein Stueck.
Wenn hingegen die Skripte sauber sind und man seinen web Usern traut, kann man auf safe_mode verzichten.
 
Back
Top