phpbar.de logo

Mailinglisten-Archive

[php] Shared Server Security

[php] Shared Server Security

Michael Knop michael.knop_(at)_gmx.de
Sun, 2 Jan 2000 18:04:54 +0100


Hi Folks!

Ich bin gerade dabei, mich in PHP einzuarbeiten. Mir ist im Moment im
Zusammenhang mit Sicherheitsaspekten noch einiges unklar.
Ich moechte PHP auf einem Linux Server benutzen, auf dem ich einen User
Account habe. Eines der Verzeichnisse meines Accounts ist beim Apache als
Document Root fuer meinen virtuellen Host eingetragen. So weit, so gut.

Um auf meine mySQL Datenbank ueber PHP zugreifen zu koennen, muss ich den
mySQL Benutzernamen und das dazugehoerige Passwort im PHP Skript angeben.
Auf das Skript muss der Webserver Zugriff haben. Somit muss das Skript auf
world read permission gesetzt werden. Mit diesen Zugriffsrechten kann aber
jeder, der einen Telnetzugang auf meiner Maschine hat, an mein Passwort
kommen.

Ich habe bisher zwei Moeglichkeiten herausgefunden, um die zu verhindern:

- Alle Skripte werden unter der User ID des entsprechenden Benutzers
ausgefuehrt. Wenn man die Rechte der Skripte mit chmod 700 so setzt, dass
nur der Eigentuemer sie lesen kann, duerfte das Problem behoben sein. Stimmt
das? Gibt es Probleme bei dieser Loesung? Wie kann ich es einstellen, dass
die Skripte unter der jeweiligen User Id ausgefuehrt werden?

- Eine andere Moeglichkeit waehre PHP als CGI-Modul zu benutzen. Ich haette
dass zwar nicht die Performance des Apache Moduls, ich koennte aber ein
CGI-Wrapper benutzen. Dieser Wrapper wuerde vor der Ausruehrung einen su
durchfuehren. Somit wuerde das Skript wieder mit den Userrechten ausgefuehrt
werden. Jetzt koennte man das Skript wieder mit chmod 700 schuetzen. Ist
diese Methode zu empfehlen? Wenn ja, wie stelle ich das mit dem Wrapper an?

Schoene Gruesse

Michael

---

Michael Knop
~~~~~~~~~~~~~~~~~~~~~~~~~~~
   | Piepenbrinkweg 60
   | 22399 Hamburg, Germany
   | phone +49-700-44445667
   | fax   +49-700-44445667
   | http://www.knop-de.net



php::bar PHP Wiki   -   Listenarchive