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

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi2:apache_zugriffskontrolle [2015/07/09 12:38] – [Nutzung einer Gruppendatei] ingo_wichmannlpi2:apache_zugriffskontrolle [2022/03/31 13:51] (aktuell) – [Benutzerauthentifizierung] ingo_wichmann
Zeile 1: Zeile 1:
-====== Einfache Zugriffskontrolle ======+====== Zugriffskontrolle ======
 ===== Apache 2.4 ===== ===== Apache 2.4 =====
-==== RequireAny vs. RequireAll ==== +==== 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 Require         valid-user
 </file> </file>
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.1436445522.txt.gz · Zuletzt geändert: 2015/07/09 12:38 von ingo_wichmann