Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


fortgeschrittene: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
fortgeschrittene:apache_zugriffskontrolle [2014/09/23 07:22]
ingo_wichmann [Anlegen der Passwortdatei]
fortgeschrittene:apache_zugriffskontrolle [2022/03/31 13:51] (aktuell)
Zeile 1: Zeile 1:
-====== ​Apache Konfigurationen und kleine Tipps ====== +====== ​Zugriffskontrolle ​====== 
-===== Zugriffsteuerung per IP/​Hostname  ​=====+===== Apache 2.4 ===== 
 +==== Auslagerung in .htaccess ==== 
 +Mit Hilfe von ''​AllowOverride''​ können Einstellungen ausgelagert werden: ​
  
-In Apache kann mittels ​+''/​etc/​apache2/​conf-enabled/​intern.conf'':​ (Debian ab 8)
  
-Fall 1:+''/​etc/​apache2/​conf.d/​intern.conf''​(SuSE) 
 + 
 +''/​etc/​httpd/​conf.d/​intern.conf'':​ (CentOS)
 <​file>​ <​file>​
-order deny,allow +LogLevel warn authz_core:​debug 
-</file>+Alias /intern /​srv/​www/​intern
  
-Per Directory / Location / File  +<​Directory /​srv/​www/​intern>​ 
- +  ​AllowOverride AuthConfig
-<​file>​ +
-<​Directory /srv/www/htdocs/​intern>​ +
-  ​order deny,​allow +
-  deny from All +
-  allow from 10.0.0.0/​24 ​ .linuxhotel.de 127.0.0.1+
 </​Directory>​ </​Directory>​
 </​file>​ </​file>​
  
-Erst werden die deny-Regeln ausgewertet,​ danach die allow-Regeln,​ falls keine Regel greift gilt allow+  mkdir -p /​srv/​www/​intern
  
 +  apachectl configtest
 +  apachectl graceful
  
-Fall 2: +Ist jetzt der Zugriff auf Dateien im Verzeichnis ''​/srv/​www/​intern''​ erlaubt? ​
-<​file>​ +
-order allow,​deny +
-</file>+
  
-<file+==== .htaccess anlegen ==== 
-<​Directory ​/srv/www/htdocs/intern+ 
-  order allow,​deny +<​file ​txt /​srv/​www/​intern/​.htaccess>​ 
-  allow from 10.0.0.0/24  ​.linuxhotel.de 127.0.0.1 +Require all denied
-</​Directory>​+
 </​file>​ </​file>​
  
-Erst werden die allow-Regeln ausgewertet,​ danach die deny-Regeln,​ falls keine Regel greift gilt deny+Ist der Zugriff auf Dateien im Verzeichnis ''/​srv/​www/​intern''​ erlaubt? ​
  
-===== Eigene Projekte / Configdateien ​=====+==== RequireAny vs. RequireAll vs. RequireNone ​===
 +=== RequireAny ​===
  
-SUSE:+<file txt /​srv/​www/​intern/​.htaccess>​ 
 +Require ip 192.168.1 
 +Require all denied 
 +</​file>​
  
-Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung ​.conf+ist das selbe wie: 
 +<file txt /​srv/​www/​intern/​.htaccess>​ 
 +<​RequireAny>​ 
 +  Require ip 192.168.1 
 +  Require all denied 
 +</​RequireAny>​ 
 +</​file>​
  
-''/​etc/​apache2/​conf.d/wiki.conf''​+Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht
  
 +=== RequireAll ===
 +<file txt /​srv/​www/​intern/​.htaccess>​
 +<​RequireAll>​
 +  Require ip 192.168.1
 +</​RequireAll>​
 +</​file>​
  
-===== Auslagerung in .htaccess =====+Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht
  
