Andreas: Kombination von IP- und Benutzerbeschränkung in der htaccess

Hallo!

Seht Ihr eine Möglichkeit, IP- und Benutzerbeschränkung in der htaccess zusammen zu verwenden?
Also beispielsweise nur die IPs 192.168.0 zuzulassen, aber bestimmte Benutzer auch von anderen IPs zuzulassen?

Viele Grüße,
Andreas

  1. Hallo!

    Seht Ihr eine Möglichkeit, IP- und Benutzerbeschränkung in der htaccess zusammen zu verwenden?
    Also beispielsweise nur die IPs 192.168.0 zuzulassen, aber bestimmte Benutzer auch von anderen IPs zuzulassen?

    Den Benutzer an einer IP-Adresse festzumachen ist eine grundsätzlich schlechte Idee. Dafür nutze sog. Credentials: Username/Passwort, .htaccess unterstützt diese Art der Authentifizierung.

    Viele Grüße,
    Horst Haselhuhn

    1. Hallo und Danke für die Hilfe!

      Den Benutzer an einer IP-Adresse festzumachen ist eine grundsätzlich schlechte Idee. Dafür nutze sog. Credentials: Username/Passwort, .htaccess unterstützt diese Art der Authentifizierung.

      »»

      Nein nein, ich möchte die IP-Beschränkung nur für zusätzliche Sicherheit.
      ich möchte genauer gesagt so etwas:

      AuthType Basic
      AuthName "Administrationsbereich"
      AuthUserFile /usr/admin/web/.htusers
      Require user Benutzer1 Benutzer2 Benutzer3
      Order deny,allow
      Deny from all
      Allow from 192.168.0

      Wenn ich jetzt mal raten muss, würde ich sagen, das geht nur bedingt. Der Benutzer "Benutzer1" beispielsweise kann sich mit dieser htaccess vermutlich auch nur von dem angegeben IP-Bereich anmelden.
      Ich möchte aber eben, dass sich nur Leute von 192.168.0 anmelden können _UND ZUSÄTZLICH_ die angegebenen Benutzer von _JEDER_ IP-Adresse.

      Gibt es da eine Möglichkeit?

      1. hi,

        Den Benutzer an einer IP-Adresse festzumachen ist eine grundsätzlich schlechte Idee. Dafür nutze sog. Credentials: Username/Passwort, .htaccess unterstützt diese Art der Authentifizierung.
        »»

        Nein nein, ich möchte die IP-Beschränkung nur für zusätzliche Sicherheit.

        Das ist mit Sicherheit ein Trugschluss. Löse Dich von dem Gedanken, dass die IP-Adresse sicherheitsrelevant ist.

        Viele Grüße,
        Hotte

        1. Hoi.

          In dem hiesigen Kontext ist die IP sicherheitsrelevant. Selbst wenn sie gespooft wäre, würde der Response ja auch ins Leere laufen...

          Zurück zur Eingangsfrage. Gucksdu hier(Stichwort Satisfy all):
          http://de.selfhtml.org/servercgi/server/htaccess.htm#ip_bereiche_namen

          Grüße

          1. Vielen Dank! Das war's was ich gesucht hatte.
            Die Diskussion schien ja schon auszuarten...

            PS: In meinem Fall ist es dann "Satisfy any"

            Und nun noch zum Thema Sicherheit: ich bin davon überzeugt, dass man im Zweifelsfall immer die paranoide Version benutzen sollte!
            In meinem Fall finde ich eine doppelte Beschränkung auch sinnvoll: ich lasse den Zugriff auf den Admin-Teil einer Software nur für lokale Adressen zu, so sichere ich mich schon mal (begrenzt) gegen Gefahren durch schlichte Software-Bugs ab. Die Gefahr von Spoofing sehe ich nur begrenzt, da wir mit mehreren Firewalls und VPN-Einwahl (in eine DMZ) arbeiten. Das ist aber nicht mein Bereich, kenne mich da also nicht so gut aus (daher: lieber paranoid...). Wenn da nun noch Bedenken wegen Spoofing bestehen, bin ich für konkrete Hinweise/Vorgehensweisen dankbar.

            Viele Grüße,
            Andreas

            Hoi.

            In dem hiesigen Kontext ist die IP sicherheitsrelevant. Selbst wenn sie gespooft wäre, würde der Response ja auch ins Leere laufen...

            Zurück zur Eingangsfrage. Gucksdu hier(Stichwort Satisfy all):
            http://de.selfhtml.org/servercgi/server/htaccess.htm#ip_bereiche_namen

            Grüße

            1. Moin!

              Vielen Dank! Das war's was ich gesucht hatte.
              Die Diskussion schien ja schon auszuarten...

              PS: In meinem Fall ist es dann "Satisfy any"

              Wenn du willst, dass aus dem angegebenen IP-Bereich jeder ohne Passwort zugreifen kann...

              Ach ja: Bitte kein TOFU! Zitiere nur das, auf das du dich beziehst, lösche den Rest. Lass das Gesamtposting nicht unbearbeitet am Anfang oder Ende deiner eigenen Antwort stehen - lösche es in so einem Fall komplett!

              - Sven Rautenberg

              --
              "Love your nation - respect the others."
              1. Hi,

                Wenn du willst, dass aus dem angegebenen IP-Bereich jeder ohne Passwort zugreifen kann...

                »»

                Ja, das Programm selber hat natürlich auch noch ein Login.

                Ganz ohne TOFU :-) Wieder was gelernt... Ich mag eh' kein TOFU.

          2. Hoi.

            Ahoi,

            In dem hiesigen Kontext ist die IP sicherheitsrelevant. Selbst wenn sie gespooft wäre, würde der Response ja auch ins Leere laufen...

            Nein, ist sie nicht. Wir sind hier auf dem Application-Layer, da spielt eine IP-Adresse nicht die geringste Rolle. Wer sie dennoch auf diesem Layer ins Spiel bringen will, sollte sich der Konsequenzen bewusst sein, siehe hierzu auch meinen Artikel:

            http://rolfrost.de/ip.html den ich jedem Webmaster wärmstens empfehle.

            Eine IP-Adresse ist sicherheitsrelevant auf Layer 3 (IP). Btw., TCP ist bereits Layer 4.

            Viele Grüße,
            Hotte

            1. Moin!

              Hoi.
              Ahoi,

              In dem hiesigen Kontext ist die IP sicherheitsrelevant. Selbst wenn sie gespooft wäre, würde der Response ja auch ins Leere laufen...

              Nein, ist sie nicht.

              Wenn die IP nicht sicherheitsrelevant ist, warum gibts dann Firewalls, die IP-basiert blocken oder den Zugriff erlauben?

              Wir sind hier auf dem Application-Layer, da spielt eine IP-Adresse nicht die geringste Rolle.

              Was hat der höhere Netzwerklayer (HTTP) damit zu tun, dass man Informationen niedrigerer Layer nicht für Sicherheitsfragen nutzen darf?

              Wer sie dennoch auf diesem Layer ins Spiel bringen will, sollte sich der Konsequenzen bewusst sein, siehe hierzu auch meinen Artikel:

              http://rolfrost.de/ip.html den ich jedem Webmaster wärmstens empfehle.

              Den Artikel kann ich nicht empfehlen, dein Eigenlob stinkt.

              Erstens ist er aufgrund von Gerichtsurteilen motiviert, zielt auf "Datenschutzbegründungen" ab. Zweitens ist er deine Meinungsäußerung. Drittens enthält er sachliche Mängel.

              Eine IP-Adresse ist sicherheitsrelevant auf Layer 3 (IP). Btw., TCP ist bereits Layer 4.

              Was hat der Layer im Netzwerkprotokoll mit der Relevanz der aus diesem Layer ziehbaren Information zu tun?

              Wie du in deinem Artikel doch selbst festgestellt hast, sind IP-Adressen eindeutig den sie innehabenden Organisationen zuordungsfähig. Sofern es sich um statisch vergebene IPs handelt, das sogar für eine ziemlich lange Zeitdauer.

              Wieso soll die IP irrelevant sein, wenn ich sicherstellen will, dass auf eine per HTTP angebotene Ressource nur Clients einer durch eine IP oder einen IP-Bereich identifizierbare Organisation zugreifen darf? Wieso soll das irrelevant sein, nur weil diese Information für die Zugangskontrolle eines höher angesiedelten Layers verwendet wird?

              Allein schon dein Abschnitt "Unsinniges zur Klarstellung" enthält wirklich genau das: Unsinniges. Zitat: "Es gibt Webmaster (sind mir schon begegnet), die meinen, ihren WebServer vor Angriffen schützen zu müssen und deswegen ein Log der IP-Adresse brauchen. Freilich kommen Angreifer mit einer bestimmten IP-Adresse, aber was nützt das Log für einen Schutz?"

              Antwort: Das Log bietet einen schnellen und direkten Weg, die mißbräuchliche IP festzustellen, um dann geeignete Gegenmaßnahmen zu ergreifen, gerne auch auf dem IP-Layer im ISP-Borderrouter.

              - Sven Rautenberg

              --
              "Love your nation - respect the others."
      2. Moin!

        Ich möchte aber eben, dass sich nur Leute von 192.168.0 anmelden können _UND ZUSÄTZLICH_ die angegebenen Benutzer von _JEDER_ IP-Adresse.

        Gibt es da eine Möglichkeit?

        Nein, das ist nach meiner Kenntnis mit .htaccess nicht machbar.

        Es gibt die Direktive "Satisfy" mit den beiden Werten "all" und "any". Bei "all" müssen alle Zugangsbeschränkungen erfüllt sein, also die IP und die Anmeldedaten stimmen. Anmelden kann man sich also nur von den gegebenen IPs aus.

        Bei "any" muß EINE der Zugangsbeschränkungen erfüllt sein, also entweder die IP stimmen, oder die Anmeldedaten. Damit kommt man von allen IPs nur mit Passwort weiter, oder man kommt von den definierten IPs ohne Passwort weiter.

        Weitergehende Kombinationen liegen nach meinem Kenntnisstand außerhalb der Konfigurierbarkeit existierender Apache-Module. Wenn du sowas komplexes haben willst, programmiere es innerhalb der Applikation selbst.

        Andererseits halte ich den Sicherheitsgewinn solch einer Vorgehensweise für marginal. Wenn es dir wirklich um Sicherheit geht, ist die allererste Maßnahme, die sich aufdrängt, der Einsatz von SSL. Das verhindert, dass Dritte den Inhalt der Datenübertragung mitverfolgen können (auch die Passworte). Wenn du kein SSL einsetzt, solltest du dir über komplexe Zugangskriterien keinen Kopf machen.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
    2. Gudn!

      Den Benutzer an einer IP-Adresse festzumachen ist eine grundsätzlich schlechte Idee

      Nein, nicht grundsätzlich sondern in der Regel und wenn ausschließlich. Für zusätzliche Sicherheit sehe ich durchaus die Berechtigung:

      Beispiel:
      Ich nutze einen SMS-Dienst eines Anbieters, das Empfangen und Versenden geschieht durch meinen Server. Abgesehen von Logindaten wird auch die Server-IP überprüft.

      Gruß aus Fürth in Mittelfranken,
      Samoht

      --
      fl:| br:> va:) ls:< n4:( ss:) de:] js:| mo:}