andi123: htaccess,aber wie?

Hallo,

ich habe einen Server, bei dem ich ein bestimmtes Verzeichnis nur fuer bestimmte IP-Adressen zugreifbar machen will.

Habe mir eine .htaccess in genau dieses Verzeichnis gelegt, die so aussieht:

Order deny, allow
allow from xxx.xxx.xx.xx
Deny from all

Nur klappt der Zugriffsschutz nicht. Jeder kann auf das Verzeichnis zugreifen.
Selbst wenn ich die "allow"-Zeile rausnehme, kann jeder das Verzeichnis aufrufen.

Was habe ich falsch gemacht bzw. muss ich noch etwas anderes einstellen?

Danke Andi

  1. hallo Andi,

    ich habe einen Server, bei dem ich ein bestimmtes Verzeichnis nur fuer bestimmte IP-Adressen zugreifbar machen will.

    Welchen Server hast du?

    Habe mir eine .htaccess in genau dieses Verzeichnis gelegt

    Ist dein Server so eingestellt, daß er Dateien mit diesem Namen akzeptiert und auch tut, was darin festgelegt ist?

    Order deny, allow
    allow from xxx.xxx.xx.xx
    Deny from all

    Das kann, wenn der Server .htaccess beachtet, richtig sein  -  im Original stehen da aber selbstverständlich keine xx drin.

    Nur klappt der Zugriffsschutz nicht. Jeder kann auf das Verzeichnis zugreifen. Selbst wenn ich die "allow"-Zeile rausnehme, kann jeder das Verzeichnis aufrufen.

    Die Reihenfolge, in der "deny" und "allow" notiert werden, ist nicht ganz ohne Bedeutung.

    muss ich noch etwas anderes einstellen?

    Möglicherweise, das läßt sich aber so noch nicht sagen. Du kennst natürlich http://aktuell.de.selfhtml.org/artikel/server/htaccess/index.htm und hast auch gründlich nachgelesen, was in http://httpd.apache.org/docs-2.0/howto/auth.html steht ?

    Grüße aus Berlin

    Christoph S.

    1. nur fuer bestimmte IP-Adressen zugreifbar machen will.

      Welchen Server hast du?

      Apache 2.x unter SUSE Linux 8.1

      Habe mir eine .htaccess in genau dieses Verzeichnis gelegt
      Ist dein Server so eingestellt, daß er Dateien mit diesem Namen akzeptiert und auch tut, was darin festgelegt ist?

      Hm, muss sagen, weiss ich nicht. Ist das nicht standardmaessig?

      Order deny, allow
      allow from xxx.xxx.xx.xx
      Deny from all
      Das kann, wenn der Server .htaccess beachtet, richtig sein  -  im Original stehen da aber selbstverständlich keine xx drin.

      Genau, da steht ne richtige IP-Adresse.

      Nur klappt der Zugriffsschutz nicht. Jeder kann auf das Verzeichnis zugreifen. Selbst wenn ich die "allow"-Zeile rausnehme, kann jeder das Verzeichnis aufrufen.
      Die Reihenfolge, in der "deny" und "allow" notiert werden, ist nicht ganz ohne Bedeutung.

      Hm, es ist doch aber jetzt so eingestellt, das alles gesperrt ist und nur Ausnahmen erlaubt sind, oder?

      Möglicherweise, das läßt sich aber so noch nicht sagen. Du kennst natürlich http://aktuell.de.selfhtml.org/artikel/server/htaccess/index.htm und hast auch gründlich nachgelesen, was in

      Yepp, kenn ich.

      »»http://httpd.apache.org/docs-2.0/howto/auth.html steht ?
      H, kenn ich auch, aber gibts das auch in deutsch?

      Vielen Dank
      Andi

      1. hall Andi,

        Welchen Server hast du?
        Apache 2.x unter SUSE Linux 8.1

        ok.

        Ist dein Server so eingestellt, daß er Dateien mit diesem Namen akzeptiert und auch tut, was darin festgelegt ist?
        Hm, muss sagen, weiss ich nicht. Ist das nicht standardmaessig?

        Nein. Das mußt du in deiner httpd.conf selbst einstellen, außerdem kannst du auch sagen, daß die Datei gar nicht ".htaccess", sondern beispielsweise ".habmichlieb" heißen soll. "Standardmäßig" sind die zugehörigen Zeilen deaktiviert.

        »»http://httpd.apache.org/docs-2.0/howto/auth.html steht ?
        kenn ich auch, aber gibts das auch in deutsch?

        Ist mir leider nicht bekannt.

        Grüße aus Berlin

        Christoph S.

        1. Nein. Das mußt du in deiner httpd.conf selbst einstellen, außerdem kannst du auch sagen, daß die Datei gar nicht ".htaccess", sondern beispielsweise ".habmichlieb" heißen soll. "Standardmäßig" sind die zugehörigen Zeilen deaktiviert.

          Hm,hab grad mal anchgeguckt. Also das ist aktiviert.

          Was noch sein koennte: wo finde ich ob das Modul mod_access installiert ist bzw. wie installiere ich dieses nach?

          Danke Andi

          1. hallo Andi,

            Was noch sein koennte: wo finde ich ob das Modul mod_access installiert ist bzw. wie installiere ich dieses nach?

            Zur Überprüfung gibt es mehrere Möglichkeiten. Sofern dein Server entsprechend konfiguriert ist, kannst du mit http://localhost/server-info eine Liste der vorhandenen Module und der von ihnen befolgten Konfigurationsanweisungen bekommen  -  Achtung! Die Liste kann sehr lang werden.

            Auf der Konsole erhältst du einen kurzen Überblick mit "httpd -l".

            Wenn mod_access nicht vorhanden sein sollte: "Nachinstallieren" ist nicht möglich. Du müßtest dir deinen Apache selbst neu kompilieren und dafür sorgen, daß das Modul vorhanden ist.
            Aber, so weit ich die SuSE 8.1 in Erinnerung habe (und so sehr unterscheidet sie sich nicht von der SuSE 8.2, die ich habe), ist das Modul durchaus vorhanden, wenn du den Apache aus der RPM installiert hast (über YAST).

            Grüße aus Berlin

            Christoph S.

            1. Hallo Christoph,

              Auf der Konsole erhältst du einen kurzen Überblick mit "httpd -l".

              Hm, ja ist einkompiliert.

              Naja, da weiss ich auch nicht woran das liegt.

              Hab noch in nem Forum folgenden Hinweis gefunden, weiss damit aber nichts anzufangen.
              "AllowOverride AuthConfig Options"

              Danke fuer all deine Hinweise.

              Andi

              1. hallo Andi,

                Hab noch in nem Forum folgenden Hinweis gefunden, weiss damit aber nichts anzufangen.
                "AllowOverride AuthConfig Options"

                Dazu liest du bitte [pref:t=55068&m=306944] bzw. den gesamten Thread weiter unten nach.

                Grüße aus Berlin

                Christoph S.

              2. Hi Andi123,

                Hab noch in nem Forum folgenden Hinweis gefunden, weiss damit aber nichts anzufangen.
                "AllowOverride AuthConfig Options"

                dann nehmen wir mal den hier: http://aktuell.de.selfhtml.org/artikel/server/htaccess-faq/#a6

                Und ja, genau hier vermute ich Dein Problem.

                Viele Grüße
                      Michael

                --
                T'Pol: I apologize if I acted inappropriately.
                V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
                (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
                Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
            2. Hi Christoph,

              Wenn mod_access nicht vorhanden sein sollte: "Nachinstallieren" ist nicht möglich.

              wie meinen der Herr? Noch nie etwas von shared objects gehört?

              (Nein, das wäre im vorliegenden Falle nicht sinnvoll, und natürlich fehlt auch kein "base"-Modul - nur aus Prinzip ...)

              Viele Grüße
                    Michael

              --
              T'Pol: I apologize if I acted inappropriately.
              V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
              (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
              Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
              1. hallo Michael,

                Wenn mod_access nicht vorhanden sein sollte: "Nachinstallieren" ist nicht möglich.
                wie meinen der Herr? Noch nie etwas von shared objects gehört?

                Doch, doch, das klingt mir irgendwie bekannt  -  aber ich weiß auch, was die SuSE 8.1 installiert, wenn man sich den Apache aus den auf der DVD bzw. CD vorhandenen Sourcen holt. Ein schlichtes "Nachinstallieren" ist von diesen Quellen tatsächlich unmöglich.

                Und die Alternative habe ich ja bereits benannt.

                Grüße aus Berlin

                Christoph S.

                1. Hi Christoph,

                  Wenn mod_access nicht vorhanden sein sollte: "Nachinstallieren" ist nicht möglich.
                  wie meinen der Herr? Noch nie etwas von shared objects gehört?
                  Doch, doch, das klingt mir irgendwie bekannt  -  aber ich weiß auch, was die SuSE 8.1 installiert, wenn man sich den Apache aus den auf der DVD bzw. CD vorhandenen Sourcen holt.

                  hm, das erscheint mir etwas rätselhaft. Wenn ich unter SuSE einen Apache aus den Sourcen (!) installiere, dann bestimme ich, was einkompiliert wird ... insbesondere auch, ob mod_so dabei ist oder nicht. Und erfreulicherweise läuft unter Linux ja immerhin ein allgemein verfügbarer C-Compiler.

                  Viele Grüße
                        Michael

                  --
                  T'Pol: I apologize if I acted inappropriately.
                  V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
                  (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
                  Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
                  1. hallo Michael,

                    hm, das erscheint mir etwas rätselhaft. Wenn ich unter SuSE einen Apache aus den Sourcen (!) installiere

                    Unter "Sourcen" versteht die SuSE nun einmal ihre RPM's auf den Installationsmedien (CD oder DVD), und als Installationswerkzeug wird YAST2 vorausgesetzt. Das Ganze ist ein "SuSE-Problem", aber kein "LINUX-Problem".

                    dann bestimme ich, was einkompiliert wird ... insbesondere auch, ob mod_so dabei ist oder nicht.

                    _Du_ tust das korrekterweise, aber die _SuSE_ tut das nicht.

                    Und erfreulicherweise läuft unter Linux ja immerhin ein allgemein verfügbarer C-Compiler.

                    Ich habe ja die "Alternative" benannt, die selbstverständlich das Vorhandensein eines solchen Compilers (erfreulicherweise sind es auch bei der SuSE mehrere) voraussetzt.

                    Grüße aus Berlin

                    Christoph S.

          2. Hi Andi123,

            Was noch sein koennte: wo finde ich ob das Modul mod_access installiert ist bzw. wie installiere ich dieses nach?

            das kann nicht Dein Problem sein.

            Würde dieses Modul fehlen, dann würde Deine .htaccess-Datei bei jedem Zugriff einen Internal Server Error verursachen, weil dann die darin verwendeten Direktiven nicht bekannt wären.

            Viele Grüße
                  Michael

            --
            T'Pol: I apologize if I acted inappropriately.
            V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
            (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
            Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
      2. Hi Andi123,

        Hm, muss sagen, weiss ich nicht. Ist das nicht standardmaessig?

        das wäre eine Sicherheitslücke. Wenn Du das willst, mußt Du zu M$ gehen, nicht zu Apache ...

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
        Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
      3. Hi Andi123,

        »»http://httpd.apache.org/docs-2.0/howto/auth.html steht ?
        H, kenn ich auch, aber gibts das auch in deutsch?

        noch nicht - wie Du der Angabe

        "Available Languages:  en  |  ja"

        rechts oben entnehmen kannst.

        Viele Grüße
              Michael

        --
        T'Pol: I apologize if I acted inappropriately.
        V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
        (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
        Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
    2. Hi Christoph,

      Die Reihenfolge, in der "deny" und "allow" notiert werden, ist nicht ganz ohne Bedeutung.

      wie meinen der Herr? (Falls Du recht hättest, welchen Sinn hätte dann die "Order"-Direktive?)

      Viele Grüße
            Michael

      --
      T'Pol: I apologize if I acted inappropriately.
      V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
      (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
      Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
      1. hallo Michael,

        Die Reihenfolge, in der "deny" und "allow" notiert werden, ist nicht ganz ohne Bedeutung.
        wie meinen der Herr? (Falls Du recht hättest, welchen Sinn hätte dann die "Order"-Direktive?)

        Genau das "meinen der Herr"  -  in Rücksicht auf die in http://aktuell.de.selfhtml.org/artikel/server/htaccess/index.htm gemachten Angaben eines Beispiels und dessen 5. Zeile.

        Christoph S.

        1. Hi Christoph,

          Die Reihenfolge, in der "deny" und "allow" notiert werden, ist nicht ganz ohne Bedeutung.
          wie meinen der Herr? (Falls Du recht hättest, welchen Sinn hätte dann die "Order"-Direktive?)
          Genau das "meinen der Herr"  -  in Rücksicht auf die in http://aktuell.de.selfhtml.org/artikel/server/htaccess/index.htm gemachten Angaben eines Beispiels und dessen 5. Zeile.

          das Beispiel würde mit geänderter Reihenfolge der Direktiven genauso funktionieren - es wäre nur für Leute, die demselben Denkfehler unterliegen wie Du, schwerer verständlich.

          Es gibt in der Tat Stellen in der Apache-Konfiguration, an denen die Reihenfolge der Direktiven eine Rolle spielt. Dies hier gehört allerdings nicht dazu:

          <q>

          Order Allow,Deny
          Allow from apache.org
          Deny from foo.apache.org

          On the other hand, if the Order in the last example is changed to Deny,Allow, all hosts will be allowed access. This happens because, regardless of the actual ordering of the directives in the configuration file (!), the Allow from apache.org will be evaluated last and will override the Deny from foo.apache.org. All hosts not in the apache.org domain will also be allowed access because the default state will change to allow.

          </q>

          (http://httpd.apache.org/docs/mod/mod_access.html#order)

          Viele Grüße
                Michael

          --
          T'Pol: I apologize if I acted inappropriately.
          V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
          (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
          Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.
          1. guten Abend,

            On the other hand, if the Order in the last example is changed to Deny,Allow, all hosts will be allowed access.

            Prima, du hast genau das zitiert, worauf ich mich bezog.

            Grüße aus Berlin

            Christoph S.