Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:apache_zugriffskontrolle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:apache_zugriffskontrolle [2015/07/09 12:26]
ingo_wichmann
lpi2:apache_zugriffskontrolle [2022/03/31 13:51] (aktuell)
ingo_wichmann [Benutzerauthentifizierung]
Zeile 1: Zeile 1:
-====== ​Einfache ​Zugriffskontrolle ======+====== Zugriffskontrolle ======
 ===== Apache 2.4 ===== ===== Apache 2.4 =====
-==== RequireAny vsRequireAll ​==== +==== Auslagerung in .htaccess ​==== 
-=== RequireAny ===+Mit Hilfe von ''​AllowOverride''​ können Einstellungen ausgelagert werden: ​
  
 +''/​etc/​apache2/​conf-enabled/​intern.conf'':​ (Debian ab 8)
 +
 +''/​etc/​apache2/​conf.d/​intern.conf'':​ (SuSE)
 +
 +''/​etc/​httpd/​conf.d/​intern.conf'':​ (CentOS)
 <​file>​ <​file>​
 +LogLevel warn authz_core:​debug
 +Alias /intern /​srv/​www/​intern
 +
 <​Directory /​srv/​www/​intern>​ <​Directory /​srv/​www/​intern>​
-  ​Require ip 192.168.1 +  ​AllowOverride AuthConfig
-  Require all denied+
 </​Directory>​ </​Directory>​
 +</​file>​
 +
 +  mkdir -p /​srv/​www/​intern
 +
 +  apachectl configtest
 +  apachectl graceful
 +
 +Ist jetzt der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
 +
 +==== .htaccess anlegen ====
 +
 +<file txt /​srv/​www/​intern/​.htaccess>​
 +Require all denied
 +</​file>​
 +
 +Ist der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
 +
 +==== RequireAny vs. RequireAll vs. RequireNone ====
 +=== RequireAny ===
 +
 +<file txt /​srv/​www/​intern/​.htaccess>​
 +Require ip 192.168.1
 +Require all denied
 </​file>​ </​file>​
  
 ist das selbe wie: ist das selbe wie:
-<file+<​file ​txt /​srv/​www/​intern/.htaccess
-<​Directory ​/​srv/​www/​intern>​ +<​RequireAny>​ 
-  <​RequireAny>​ +  Require ip 192.168.1 
-    Require ip 192.168.1 +  Require all denied 
-    Require all denied +</​RequireAny>​
-  </​RequireAny+
-</​Directory>+
 </​file>​ </​file>​
  
Zeile 24: Zeile 52:
  
 === RequireAll === === RequireAll ===
-<file+<​file ​txt /​srv/​www/​intern/.htaccess
-<​Directory ​/​srv/​www/​intern>​ +<​RequireAll>​ 
-  <​RequireAll>​ +  Require ip 192.168.1 
-    Require ip 192.168.1 +</​RequireAll>​
-  </​RequireAll+
-</​Directory>+
 </​file>​ </​file>​
  
