Fragen und Antworten

Wie kann ich den Zugriff auf meine Webseite für bestimmte IP-Adressen steuern?

In manchen Fällen ist es wünschenswert, den Zugriff auf eine Webseite auf bestimmte IP-Adressen zu beschränken, oder bestimmten bösartigen IP-Adressen den Zugriff zu verwehren. Hiefür können Sie auf unseren Webservern das Apache-Autorisierungsmodul mod_authz_core verwenden, das Sie über .htaccess-Konfigurationsdateien steuern können.

Das Autorisierungsmodul ermöglicht komplexe Szenarien aus verschachtelten Bedingungen, die an dieser Stelle nicht detailliert erklärt werden sollen, es soll nur die grundlegende Funktionsweise anhand einiger eher einfacher Besipiele gezeigt werden.

Bestimmte IP-Adressen ausschließen

Um bestimmte IP-Adressen oder -Adressbereiche (in CIDR-Notation) vom Zugriff auf eine Webseite auszuschließen, können Sie folgende Direktiven als Vorlage nutzen:

<RequireAll>
  Require all granted
  Require not ip 1.2.3.4
  Require not ip 5.6.7.0/24
</RequireAll>

Innerhalb eines RequireAll-Blocks müssen alle Require-Bedingungen zutreffen, ansonsten wird der Zugriff abgelehnt.

Ausschließlich bestimmte IP-Adressen erlauben

Umgekehrt können Sie den Zugriff auch ausschließlich auf bestimmte IP-Adressen oder -Adressbereiche beschränken:

<RequireAny>
  Require ip 1.2.3.4
  Require ip 5.6.7.0/24
</RequireAny>

Innerhalb eines RequireAny-Blocks muss mindestens eine Require-Bedingung zutreffen, ansonsten wird der Zugriff abgelehnt.

Komplexe Zugriffsregeln

Neben IP-Adressen könne Sie auch zusätzliche Bedingungen wie z.B. eine HTTP Basic Authentifizierung verwenden.

Wenn Sie den Zugriff auf bestimmte IP-Adressen beschränken möchten, und zusätzliche eine HTTP Basic Authentifizierung verwenden möchten, können Sie folgende Direktiven als Vorlage nutzen:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /homepages/u12345/webseite/.htpasswd
<RequireAll>
  Require ip 1.2.3.4
  Require valid-user
</RequireAll>

Sie den Zugriff auch für bestimmte IP-Adressen erlauben, und für alle anderen IP-Adressen eine HTTP Basic Authentifizierung verlangen:

AuthType Basic
AuthName "Geschützter Bereich"
AuthUserFile /homepages/u12345/webseite/.htpasswd
<RequireAny>
  Require ip 1.2.3.4
  Require valid-user
</RequireAny>

Hinweis: Beachen Sie bitte, dass die von uns genutzte Webserver-Software Apache ab Version 2.4 standardmäßig ein anderes Autorisierungsmodul mit neuen Direktiven verwendet als die Vorgängerversion 2.2. Sie finden im Netz jedoch häufig noch die alten Direktiven von Apache Version 2.2 (z.B. Allow from 1.2.3.4 oder Deny from all). Diese Direktiven werden weiterhin unterstützt, es empfiehlt sich aber, die aktuellen Direktiven von Apache Version 2.4 zu verwerden.

Links