EDV:WebSeitenEditieren/Zugriffskontrolle: Difference between revisions

From KIP Wiki
⧌kip-jumptonavigation⧜⧌kip-jumptosearch⧜
 
Line 102: Line 102:


== Kombination : LDAP und IP-Bereiche ==
== 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.

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