-In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern.+  * [[https://​httpd.apache.org/​docs/​2.4/​howto/​access.html|Apache Dokumentation zu Zugriffskontrolle]]
  
-z.B.: ''​/etc/apache2/conf.d/wiki.conf''​+=== RequireNone === 
 +<file txt /srv/www/intern/.htaccess>​ 
 +<​RequireNone>​ 
 +  Require ip 192.168.1 
 +</​RequireNone>​ 
 +</​file>​
  
-<​file>​ +ErrorLog beachten!
-<​Directory /​srv/​www/​htdocs/​wiki>​+
  
-   ​Allowoverride ​All +=== Verschachtelte Blöcke aus All, Any und None === 
- Allowoverride Auth+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 ===
 +<​file>​
 +<Files "​*">​
 +  Require all granted
 +</​Files>​
 +<​Directory /​srv/​www/​intern>​
 +  Require all denied
 </​Directory>​ </​Directory>​
 </​file>​ </​file>​
  
-Die Datei ''/​srv/​www/​htdocs/​wiki/​.htaccess'' ​hat folgenden Inhalt:+''​Files''​ wird nach ''​Directory''​ ausgewertet und gewinnt -> Zugriff auf Dateien im Verzeichnis ​''/​srv/​www/​intern'' ​ist erlaubt
  
-<​file>​ +  * [[https://​httpd.apache.org/docs/2.4/sections.html#​merging|Apache Dokumentation zu Sektionen]]
-order allow,​deny +
-allow from 192.168127. +
-</file> +
- +
-===== Benutzerauthentifizierung =====+
  
 +==== Benutzerauthentifizierung ====
 Einfache Benutzeridentifikation mittels Passwortdatei Einfache Benutzeridentifikation mittels Passwortdatei
  
- +=== Anlegen der Passwortdatei ===
-==== Anlegen der Passwortdatei ===+
 openSuSE (12.3): openSuSE (12.3):
-  htpasswd2 -c .htpasswd heinz +  htpasswd2 -c /srv/www/.htpasswd heinz 
-debian 6: +debian ​(6)
-  htpasswd -c .htpasswd heinz+  htpasswd -c /srv/www/.htpasswd heinz
  
-Achtung ​Erweiterung der Datei mittels+Achtung: Die Datei ''/​srv/​www/​.htpasswd''​ wird dabei überschrieben!
  
 +=== weitere Benutzer anlegen ===
 openSuSE (12.3): openSuSE (12.3):
   htpasswd2 ​ .htpasswd elke   htpasswd2 ​ .htpasswd elke
-debian 6:+debian ​(6):
   htpasswd ​ .htpasswd elke   htpasswd ​ .htpasswd elke
  
-In der Kontextdirektive oder im ''​.htaccess''​ folgende Optionen setzen+=== Konfiguration === 
 +In der Kontextdirektive oder in der ''​.htaccess''​ folgende Optionen setzen
  
-Beispieldatei ''​.htaccess'' ​ 
 <​file>​ <​file>​
 AuthType ​       Basic AuthType ​       Basic
 AuthName ​       "Bitte Username und Passwort"​ AuthName ​       "Bitte Username und Passwort"​
 AuthBasicProvider file AuthBasicProvider file
-AuthUserFile ​   /srv/www/​htdocs/​wiki/.htpasswd+AuthUserFile ​   /​srv/​www/​.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/​htdocs/​wiki/​.htgroup''​+Aufbau der Gruppendatei ​ ''/​srv/​www/​.htgroup''​
  
 <​file>​ <​file>​
Zeile 113: Zeile 145:
 AuthName ​       "Bitte Username und Passwort"​ AuthName ​       "Bitte Username und Passwort"​
 AuthBasicProvider file AuthBasicProvider file
-AuthUserFile ​   /srv/www/​htdocs/​wiki/​.htpasswd +AuthUserFile ​   /​srv/​www/​.htpasswd 
-AuthGroupFile ​  /​srv/​www/​htdocs/​wiki/.htgroup+AuthGroupFile ​  /​srv/​www/​.htgroup
 Require ​        group gf Require ​        group gf
 </​file>​ </​file>​
- 
- 
- 
- 
- 
  
fortgeschrittene/apache_zugriffskontrolle.1411456978.txt.gz · Zuletzt geändert: 2014/09/23 07:22 von ingo_wichmann