Andreas Korthaus: Unterscheidung von Internet und Intranet Usern

Hallo!

Ich habe einen Apache im LAN laufen, der über das Intranet über eine feste IP erreichbar ist. Derselbe Apache ist per Port-Forewarding durch den Router ebenfalls über das Internet erreichbar. Jetzt würde ich gerne allen Zugriffen über das Internet eine Authentification(.htaccess) vorschreiben, und den internen Usern nicht. Ist das möglich? Wenn ja, wie?

Grüße
Andreas

  1. Hallo,

    Ich habe einen Apache im LAN laufen, der über das Intranet über eine feste IP erreichbar ist. Derselbe Apache ist per Port-Forewarding durch den Router ebenfalls über das Internet erreichbar. Jetzt würde ich gerne allen Zugriffen über das Internet eine Authentification(.htaccess) vorschreiben, und den internen Usern nicht. Ist das möglich? Wenn ja, wie?

    Ja - das ist möglich. Der Trick liegt in der Satisfy-Direktive. Damit kann man dem Apachen sagen, dass wenn irgendeine Authentifizierungsrichtlinie zutrifft, der Benutzer zugelassen wird. Daher: wenn der Benutzer von einer zugelassenen IP kommt _ODER_ das Passwort weiß, dann wird er durchgelassen.

    Hier ist der Quelltext, den ich gerade bei mir getestet habe (<IPs> muss noch durch die gültigen IPs ersetzt werden, <Name> durch den Namen der Resource (such dir einen aus) und <UserFile> durch die Datei, die die Benutzer enthält):

    Order Deny,Allow
    Deny from all
    Allow from <IPs>
    AuthType Basic
    AuthName "<Name>"
    AuthUserFile <UserFile>
    Require valid-user
    Satisfy any

    Grüße,

    Christian

    1. Hi!

      Willst Du Dich vielleicht lieber an meinen PC setzen und meien Arbeit machen?

      :-))

      Order Deny,Allow
      Deny from all
      Allow from <IPs>
      AuthType Basic
      AuthName "<Name>"
      AuthUserFile <UserFile>
      Require valid-user
      Satisfy any

      Vielen Dank! Nur mal so gefragt - "wie sicher ist das"? Wenn ich jetzt einen Server so der Welt öffne, sollte das doch zu 100% funkitonieren, wenn  jemand was machen will müßte er schon einen Exploit im Apache ausnutzen, oder?

      Grüße
      Andreas

      1. Hallo,

        Vielen Dank! Nur mal so gefragt - "wie sicher ist das"? Wenn ich jetzt einen Server so der Welt öffne, sollte das doch zu 100% funkitonieren, wenn  jemand was machen will müßte er schon einen Exploit im Apache ausnutzen, oder?

        Exakt. Er müsste schon dem Apachen eine falsche IP vortäuschen (was auf "normalem" Wege unmöglich ist, </archiv/2002/9/22628/>) Daher müsste es wirklich einen Exploit in der Richtung geben.

        Grüße,

        Christian

        1. Nochmal hallo,

          </archiv/2002/9/22628/>

          Vielleicht hätte ich besser auf den Sub-Thread verweisen sollen:

          </archiv/2002/9/22628/#m126316>

          (das Sicherheitsproblem von gzip_cnc hat übrigens überhaupt nichts damit zu tun, da wurde das nur diskutiert)

          Grüße,

          Christian

  2. Moin,

    Nuja, dein Router hat doch sicherlich eine feste IP-Addresse (zumindest nach innen)? Dann erlaubst du halt von allen internen Addressen, bis auf die vom Router den Zugriff ohne Passwort und für den Rest nur mit Passwort.

    In Apache-Notation etwa (mangels Apache nicht getestet):

    Allow from dein.netz.hier.hin/deine.netzmaske.hier.hin
    Deny from deine.router.addresse.hier
    Order Allow,Deny
    Satisfy Any
    Require valid-user

    Deine .htaccess-Konfiguration hier

    Das erlaubt den Zugriff, wenn er aus dem internen Netz kommt, es sei denn er kommt vom Router, _oder_ der Benutzer sich korrekt mit Passwort/Benutzername ausgewiesen hat.

    --
    Henryk Plötz
    Grüße von der Ostsee

    1. Hi!

      Nuja, dein Router hat doch sicherlich eine feste IP-Addresse (zumindest nach innen)? Dann erlaubst du halt von allen internen Addressen, bis auf die vom Router den Zugriff ohne Passwort und für den Rest nur mit Passwort.

      In Apache-Notation etwa (mangels Apache nicht getestet):

      Allow from dein.netz.hier.hin/deine.netzmaske.hier.hin
      Deny from deine.router.addresse.hier
      Order Allow,Deny
      Satisfy Any
      Require valid-user

      Deine .htaccess-Konfiguration hier

      Das erlaubt den Zugriff, wenn er aus dem internen Netz kommt, es sei denn er kommt vom Router, _oder_ der Benutzer sich korrekt mit Passwort/Benutzername ausgewiesen hat.

      Danke Dir, darauf das die Leute von außen die Adresse des Routers haben war ich gar nicht gekommen! Danke Dir!

      Grüße
      Andreas