lpi2:apache_zugriffskontrolle
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| lpi2:apache_zugriffskontrolle [2015/07/09 12:10] – [Auslagerung in .htaccess] ingo_wichmann | lpi2:apache_zugriffskontrolle [2022/03/31 13:51] (aktuell) – [Benutzerauthentifizierung] ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== | + | ====== Zugriffskontrolle ====== |
| ===== Apache 2.4 ===== | ===== Apache 2.4 ===== | ||
| - | ==== RequireAny vs. RequireAll | + | ==== Auslagerung in .htaccess |
| - | === RequireAny === | + | Mit Hilfe von '' |
| - | < | + | '' |
| - | < | + | |
| - | Require ip 192.168.1 | + | |
| - | Require all denied | + | |
| - | </ | + | |
| - | </ | + | |
| - | ist das selbe wie: | + | '' |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | Require ip 192.168.1 | + | |
| - | Require all denied | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. | + | ''/ |
| - | + | ||
| - | === RequireAll === | + | |
| < | < | ||
| - | < | + | LogLevel warn authz_core: |
| - | < | + | Alias / |
| - | Require ip 192.168.1 | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. | ||
| - | |||
| - | * [[https:// | ||
| - | |||
| - | === Auswertungsreihenfolge der Sektionen === | ||
| - | < | ||
| - | <Files " | ||
| - | Require all granted | ||
| - | </ | ||
| < | < | ||
| - | | + | |
| </ | </ | ||
| </ | </ | ||
| - | '' | + | mkdir -p / |
| - | | + | |
| + | apachectl graceful | ||
| - | ==== Auslagerung in .htaccess ==== | + | Ist jetzt der Zugriff auf Dateien im Verzeichnis |
| - | Mit Hilfe von '' | + | |
| - | < | + | ==== .htaccess anlegen ==== |
| - | < | + | |
| - | AllowOverride AuthConfig | + | |
| - | Require all denied | + | |
| - | </ | + | |
| - | </ | + | |
| - | Die Datei '' | + | <file txt / |
| - | + | Require all denied | |
| - | <file> | + | |
| - | Require all granted | + | |
| </ | </ | ||
| Ist der Zugriff auf Dateien im Verzeichnis ''/ | Ist der Zugriff auf Dateien im Verzeichnis ''/ | ||
| - | ==== Benutzerauthentifizierung | + | ==== RequireAny vs. RequireAll vs. RequireNone |
| - | Einfache Benutzeridentifikation mittels Passwortdatei | + | === RequireAny === |
| - | ==== Anlegen der Passwortdatei ==== | + | < |
| - | openSuSE (12.3): | + | Require ip 192.168.1 |
| - | htpasswd2 -c .htpasswd heinz | + | Require |
| - | debian (6): | + | |
| - | htpasswd -c .htpasswd heinz | + | |
| - | + | ||
| - | Achtung Erweiterung der Datei mittels | + | |
| - | + | ||
| - | openSuSE (12.3): | + | |
| - | htpasswd2 | + | |
| - | debian (6): | + | |
| - | htpasswd | + | |
| - | + | ||
| - | In der Kontextdirektive oder im '' | + | |
| - | + | ||
| - | Beispieldatei '' | + | |
| - | <file> | + | |
| - | AuthType | + | |
| - | AuthName | + | |
| - | AuthBasicProvider file | + | |
| - | AuthUserFile | + | |
| - | Require | + | |
| </ | </ | ||
| - | ==== Nutzung einer Gruppendatei ==== | + | ist das selbe wie: |
| - | + | <file txt /srv/www/intern/.htaccess> | |
| - | Aufbau der Gruppendatei | + | <RequireAny> |
| - | + | | |
| - | <file> | + | |
| - | gf: peter heinz gerd | + | </ |
| - | sekretariat: | + | |
| </ | </ | ||
| - | Änderung in der '' | + | Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. |
| - | <file> | + | === RequireAll === |
| - | AuthType | + | < |
| - | AuthName | + | < |
| - | AuthBasicProvider file | + | Require ip 192.168.1 |
| - | AuthUserFile | + | </ |
| - | AuthGroupFile | + | |
| - | Require | + | |
| </ | </ | ||
| - | ===== Apache 2.2 ===== | + | Wenn der Client aus dem Subnetz 192.168.1 kommt, dann darf er zugreifen. Sonst nicht. |
| - | ==== Zugriffsteuerung per IP/ | + | |
| - | In Apache | + | * [[https:// |
| - | Fall 1: | + | === RequireNone === |
| - | < | + | < |
| - | order deny,allow | + | < |
| + | Require ip 192.168.1 | ||
| + | </ | ||
| </ | </ | ||
| - | Per Directory / Location / File | + | ErrorLog beachten! |
| - | < | + | === Verschachtelte Blöcke aus All, Any und None === |
| - | <Directory | + | RequireNone = Verneinung dessen was innerhalb des Blocks steht - "darf nicht erfüllt sein" |
| - | order deny,allow | + | <file txt / |
| - | | + | < |
| - | allow from 10.0.0.0/ | + | |
| - | </Directory> | + | |
| - | </file> | + | Require ip 10.0.0.0/24 |
| - | + | </ | |
| - | Erst werden die deny-Regeln ausgewertet, | + | < |
| - | + | Require ip 192.168.1.208 | |
| - | + | </RequireNone> | |
| - | Fall 2: | + | </RequireAll> |
| - | < | + | |
| - | order allow,deny | + | |
| </ | </ | ||
| + | === Auswertungsreihenfolge der Sektionen === | ||
| < | < | ||
| + | <Files " | ||
| + | Require all granted | ||
| + | </ | ||
| < | < | ||
| - | | + | |
| - | allow from 10.0.0.0/ | + | |
| </ | </ | ||
| </ | </ | ||
| - | Erst werden die allow-Regeln | + | '' |
| - | ==== Eigene Projekte / Configdateien ==== | + | * [[https://httpd.apache.org/docs/2.4/sections.html#merging|Apache Dokumentation zu Sektionen]] |
| - | + | ||
| - | openSuSE: | + | |
| - | + | ||
| - | Am besten die eigenen Konfigurationen in folgendem Pfad ablegen mit der Endung .conf | + | |
| - | + | ||
| - | '' | + | |
| - | + | ||
| - | ==== Auslagerung in .htaccess ==== | + | |
| - | + | ||
| - | In Kontextdirektiven lassen sich die Konfigurationswerte durch allowoverride auslagern. | + | |
| - | + | ||
| - | z.B.: '' | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | + | ||
| - | | + | |
| - | # | + | |
| - | + | ||
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Die Datei ''/ | + | |
| - | + | ||
| - | < | + | |
| - | order allow, | + | |
| - | allow from 192.168. 127. | + | |
| - | </ | + | |
| ==== 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 | + | Achtung: Die Datei ''/ |
| + | === weitere Benutzer anlegen === | ||
| openSuSE (12.3): | openSuSE (12.3): | ||
| htpasswd2 | htpasswd2 | ||
| Zeile 198: | Zeile 116: | ||
| htpasswd | htpasswd | ||
| - | In der Kontextdirektive oder im '' | + | === Konfiguration === |
| + | In der Kontextdirektive oder in der '' | ||
| - | Beispieldatei '' | ||
| < | < | ||
| AuthType | AuthType | ||
| AuthName | AuthName | ||
| AuthBasicProvider file | AuthBasicProvider file | ||
| - | AuthUserFile | + | AuthUserFile |
| Require | Require | ||
| </ | </ | ||
| ==== Nutzung einer Gruppendatei ==== | ==== Nutzung einer Gruppendatei ==== | ||
| + | Modul laden: | ||
| + | a2enmod authz_groupfile | ||
| + | service apache2 restart | ||
| - | Aufbau der Gruppendatei | + | Aufbau der Gruppendatei |
| < | < | ||
| Zeile 224: | Zeile 145: | ||
| AuthName | AuthName | ||
| AuthBasicProvider file | AuthBasicProvider file | ||
| - | AuthUserFile | + | AuthUserFile |
| - | AuthGroupFile | + | AuthGroupFile |
| Require | Require | ||
| </ | </ | ||
lpi2/apache_zugriffskontrolle.1436443852.txt.gz · Zuletzt geändert: 2015/07/09 12:10 von ingo_wichmann
