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
- Apache: mod_authz_core Dokumentation
- Wie kann ich einen Passwortschutz für eine Webseite einrichten?
- Was sind .htaccess-Dateien und wie kann ich sie nutzen?