EDV:WebSeitenEditieren/Zugriffskontrolle: Difference between revisions
No edit summary |
 |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
Der Zugriffsschutz bezieht sich dabei immer auf Verzeichnisse. |
Der Zugriffsschutz bezieht sich dabei immer auf Verzeichnisse. |
||
NÀheres können Sie unter |
NÀheres können Sie unter |
||
https://httpd.apache.org/docs/2.4/howto/access.html |
|||
nachlesen |
nachlesen |
||
Line 11: | Line 11: | ||
Sie können den Zugriff auf bestimmte Netzbereiche einschrÀnken: |
Sie können den Zugriff auf bestimmte Netzbereiche einschrÀnken: |
||
Dazu gibt es die Anweisung 'require'. Also z.B. |
|||
require ip 129.206.0.0/16 |
|||
Wenn es mehrere erlaubte Bereiche geben soll, hilft 'RequireAny' |
|||
Beispiel: Zugriff nur von innerhalb der Uni |
|||
<RequireAny> |
|||
require host .uni-heidelberg.de |
|||
require ip 129.206.0.0/16 |
|||
require ip 147.142.0.0/16 |
|||
</RequireAny> |
|||
Es kann auch sein, dass zusÀtzlich zu dieser Bedingung auch eine andere noch |
|||
erfĂŒllt sein muss (z.B. ein erlaubter Benutzer). Dann hilft 'RequireAll'. |
|||
Das kann auch in Kombination mit 'RequireAny' benutzt werden. |
|||
Hier ein Beispiel: |
|||
<RequireAll> |
|||
require user weis gast besucher |
|||
<RequireAny> |
|||
require host .uni-heidelberg.de |
|||
require ip 129.206.0.0/16 |
|||
require ip 147.142.0.0/16 |
|||
</RequireAny> |
|||
</RequireAll> |
|||
In diesem Fall ist der Zugriff nur fĂŒr die Nutzer weis, gast und besucher |
|||
gestattet und auch nur, wenn sie von innerhalb der Uni anfragen. |
|||
Die alte Methode (Apache 2.0) funktioniert noch, weil der KompatibilitÀtsmodus aktiviert ist: |
|||
<Limit GET> |
<Limit GET> |
||
deny from all |
deny from all |
||
Line 32: | Line 60: | ||
AuthBasicProvider ldap |
AuthBasicProvider ldap |
||
AuthBasicAuthoritative On |
AuthBasicAuthoritative On |
||
AuthUserFile /dev/null |
|||
AuthzLDAPAuthoritative Off |
|||
AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) |
AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) |
||
Line 44: | Line 70: | ||
der vom Webserver gelesen werden kann. |
der vom Webserver gelesen werden kann. |
||
Beispiel : / |
Beispiel : /afs/kip/user/weis/public_html/.htpasswd |
||
Die Passwortdatei können Sie selbst erzeugen: |
Die Passwortdatei können Sie selbst erzeugen: |
||
(Zum Beispiel von kip1 aus) |
(Zum Beispiel von kip1 aus) |
||
> htpasswd -c / |
> htpasswd -c /afs/kip/user/weis/public_html/.htpasswd gast1 |
||
New password: |
New password: |
||
Re-type new password: |
Re-type new password: |
||
Line 54: | Line 80: | ||
Mit htpasswd2 kann das Passwort verÀndert bzw. |
Mit htpasswd2 kann das Passwort verÀndert bzw. |
||
weitere Benutzer angelegt werden: |
weitere Benutzer angelegt werden: |
||
> htpasswd -b / |
> htpasswd -b /afs/kip/user/weis/public_html/.htpasswd Student MELecture |
||
Adding password for user Student |
Adding password for user Student |
||
> cat / |
> cat /afs/kip/user/weis/public_html/.htpasswd |
||
gast1:xjNSN5Vx3dDt2 |
gast1:xjNSN5Vx3dDt2 |
||
Student:ow1i0zkBsTf8I |
Student:ow1i0zkBsTf8I |
||
Line 69: | Line 95: | ||
AuthBasicProvider file |
AuthBasicProvider file |
||
AuthBasicAuthoritative On |
AuthBasicAuthoritative On |
||
AuthUserFile '''/ |
AuthUserFile '''/afs/kip/user/weis/public_html/.htpasswd''' |
||
require valid-user |
require valid-user |
||
Line 75: | Line 101: | ||
# require user gast1 entwickler3 |
# require user gast1 entwickler3 |
||
== Kombination == |
== Kombination : LDAP und IP-Bereiche == |
||
ACHTUNG: dies ist die '''alte Methode''' (Apache 2.0) |
|||
Wenn Sie die zwei Methoden kombinieren möchten, d.h. |
Wenn Sie die zwei Methoden kombinieren möchten, d.h. |
||
Line 87: | Line 115: | ||
AuthBasicAuthoritative On |
AuthBasicAuthoritative On |
||
AuthUserFile /dev/null |
AuthUserFile /dev/null |
||
AuthzLDAPAuthoritative Off |
|||
AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) |
AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) |
||
Line 98: | Line 125: | ||
allow from .uni-heidelberg.de |
allow from .uni-heidelberg.de |
||
</Limit> |
</Limit> |
||
Und falls Sie möchten, dass beide Bedingungen erfĂŒllt sein mĂŒssen. D.h. Zugriff aus der Uni-Heidelberg '''UND''' authentifiziert ĂŒber den KIP-Account, |
|||
dann ersetzen Sie ''satisfy any'' durch ''satisfy all''. |
|||
== Kombination : LDAP und selbst definierte Accounts == |
|||
Ein Beispiel: |
|||
Zugriff nur fĂŒr die LDAP-Accounts 'weis' und 'voerg' und fĂŒr den selbst definierten Account 'gast1': |
|||
Die zugehörige htpasswd-Datei wurde so wie oben erklÀrt erzeugt. |
|||
AuthType Basic |
|||
AuthName "protected area please use your KIP Account" |
|||
AuthBasicProvider ldap file |
|||
AuthBasicAuthoritative On |
|||
AuthUserFile '''/afs/kip/user/weis/public_html/.htpasswd''' |
|||
AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) |
|||
require user weis voerg gast1 |
Latest revision as of 09:23, 21 February 2017
Zugriffskontrolle auf KIP-Webseiten
Den Zugriff auf bestimmte Bereich im Web können Sie mit Hilfe der .htaccess-Dateien einschrÀnken. Der Zugriffsschutz bezieht sich dabei immer auf Verzeichnisse. NÀheres können Sie unter https://httpd.apache.org/docs/2.4/howto/access.html nachlesen
EinschrÀnkung auf IP-Bereiche
Sie können den Zugriff auf bestimmte Netzbereiche einschrÀnken: Dazu gibt es die Anweisung 'require'. Also z.B.
require ip 129.206.0.0/16
Wenn es mehrere erlaubte Bereiche geben soll, hilft 'RequireAny'
Beispiel: Zugriff nur von innerhalb der Uni
<RequireAny> require host .uni-heidelberg.de require ip 129.206.0.0/16 require ip 147.142.0.0/16 </RequireAny>
Es kann auch sein, dass zusĂ€tzlich zu dieser Bedingung auch eine andere noch erfĂŒllt sein muss (z.B. ein erlaubter Benutzer). Dann hilft 'RequireAll'. Das kann auch in Kombination mit 'RequireAny' benutzt werden.
Hier ein Beispiel:
<RequireAll> require user weis gast besucher <RequireAny> require host .uni-heidelberg.de require ip 129.206.0.0/16 require ip 147.142.0.0/16 </RequireAny> </RequireAll>
In diesem Fall ist der Zugriff nur fĂŒr die Nutzer weis, gast und besucher gestattet und auch nur, wenn sie von innerhalb der Uni anfragen.
Die alte Methode (Apache 2.0) funktioniert noch, weil der KompatibilitÀtsmodus aktiviert ist:
<Limit GET> deny from all allow from .uni-heidelberg.de </Limit>
oder auch
<Limit GET> deny from all allow from 129.206.0.0/255.255.0.0 allow from 147.142.0.0/255.255.0.0 </Limit>
Zugriff nur fĂŒr KIP-Accounts
Hier nun ein Beispiel fĂŒr eine .htaccess-Konfiguration, mit der man erreichen kann, dass Web-Bereiche nur fĂŒr KIP-Accounts abrufbar sind:
AuthType Basic AuthName "protected area please use your KIP Account" AuthBasicProvider ldap AuthBasicAuthoritative On AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) require valid-user
Zugriff nur fĂŒr selbst definierte Accounts
Sie können sich aber auch selbst eine Passwort-Datei anlegen, die fĂŒr die Authentifikation benutzt wird. Achten Sie bitte darauf, dass die Passwortdatei in einem Bereich gespeichert ist, der vom Webserver gelesen werden kann.
Beispiel : /afs/kip/user/weis/public_html/.htpasswd
Die Passwortdatei können Sie selbst erzeugen: (Zum Beispiel von kip1 aus)
> htpasswd -c /afs/kip/user/weis/public_html/.htpasswd gast1 New password: Re-type new password: Adding password for user gast1
Mit htpasswd2 kann das Passwort verÀndert bzw. weitere Benutzer angelegt werden:
> htpasswd -b /afs/kip/user/weis/public_html/.htpasswd Student MELecture Adding password for user Student
> cat /afs/kip/user/weis/public_html/.htpasswd gast1:xjNSN5Vx3dDt2 Student:ow1i0zkBsTf8I
Weitere Infos zu htpasswd gibt es mit 'man htpasswd'
Die .htaccess-Datei sieht dann so aus:
AuthType Basic AuthName "protected area please give your Password" AuthBasicProvider file AuthBasicAuthoritative On AuthUserFile /afs/kip/user/weis/public_html/.htpasswd require valid-user # oder auch # require user gast1 entwickler3
Kombination : LDAP und IP-Bereiche
ACHTUNG: dies ist die alte Methode (Apache 2.0)
Wenn Sie die zwei Methoden kombinieren möchten, d.h. freier Zugriff aus bestimmten Bereichen, sonst aber nur mit Angabe des KIP-Accounts, dann sieht das so aus:
AuthType Basic AuthName "protected area please use your KIP Account" AuthBasicProvider ldap AuthBasicAuthoritative On AuthUserFile /dev/null AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) require valid-user satisfy any <Limit GET> deny from all allow from .uni-heidelberg.de </Limit>
Und falls Sie möchten, dass beide Bedingungen erfĂŒllt sein mĂŒssen. D.h. Zugriff aus der Uni-Heidelberg UND authentifiziert ĂŒber den KIP-Account, dann ersetzen Sie satisfy any durch satisfy all.
Kombination : LDAP und selbst definierte Accounts
Ein Beispiel:
Zugriff nur fĂŒr die LDAP-Accounts 'weis' und 'voerg' und fĂŒr den selbst definierten Account 'gast1':
Die zugehörige htpasswd-Datei wurde so wie oben erklÀrt erzeugt.
AuthType Basic AuthName "protected area please use your KIP Account" AuthBasicProvider ldap file AuthBasicAuthoritative On AuthUserFile /afs/kip/user/weis/public_html/.htpasswd AuthLDAPURL ldap://ldap.kip.uni-heidelberg.de/ou=people,dc=kip.uni-heidelberg,dc=de?uid?sub?(objectClass=KIPUserObject) require user weis voerg gast1