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
Nächste Überarbeitung Beide Seiten, nächste Überarbeitung
lpi2:apache_zugriffskontrolle [2015/07/09 12:38]
ingo_wichmann [Nutzung einer Gruppendatei]
lpi2:apache_zugriffskontrolle [2021/08/16 03:20]
127.0.0.1 Externe Bearbeitung
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 116: Zeile 147:
 AuthUserFile ​   /​srv/​www/​.htpasswd AuthUserFile ​   /​srv/​www/​.htpasswd
 AuthGroupFile ​  /​srv/​www/​.htgroup AuthGroupFile ​  /​srv/​www/​.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 
-</​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 Require ​        group gf
 </​file>​ </​file>​
  
lpi2/apache_zugriffskontrolle.txt · Zuletzt geändert: 2022/03/31 13:51 von ingo_wichmann