Zeile 35: Zeile 61:
  
   * [[https://​httpd.apache.org/​docs/​2.4/​howto/​access.html|Apache Dokumentation zu Zugriffskontrolle]]   * [[https://​httpd.apache.org/​docs/​2.4/​howto/​access.html|Apache Dokumentation zu Zugriffskontrolle]]
 +
 +=== RequireNone ===
 +<file txt /​srv/​www/​intern/​.htaccess>​
 +<​RequireNone>​
 +  Require ip 192.168.1
 +</​RequireNone>​
 +</​file>​
 +
 +ErrorLog beachten!
 +
 +=== Verschachtelte Blöcke aus All, Any und None ===
 +RequireNone = Verneinung dessen was innerhalb des Blocks steht - "darf nicht erfüllt sein"
 +<file txt /​srv/​www/​intern/​.htaccess>​
 +<​RequireAll>​
 +  <​RequireAny>​
 +    Require ip 192.168.1
 +    Require ip 10.0.0.0/24
 +  </​RequireAny>​
 +  <​RequireNone>​
 +    Require ip 192.168.1.208
 +  </​RequireNone>​
 +</​RequireAll>​
 +</​file>​
  
 === Auswertungsreihenfolge der Sektionen === === Auswertungsreihenfolge der Sektionen ===
Zeile 49: Zeile 98:
  
   * [[https://​httpd.apache.org/​docs/​2.4/​sections.html#​merging|Apache Dokumentation zu Sektionen]]   * [[https://​httpd.apache.org/​docs/​2.4/​sections.html#​merging|Apache Dokumentation zu Sektionen]]
- 
-==== Auslagerung in .htaccess ==== 
-Mit Hilfe von ''​AllowOverride''​ können Einstellungen ausgelagert werden: ​ 
- 
-<​file>​ 
-<​Directory /​srv/​www/​intern>​ 
-  AllowOverride AuthConfig 
-  Require all denied 
-</​Directory>​ 
-</​file>​ 
- 
-Die Datei ''/​srv/​www/​intern/​.htaccess''​ hat folgenden Inhalt: ​ 
- 
-<​file>​ 
-Require all granted 
-</​file>​ 
- 
-Ist der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​ 
  
 ==== Benutzerauthentifizierung ==== ==== Benutzerauthentifizierung ====
Zeile 92: Zeile 123:
 AuthName ​       "Bitte Username und Passwort"​ AuthName ​       "Bitte Username und Passwort"​
 AuthBasicProvider file AuthBasicProvider file
-AuthUserFile ​   /srv/www/​intern/​wiki/​.htpasswd +AuthUserFile ​   /​srv/​www/​.htpasswd
-Require ​        ​valid-user +
-</​file>​ +
- +
-==== Nutzung einer Gruppendatei ==== +
-Aufbau der Gruppendatei ​ ''/​srv/​www/​wiki/​.htgroup''​ +
- +
-<​file>​ +
-gf:  peter heinz gerd +
-sekretariat:​ elke heinz +
-</​file>​ +
- +
-Änderung in der ''​.htaccess''​ +
- +
-<​file>​ +
-AuthType ​       Basic +
-AuthName ​       "Bitte Username und Passwort"​ +
-AuthBasicProvider file +
-AuthUserFile ​   /​srv/​www/​wiki/​.htpasswd +
-AuthGroupFile ​  /​srv/​www/​wiki/​.htgroup +
-Require ​        group gf +
-</​file>​ +
- +
-===== Apache 2.2 ===== +
-==== Zugriffsteuerung per IP/​Hostname ​ ==== +
- +
-In Apache kann mittels  +
- +
-Fall 1: +
-<​file>​ +
-order deny,​allow +
-</​file>​ +
- +
-Per Directory / Location / File  +
- +
-<​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>​ +
-</​file>​ +
- +
-Erst werden die deny-Regeln ausgewertet,​ danach die allow-Regeln,​ falls keine Regel greift gilt allow +
- +
- +
-Fall 2: +
-<​file>​ +
-order allow,​deny +
-</​file>​ +
- +
-<​file>​ +
-<​Directory /​srv/​www/​intern>​ +
-  order allow,​deny +
-  allow from 10.0.0.0/​24 ​ .linuxhotel.de 127.0.0.1 +
-</​Directory>​ +
-</​file>​ +
- +
-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''​ +
- +
-<​file>​ +
-<​Directory /​srv/​www/​wiki>​ +
- +
-   ​Allowoverride All +
-#  Allowoverride Auth +
- +
-</​Directory>​ +
-</​file>​ +
- +
-Die Datei ''/​srv/​www/​wiki/​.htaccess''​ hat folgenden Inhalt: +
- +
-<​file>​ +
-order allow,​deny +
-allow from 192.168. 127. +
-</​file>​ +
- +
-==== 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''​  +
-<​file>​ +
-AuthType ​       Basic +
-AuthName ​       "Bitte Username und Passwort"​ +
-AuthBasicProvider file +
-AuthUserFile ​   /​srv/​www/​wiki/.htpasswd+
 Require ​        ​valid-user Require ​        ​valid-user
 </​file>​ </​file>​
  
 ==== Nutzung einer Gruppendatei ==== ==== Nutzung einer Gruppendatei ====
 +Modul laden:
 +  a2enmod authz_groupfile
 +  service apache2 restart
  
-Aufbau der Gruppendatei ​ ''/​srv/​www/wiki/​.htgroup''​+Aufbau der Gruppendatei ​ ''/​srv/​www/​.htgroup''​
  
 <​file>​ <​file>​
Zeile 224: Zeile 145:
 AuthName ​       "Bitte Username und Passwort"​ AuthName ​       "Bitte Username und Passwort"​
 AuthBasicProvider file AuthBasicProvider file
-AuthUserFile ​   /srv/www/wiki/​.htpasswd +AuthUserFile ​   /​srv/​www/​.htpasswd 
-AuthGroupFile ​  /​srv/​www/wiki/.htgroup+AuthGroupFile ​  /​srv/​www/​.htgroup
 Require ​        group gf Require ​        group gf
 </​file>​ </​file>​
  
lpi2/apache_zugriffskontrolle.1436444760.txt.gz · Zuletzt geändert: 2015/07/09 12:26 von ingo_wichmann