.
Title: Apache Modul mod_access


  
  

  
        
[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Modul mod_access

Dieses Modul bietet Zugriffskontrolle an Hand von Client Hostname, Client IP Adresse oder anderen Angaben einer Client Anfrage.

Status: Basis
Quellcode: mod_access.c
Modulname: access_module

Zusammenfassung

Die von mod_access bereitgestellten Direktiven können sowohl in <Directory>-, <Files>-, und <Location>- Abschnitten als auch in .htaccess Dateien eingesetzt werden, um den Zugriff auf bestimmte Bereiche des Servers zu beschränken. Die Zugriffskontrolle kann an Hand von Client Hostname, Client IP Adresse oder anderen Angaben einer Client Anfrage erfolgen, die über Umgebungsvariable erfaßt werden. Die Direktiven Allow und Deny werden verwendet, um Clients zum Zugriff zuzulassen oder vom Zugriff auszuschließen, während mit der Order Direktive eine Voreinstellung des Zugriffs und eine Bewertungsreihenfolge von Allow und Deny festgelegt wird.

Zugriffsbeschränkung über Host und Benutzerauthentisierung können in Kombination verwendet werden. In diesem Fall regelt die Satisfy Direktive die Verknüpfung.

Generell beziehen sich Zugriffsbeschränkungen immer auf alle Zugriffsarten (GET, PUT, POST, etc). Dies ist meist das erwünschte Verhalten. Es ist aber auch möglich, nur einen Teil der Zugriffsarten zu beschränken und die anderen unverändert zuzulassen, indem die Direktiven in einem <Limit> -Abschnitt untergebracht werden.

Direktiven

Siehe auch Satisfy und Require.


Allow Direktive

Syntax: Allow from all|host|env=env-variable [host|env=env-variable] ...
Kontext: Verzeichnis, .htaccess
AllowOverride: Limit
Status: Basis
Modul: mod_access

Die Allow Direktive legt fest, welcher Client Zugriff auf einen Bereich des Servers erhält. Der Zugriff läßt sich beschränken aufgrund des Hostnamens, einer IP Adresse, eines Bereich von IP Adressen oder durch Angaben aus der Anfrage des Clients, die in Umgebungsvariablen erfaßt werden.

Das erste Argument der Direktive lautet immer from. Das nachfolgende Argument kann drei Formen annehmen. Die Angabe Allow from all erlaubt den Zugriff durch beliebige Clients in Abhängigkeit von der Benutzung der Direktiven Deny und Order, wie unten noch ausgeführt wird. Um nur einem einzelnen Client oder einer Gruppe von Clients Zugriff auf den Server zu gewähren, kann der Hostname in einem der folgenden Formate angegeben werden:

Ein (partieller) Domain-Name
Beispiel: Allow from apache.org
Clients, bei denen der Name übereinstimmt oder mit dieser Zeichenkette endet, erhalten Zugriff. Namensteile müssen vollständig übereinstimmen, d.h. das Beispiel erlaubt foo.apache.org den Zugriff, aber sperrt fooapache.org. Diese Konfiguration veranlaßt den Server zu einer doppelten DNS Auflösung der IP Adresse des Clients, unabhängig von der Einstellung der Direktive HostnameLookups Die Rückwärts-Auflösung ermittelt aus der IP Adresse den Namen. Die anschließende Vorwärts-Auflösung ermittelt aus dem Namen noch einmal die IP Adresse. Nur wenn beide IP Adressen konsistent sind und der Hostname paßt, wird der Zugriff gewährt.
Eine vollständige IP Adresse
Beispiel: Allow from 10.1.2.3
Ein Client mit dieser IP Adresse erhält Zugriff
Eine partielle IP Adresse
Beispiel: Allow from 10.1
Die ersten 1 bis 3 Bytes einer IP Adresse, so dass eine Beschränkung auf ein Subnetz möglich ist.
Ein Paar aus Netzwerk/Netzmaske
Beispiel: Allow from 10.1.0.0/255.255.0.0
Das Netzwerk a.b.c.d und die Netzmaske w.x.y.z. Zur fein-granulareren Einschränkung auf Subnetze. (Apache ab Version 1.3)
Eine Netzwerk/nnn CIDR Spezifikation
Beispiel: Allow from 10.1.0.0/16
Ähnlich wie im vorigen Beispiel, nur dass die Netzmaske aus nnn führenden 1 Bits besteht. (Apache ab Version 1.3)

Hinweis: Die letzten drei Beispiele ergeben dieselben Zugriffsbeschränkungen bezüglich der IP Adressen.

Die dritte Form von Argumenten der Allow Direktive gestattet Serverzugriffe in Abhängigkeit vom Vorhandensein bestimmter Umgebungsvariablen. Wenn Allow from env=env-variable angegeben wird, ist der Zugriff zulässig, falls die Umgebungsvariable env-variable existiert. Der Server bietet über das Modul mod_setenvif eine einfache Möglichkeit, Umgebungsvariable in Abhängigkeit von Angaben der Client Anfrage zu setzen. Deshalb kann über diese Direktive ein Zugriffskontrolle in Abhängigkeit von solchen Größen wie Client User-Agent (Browser Typ), Referer, oder andere Angaben aus dem Kopf der HTTP Anfrage erfolgen.

Beispiel:

SetEnvIf User-Agent ^KlopfKlopf/2.0 Sesam_oeffne_dich
<Directory /docroot>
    Order Deny,Allow
    Deny from all
    Allow from env=Sesam_oeffne_dich
</Directory>

In diesem Beispiel erhält der Browser Zugriff, dessen User-Agent Angabe mit der Zeichenkette KlopfKlopf/2.0 beginnt, während alle anderen abgewiesen werden.

Siehe auch Deny, Order und SetEnvIf.


Deny Direktive

Syntax: Deny from all|host|env=env-variable [host|env=env-variable] ...
Kontext: Verzeichnis, .htaccess
AllowOverride: Limit
Status: Basis
Modul: mod_access

Durch diese Direktive kann der Zugriff für bestimmte Hostnamen, IP Adressen oder bei Vorhandensein bestimmter Umgebungsvariablen verweigert werden. Die Argumente der Deny Direktive sind identisch zu denen der Allow Direktive.

Siehe auch Allow, Order und SetEnvIf.


Order Direktive

Syntax: Order Reihenfolge
Voreinstellung: Order Deny,Allow
Kontext: Verzeichnis, .htaccess
AllowOverride: Limit
Status: Basis
Module: mod_access

Die Order Direktive legt die Voreinstellung der Zugriffskontrolle und die Reihenfolge der Auswertung von Allow und Deny Direktiven fest. Reihenfolge hat eine der folgenden Formen

Deny,Allow
Die Deny Direktiven werden vor den Allow Direktiven bewertet. Voreinstellung ist die Erlaubnis des Zugriffs. Jedem Client ohne passende Deny Direktive wird Zugriff zum Server gewährt.
Allow,Deny
Die Allow Direktiven werden vor den Deny Direktiven bewertet. Voreinstellung ist die Abweisung des Zugriffs. Jedem Client ohne passende Allow Direktive oder mit passender Deny Direktive wird der Zugriff zum Server verweigert.
Mutual-failure
Nur Clients mit passendem Allow und ohne passendes Deny wird der Zugriff gewährt. Diese Reihenfolge hat die gleiche Wirkung wie Order Allow,Deny und ist eine veraltete Schreibweise, die nicht mehr verwendet werden sollte.

Hinweis: Obige Schlüsselwörter dürfen nur durch Komma getrennt werden, Leerzeichen dazwischen sind nicht zulässig. In jedem Fall werden immer alle Allow und Deny Anweisungen ausgewertet.

Im folgenden Beispiel werden alle Clients der Domain apache.org zugelassen, allen anderen wird der Zugriff verweigert.

Order Deny,Allow
Deny from all
Allow from apache.org

Im nächsten Beispiel werden alle Clients der Domain apache.org zugelassen, außer diejenigen der Subdomain foo.apache.org, die ausgesperrt bleiben. Alle anderen außerhalb der Domain apache.org werden ebenso ausgesperrt, da als Voreinstellung die Zugriffsverweigerung gewählt wird.

Order Allow,Deny
Allow from apache.org
Deny from foo.apache.org

Ändert man in obigen Beispiel Order zu Deny,Allow, ist der Zugriff niemals gesperrt. Das passiert unabhängig von der tatsächlichen Reihenfolge der Direktiven, weil Allow from apache.org immer zuletzt ausgewertet wird und damit jede Beschränkung durch Deny from foo.apache.org aufhebt. Alle Clients außerhalb der Domain apache.org werden ebenso zugelassen, da sich die Voreinstellung auf Erlaubnis ändert.

Das Vorhandensein einer Order Direktive kann den Zugriff auf den Server auch dann beeinflussen, wenn gar keine Allow oder Deny Direktive im Kontext verwendet wird, da es die Voreinstellung verändert. Zum Beispiel:

<Directory /www>
  Order Allow,Deny
</Directory>

sperrt jeglichen Zugriff zum Verzeichnis /www, da die Voreinstellung die Verweigerung des Zugriffs ist.

Die Order Direktive regelt die Bewertungsreihenfolge für den jeweiligen Abschnitt der Serverkonfiguration. Daraus ergibt sich zum Beispiel, dass eine Allow oder Deny Direktive innerhalb eines <Location>-Abschnitts immer nach einer Allow oder Deny Direktive innerhalb eines <Directory>-Abschnitts oder einer .htaccess Datei ausgewertet wird, unabhängig von der Einstellung der Order Direktive. Details des Zusammenspiels finden sich unter Wie Konfigurationsabschnitte zusammenwirken.

Siehe auch: Deny und Allow.


Apache HTTP Server Version 1.3

Index Home

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to