Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

PHP Safe_Mode

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1

Om man har en Mac OS X Server med standard Apache 1.3 och uppgraderad PHP till 4.3.10 - och ska använda maskinen i delad miljö. Vågar man köra PHP Safe_mode avstängt?

Jag har upptäckt att flera applikationer (exempelvis Gallery) kräver att Safe_mode är avstängt. Då ger man väl samtidigt alla användare rätt att exekvera i varandras mappar och även i systemmapparna?

Alla kommentarer välkomna!

  • Medlem
  • Stockholm
  • 2005-01-24 15:22

Man har ju bara rätt att exekvera det som filsystemet ger en tillgång till. Men det är ju ett dilemma det här med delad hosting. I och med att alla utdelade filer måste kunna läsas av webbservern (samtidigt som användarna inte har tillgång till webbserverns användare/grupp) så får användarna i princip rätt att läsa varandras filer.

Har inget bra råd att ge.

[EDIT] Kollade på ett webbhotell jag anlitar, och det skulle inte vara några problem för mig att se mina "grannars" utdelade filer, läsa deras php-kod till osv. Så det finns en poäng med safe_mode, helt klart.

[IGEN!] Om man sätter alla användares huvudmapp till mode: 750 och grupp: www-data så bör man ju hindra användarna från att kunna titta in hos varandra (vilket man alltså kan på mitt webbhotell), medan webbservern får tillgång till de utdelade filerna. Det hindrar dock inte att en användare kör ett php-script (vilka körs av webbservern) som läser de andras filer.

Senast redigerat 2005-01-24 15:35

Precis vad jag misstänkte - alltså är det ett val mellan säkerhet och flexibilitet. Trist val!

Ursprungligen av Björnström:

Precis vad jag misstänkte - alltså är det ett val mellan säkerhet och flexibilitet. Trist val!

Som jag förstått det är safe_mode mest en falsk säkerhet. Vill man ha säkerhet på riktigt ska man ta till andra lösningar.

Läs den här tråden på Gallerys forum: Serious Safe Mode Discussion

Om du planerar att tillåta CGI tycker jag att du ska använda suExec, men tänk på att prestandaförlusten är påtaglig och kan vålla reella problem.

Om man vill förhindra andra användare i att tjuvkika på varandra kan man köra en wrapper såsom suexec eller phpsuexec (vill jag minnas det finns nått som heter för just php?). I ett nötskal så gör att varje virtuella användare kör sin cgi/php scripts under en egen användare...

Ta även en titt på ACL:er (för mer flexibel behörighetsstyrning på filsystemet).

Ursprungligen av johan dansk:

Om man vill förhindra andra användare i att tjuvkika på varandra kan man köra en wrapper såsom suexec eller phpsuexec (vill jag minnas det finns nått som heter för just php?). I ett nötskal så gör att varje virtuella användare kör sin cgi/php scripts under en egen användare...

Man blir ju sugen på att testa suexec när man läser sånt här:

"Used properly, this feature can reduce considerably the security risks involved with allowing users to develop and run private CGI or SSI programs. However, if suEXEC is improperly configured, it can cause any number of problems and possibly create new holes in your computer's security. If you aren't familiar with managing setuid root programs and the security issues they present, we highly recommend that you not consider using suEXEC."

"...it has been the decision of the Apache Group to NOT make suEXEC part of the default installation of Apache. To this end, suEXEC configuration requires careful attention to details from the administrator. After due consideration has been given to the various settings for suEXEC, the administrator may install suEXEC through normal installation methods. The values for these settings need to be carefully determined and specified by the administrator to properly maintain system security during the use of suEXEC functionality. It is through this detailed process that the Apache Group hopes to limit suEXEC installation only to those who are careful and determined enough to use it."

Berätta gärna mer om ACL:er och begreppet "jaila" användare

  • Oregistrerad
  • 2005-01-24 19:54

Jaila varje användare

  • Medlem
  • Stockholm
  • 2005-01-24 23:14

Man behöver inte sätta på safe_mode för att begränsa vilka kataloger PHP kommer åt visar det sig. open_basedir styr vilken katalog ett PHP-script kan läsa filer i, men påverkar inga andra funktioner. Enda nackdelen för en vanlig webbhotellkund skulle väl vara att man inte kan använda /tmp.

Från http://se2.php.net/features.safe-mode:

Citat:

open_basedir string

Limit the files that can be opened by PHP to the specified directory-tree, including the file itself. This directive is NOT affected by whether Safe Mode is turned On or Off.

/.../

The restriction specified with open_basedir is actually a prefix, not a directory name. This means that "open_basedir = /dir/incl" also allows access to "/dir/include" and "/dir/incls" if they exist. When you want to restrict access to only the specified directory, end with a slash. For example: "open_basedir = /dir/incl/"

Så användaren klas skulle kunna ha open_basedir = /home/klas/ - eller hur man nu väljer att lägga upp det.

Men, som det står i PHP-dokumentationen, det här är egentligen "fel" sätt att lösa problemet på. Det hjälper inte mot de som kör perl-, python- eller vadsomhelst-script som cgi.

1
Bevaka tråden