Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere Benutzer und private Verzeichnisse mit Apache

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrere Benutzer und private Verzeichnisse mit Apache

    Folgendes Szenario. Ich habe einen Server, dieser wiederum ein Verzeichnis, nennen wir es /srv/www. In diesem Verzeichnis liegen die Webauftritte mehrerer Personen /srv/www/kunde1, /srv/www/kunde2.
    Der Apache muss mindestens Leserechte auf die Verzeichnisse haben. Wie kann ich nun verhindern, dass Kunde1 mit einem Script per Apache das Verzeichnis von Kunde2 ausliest ?
    Oder noch konkreter: Kunde2 hat in /srv/www die Zugangsdaten fuer seine Datenbank liegen. Ausserhalb des DocRoots. Der Apache muss trotzdem drauf zugreifen duerfen. Wie verhindere ich, dass Kunde1 sie auch auslesen kann (via Apache) ?
    Mir faellt nix passendes ein...

    edit: einige Ergaenzungen noch: fuer jeden Kunden ist ein VirtualServer eingerichtet, der auf das Verzeichnis des jeweiligen Kunden zeigt. Mit PHP ist es dennoch moeglich auch oberhalb des DocRoots Dateien zu lesen.
    Ich habe mir grade das Apache-Manual angeschaut, mpm_perchild ist noch nicht aktiv, so wie ich das sehe, und mod_suexec kommt daher nicht in Betracht, da ich PHP als Modul, nicht als CGI-Programm benutze...
    Was ist validität?


  • #2
    machst du für jeden kunden eigene gruppe gibst der gruppe nur rechte auf ihr verzeichniss und setzt die verzeichnissrechte mit 770

    schribet der user a nun ein script dass mit seinen rechten auf user b zugreifen will, verweigert dass normalerweise, da es keine rechte hat.

    Kommentar


    • #3
      das problem is aber, wenn das script im apache ausgefuehrt wird, bekommt es die rechte eben jenes. oder gibts ne moeglichkeit das zu aendern ? *httpd.conf rauskram*
      Was ist validität?

      Kommentar


      • #4
        *schubs* muss doch jemand hier geben, der sich mit sowas auskennt.
        ich seh grad, dass ich das falsch gepostet hab, wenn also einer der mods so freundlich waere das nach apache zu verschieben...
        Was ist validität?

        Kommentar


        • #5
          nein, das is schon richtig hier im linux forum.

          machen kannst du das nur wenn du zum beispiel php als cgi installierst, nicht als apache mopdul, dann freifen alle user mit den userrechten auf die dateien zu, nicht mit die von apachen.

          wie das nun mit perl aussieht weiss ich nicht, aber ich denke das es dir um php geht.

          verstehst was ich meine?

          Kommentar


          • #6
            ne klar hab schon kapiert. ich erinnere mich auch mal so was gelesen zu haben. im apache manual steht was von nem mpm namens "perchild", was aehnliches kann, sich allerdings noch in der entwicklung. hm. momentan isses noch nich kritisch, aber moeglicherweise muss ich bald das mal ernsthaft in angriff nehmen. naja gut, werd ich dann wohl auf cgi umstellen muessen.
            Was ist validität?

            Kommentar


            • #7
              Re: Mehrere Benutzer und private Verzeichnisse mit Apache

              Zitat von fantast
              Mir faellt nix passendes ein...
              safe_mode = on
              in jeden Virtualhost für jeden Kunden ein separates open_basedir definieren.

              Damit Sessions und HTTP Upload möglich sind, müssen die Variablen upload_tmp_dir und session.save_path auf ein Verzeichnis unterhalb von open_basedir zeigen

              Kommentar


              • #8
                aah, das is dochmal brauchbar. okeh werd ich mal reinschaun, besten dank. bin zwar kein grosser fan von dem safe-mode, tendiere da auch eher zur cgi-loesung aber schaun mer mal...
                Was ist validität?

                Kommentar


                • #9
                  bin zwar kein grosser fan von dem safe-mode
                  Der safe_mode ist erforderlich, damit keine System Befehle ausgeführt werden dürfen.
                  ZB. sowas:
                  Code:
                  echo shell_exec('/bin/cat /srv/www/pfad/zu/geheime_datei');
                  Da schlägt die open_basedir Beschränkung leider nicht zu.

                  Kommentar


                  • #10
                    wie macht das denn zb confixx. das is auf dem s4y-vserver vorinstalliert und behauptet verschiedene benutzer machen zu koennen. php is hier allerdings als apache-modul hinterlegt. safe_mode is aus. wies mit open_basedir aussieht weiss ich net. gibts da noch ne andere moeglichkeit als die von meikel vorgeschlagene ?
                    Was ist validität?

                    Kommentar


                    • #11
                      Zitat von fantast
                      wie macht das denn zb confixx.
                      Prinzipiell so ähnlich, wie ich geschrieben hatte.

                      php is hier allerdings als apache-modul hinterlegt. safe_mode is aus. wies mit open_basedir aussieht weiss ich net.
                      safe_mode muß für die Virtualhosts angeschaltet werden, auf die solche User Zugriff haben, denen Du den Server nicht schenken willst.

                      Einen Server mit Confixx 1.6 konnten wir innerhalb von 3 Minuten knacken, weil der safe_mode ausgeschaltet war.
                      gibts da noch ne andere moeglichkeit als die von meikel vorgeschlagene ?
                      PHP als CGI compilieren und konfigurieren. Dann startet der Apache das PHP mit den im Virtualhost angegebenen Usernamen. Allerdings macht dann Confixx nicht mehr mit, weil es nur mit der Modul Version läuft.

                      Kommentar


                      • #12
                        ich habs deaktiviert, versuch es gar nich erst *gg kann sone admin programme nich ab.
                        zum thema: dann werd ich mich wohl mal mit dem safe_mode auseinandersetzen, fand mod_php immer ganz nett
                        Was ist validität?

                        Kommentar


                        • #13
                          Zitat von fantast
                          zum thema: dann werd ich mich wohl mal mit dem safe_mode auseinandersetzen, fand mod_php immer ganz nett
                          Den safe_mode sollte nur für die Tüten anknipsen, denen der Server nicht gehört. Die dürfen, im Gegensatz zum Admin, nicht mit cat die Configfiles mit den Zugangsdaten lesen können.

                          Kommentar


                          • #14
                            yep, hab ich mir auch so gedacht...
                            Was ist validität?

                            Kommentar


                            • #15
                              Zitat von fantast
                              wie macht das denn zb confixx.
                              gar nicht oder nicht ordentlich. deswegen sollte man niemals confixx verwenden - jeder, der den trick kennt, holt sich mit confixx root-rechte über den server.

                              http://www.debianhowto.de/howtos/de/webconfig/ eine kurze anleitung - scheint ganz ok zu sein.

                              Kommentar

                              Lädt...
                              X