Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:apache_zugriffskontrolle

Dies ist eine alte Version des Dokuments!


Einfache Zugriffskontrolle

Apache 2.4

RequireAny vs. RequireAll

RequireAny

<Directory /srv/www/intern>
  Require ip 192.168.1
  Require all denied
</Directory>

ist das selbe wie:

<Directory /srv/www/intern>
  <RequireAny>
    Require ip 192.168.1
    Require all denied
  </RequireAny>
</Directory>

Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht.

RequireAll

<Directory /srv/www/intern>
  <RequireAll>
    Require ip 192.168.1
  </RequireAll>
</Directory>

Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht.

Auswertungsreihenfolge der Sektionen

<Files "*">
  Require all granted
</Files>
<Directory /srv/www/intern>
  Require all denied
</Directory>

Files wird nach Directory ausgewertet und gewinnt → Zugriff auf Dateien im Verzeichnis /srv/www/intern ist erlaubt

Auslagerung in .htaccess

Mit Hilfe von AllowOverride können Einstellungen ausgelagert werden:

<Directory /srv/www/intern>
  AllowOverride AuthConfig
  Require all denied
</Directory>

Die Datei /srv/www/intern/.htaccess hat folgenden Inhalt:

Require all granted

Ist der Zugriff auf Dateien im Verzeichnis /srv/www/intern erlaubt?

Benutzerauthentifizierung

Einfache Benutzeridentifikation mittels Passwortdatei

Anlegen der Passwortdatei

openSuSE (12.3):

htpasswd2 -c /srv/www/.htpasswd heinz

debian (6):

htpasswd -c /srv/www/.htpasswd heinz

Achtung: Die Datei /srv/www/.htpasswd wird dabei überschrieben!

weitere Benutzer anlegen

openSuSE (12.3):

htpasswd2  .htpasswd elke

debian (6):

htpasswd  .htpasswd elke

Konfiguration

In der Kontextdirektive oder in der .htaccess folgende Optionen setzen:

AuthType        Basic
AuthName        "Bitte Username und Passwort"
AuthBasicProvider file
AuthUserFile    /srv/www/intern/wiki/.htpasswd
Require         valid-user

Nutzung einer Gruppendatei

Modul laden:

a2enmod authz_groupfile
service apache2 restart

Aufbau der Gruppendatei /srv/www/.htgroup

gf:  peter heinz gerd
sekretariat: elke heinz

Änderung in der .htaccess

AuthType        Basic
AuthName        "Bitte Username und Passwort"
AuthBasicProvider file
AuthUserFile    /srv/www/.htpasswd
AuthGroupFile   /srv/www/.htgroup
Require         group gf

Apache 2.2

Zugriffsteuerung per IP/Hostname

In Apache kann mittels

Fall 1:

order deny,allow

Per Directory / Location / File

<Directory /srv/www/intern>
  order deny,allow
  deny from All
  allow from 10.0.0.0/24  .linuxhotel.de 127.0.0.1
</Directory>

Erst werden die deny-Regeln ausgewertet, danach die allow-Regeln, falls keine Regel greift gilt allow

Fall 2:

order allow,deny
<Directory /srv/www/intern>
  order allow,deny
  allow from 10.0.0.0/24  .linuxhotel.de 127.0.0.1
</Directory>

Erst werden die allow-Regeln ausgewertet, danach die deny-Regeln, falls keine Regel greift gilt deny

Eigene Projekte / Configdateien

openSuSE:

Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung .conf

/etc/apache2/conf.d/wiki.conf

Auslagerung in .htaccess

In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern.

z.B.: /etc/apache2/conf.d/wiki.conf

<Directory /srv/www/wiki>

   Allowoverride All
#  Allowoverride Auth

</Directory>

Die Datei /srv/www/wiki/.htaccess hat folgenden Inhalt:

order allow,deny
allow from 192.168. 127.

Benutzerauthentifizierung

Einfache Benutzeridentifikation mittels Passwortdatei

Anlegen der Passwortdatei

openSuSE (12.3):

htpasswd2 -c .htpasswd heinz

debian (6):

htpasswd -c .htpasswd heinz

Achtung Erweiterung der Datei mittels

openSuSE (12.3):

htpasswd2  .htpasswd elke

debian (6):

htpasswd  .htpasswd elke

In der Kontextdirektive oder im .htaccess folgende Optionen setzen

Beispieldatei .htaccess

AuthType        Basic
AuthName        "Bitte Username und Passwort"
AuthBasicProvider file
AuthUserFile    /srv/www/wiki/.htpasswd
Require         valid-user

Nutzung einer Gruppendatei

Aufbau der Gruppendatei /srv/www/wiki/.htgroup

gf:  peter heinz gerd
sekretariat: elke heinz

Änderung in der .htaccess

AuthType        Basic
AuthName        "Bitte Username und Passwort"
AuthBasicProvider file
AuthUserFile    /srv/www/wiki/.htpasswd
AuthGroupFile   /srv/www/wiki/.htgroup
Require         group gf
lpi2/apache_zugriffskontrolle.1436445522.txt.gz · Zuletzt geändert: 2015/07/09 12:38 von ingo_wichmann