Mailinglisten-Archive |
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