Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:apache_zugriffskontrolle

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:apache_zugriffskontrolle [2014/09/23 08:18] – Externe Bearbeitung 127.0.0.1lpi2:apache_zugriffskontrolle [2022/03/31 13:51] (aktuell) – [Benutzerauthentifizierung] ingo_wichmann
Zeile 1: Zeile 1:
-====== Einfache Zugriffskontrolle ====== +====== 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 
 +Alias /intern /srv/www/intern 
 + 
 +<Directory /srv/www/intern> 
 +  AllowOverride AuthConfig 
 +</Directory>
 </file> </file>
  
-Per Directory / Location / File +  mkdir -p /srv/www/intern
  
-<file> +  apachectl configtest 
-<Directory /srv/www/htdocs/intern> +  apachectl graceful 
-  order deny,allow + 
-  deny from All +Ist jetzt der Zugriff auf Dateien im Verzeichnis ''/srv/www/intern'' erlaubt?  
-  allow from 10.0.0.0/24  .linuxhotel.de 127.0.0.1 + 
-</Directory>+==== .htaccess anlegen ==== 
 + 
 +<file txt /srv/www/intern/.htaccess> 
 +Require all denied
 </file> </file>
  
-Erst werden die deny-Regeln ausgewertet, danach die allow-Regeln, falls keine Regel greift gilt allow+Ist der Zugriff auf Dateien im Verzeichnis ''/srv/www/intern'' erlaubt? 
  
 +==== RequireAny vs. RequireAll vs. RequireNone ====
 +=== RequireAny ===
  
-Fall 2: +<file txt /srv/www/intern/.htaccess> 
-<file> +Require ip 192.168.1 
-order allow,deny+Require all denied
 </file> </file>
  
-<file> +ist das selbe wie: 
-<Directory /srv/www/htdocs/intern> +<file txt /srv/www/intern/.htaccess> 
-  order allow,deny +<RequireAny> 
-  allow from 10.0.0.0/24  .linuxhotel.de 127.0.0.1 +  Require ip 192.168.1 
-</Directory>+  Require all denied 
 +</RequireAny>
 </file> </file>
  
-Erst werden die allow-Regeln ausgewertet, danach die deny-Regeln, falls keine Regel greift gilt deny+Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. 
  
-===== Eigene Projekte / Configdateien =====+=== RequireAll === 
 +<file txt /srv/www/intern/.htaccess> 
 +<RequireAll> 
 +  Require ip 192.168.1 
 +</RequireAll> 
 +</file>
  
-openSuSE:+Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. 
  
-Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung .conf+  * [[https://httpd.apache.org/docs/2.4/howto/access.html|Apache Dokumentation zu Zugriffskontrolle]]
  
-''/etc/apache2/conf.d/wiki.conf''+=== RequireNone === 
 +<file txt /srv/www/intern/.htaccess> 
 +<RequireNone> 
 +  Require ip 192.168.1 
 +</RequireNone> 
 +</file>
  
-===== Auslagerung in .htaccess =====+ErrorLog beachten!
  
-In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern. +=== Verschachtelte Blöcke aus All, Any und None === 
- +RequireNone = Verneinung dessen was innerhalb des Blocks steht - "darf nicht erfüllt sein" 
-z.B.: ''/etc/apache2/conf.d/wiki.conf''+<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> <file>
-<Directory /srv/www/htdocs/wiki> +<Files "*"> 
- +  Require all granted 
-   Allowoverride All +</Files> 
-#  Allowoverride Auth +<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.168. 127. +
-</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
Zeile 82: Zeile 116:
   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 108: 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>
  
lpi2/apache_zugriffskontrolle.1411460339.txt.gz · Zuletzt geändert: (Externe Bearbeitung)