4.11.1. Hostbasierter Zugriffsschutz
Ein hostbasierter Zugriffsschutz benötigt das Modul mod_access. Eine hostbasierte Steuerung des Zugriffs auf Dateien, Verzeichnisse oder bestimmten URLs kann an zwei Stellen erfolgen:

  • in der Server Konfiguration (Files-, Directory- oder Location-Umgebung)
  • über eine spezielle Access-Datei im aktuellen oder darüberliegenden Verzeichnis (.htaccess, Directory-Umgebung)

in jeder dieser Umgebung stehen die folgenden Anweisungen zur Verfügung:

          allow  from    HOST
          deny   from   HOST
          order  REIHENFOLGE

Der HOST kann hierbei wie folgt definiert werden:

HOST
Beschreibung
Beispiel
all
alle Rechner
deny from all
ein (teilw.) Domainname
alle Rechner, deren Name gleich ist oder auf die Domain endet
deny from www.du.nicht
deny from du.nicht
eine IP-Nummer
eine IP wird geprüft
deny from 1.2.3.4
eine teilweise IP
bis zu 3 Bytes zur Beschreibung eines Netzes
deny from 1.2.3
Netz und  Netzmaske
Definition eines Subnetzes
deny from 1.2.3.4/255.255.255.128
deny from 1.2.0.0/255.255.0.0
Netz und CIDR
Definition des Subnetzes in CIDR-Notation
deny from 1.2.3.4/25
deny from 1.2.0.0/16

Über die order wird angegeben, in welcher Reihenfolge die allow und deny Regeln bewertet werden:

          order allow, deny

Zuerst werden die allow-Regeln bewertet und wenn hier keine stimmt, die deny-Regeln. Der Ausgangswert ist hierbei „verboten“.

        order deny, allow

Zuerst werden die deny-Regeln bewertet und wenn hier keine stimmt, die allow-Regeln. Der Ausgangswert ist hierbei „erlaubt“.

Spätere Regeln überschreiben wieder vorhergehende - nach einem "Match" wird die Abarbeitung der Liste NICHT abgebrochen, sondern bis zum Ende verfolgt!

Ein Beispiel:

          <Directory /WEBSERVER/htdocs>
              order allow,deny
              allow from 1.2.3.4
              allow from .my.domain
              deny from all
          </Directory>

Soll die Steuerung dezentral erfolgen kann eine spezielle Datei in den Verzeichnissen hinterlegt werden:

        AccessFileName .htaccess

Diese Datei sollte grundsätzlich nicht über den Webserver abfragbar sein. Dies kann mittels der folgenden Regel erfolgen:

          <Files .htaccess>
              Order allow,deny
              Deny from all
          </Files>

Wenn der Server eine Anfrage erhält, prüft er zuerst, seine eigenen Regeln. Anschließend schaut er im aktuellen Verzeichnis und in jedem darüberliegenden Verzeichnis nach der Access-Datei. Eine Grenze für die Auswertung der Access-Dateien kann über eine Option für ein Verzeichnis erfolgen:

        AllowOverride OPTION

Beispielsweise kann  über

        <Directory />
             AllowOverride None
        </Directory>

verhindert werden, dass die Access-Datei überhaupt gelesen wird.

Zwei Beispiele für eine Zugriffssteuerung für die Status - und Info - Module:

          <Location /server-status>
                SetHandler server-status
                Order deny,allow
                Deny from all
                Allow from .DIESER.DOMAIN
          </Location>
          <Location /server-info>
              SetHandler server-info
              Order deny,allow
              Deny from all
              Allow from .DIESER.DOMAIN
          </Location>