WebDav auf Apache mit LDAP/Kerberos Authetication

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

WebDav auf Apache mit LDAP/Kerberos Authetication

Beitrag von joe2017 » 26.02.2025 08:25:04

Guten Morgen zusammen,

ich verzweifel gerade an der Installation meines WebDav Servers. Ich habe mein LDAP mit Kerberos Server bereits fertig installiert und konfiguriert.
Auch mein WebDav Server ist installiert und konfiguriert. Bis hier hin funktioniert alles.

Ich möchte jetz nur noch den WebDav so konfigurieren, dass nur eine LDAP Gruppe das Recht auf mein Verzeichnis erhält. Zusätzlich soll die Authentication über Kerberos laufen.

In Debian 12 existiert jedoch kein "auth_kerb" oder das Installationspaket "libapache2-mod-auth-kerb".
Auch mit "libapache2-mod-auth-gssapi" komm ich nicht weiter. Beim starten meiner COnfig erhalte ich immer Meldungen, dass Commands nicht existieren.

Code: Alles auswählen

Invalid Command (GSSAPIAuthentication)
Invalid Command (GSSAPIKeyTab)
usw.
Das Module ist bereits enabled.

Code: Alles auswählen

sudo a2enmod auth_gssapi
sudo a2enmod authnz_ldap
Hat jemand eine Idee wie das mittlerweile funktioniert?

Vilen Dank

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: WebDav auf Apache mit LDAP/Kerberos Authetication

Beitrag von joe2017 » 28.02.2025 11:45:28

Ich bin mit meinem Server weiter gekommen. Jetzt habe ich jedoch in merkwürdiges Phänomen.

Wenn ich mich am Client mit meinem LDAP user anmelde und anschließend meine Kerberos Tickets mit "klist" prüfe, sehe ich nur das Ticket für den Benutzer.
Das benötigte HTTP/webdavserver.example.com@EXAMPLE.COM Ticket hat mein Benutzer nicht erhalten.

Melde ich mich jetzt von debian ab und erneut an, hat der Benutzer das TIcket HTTP/webdavserver.example.com@EXAMPLE.COM.
Das genze wiederholt sich bei jedem Neustart!?

Weiß jemand wie ich dafür sorgen kann, dass mein Benutzer sein Ticket und das Ticket vom WebDav Server erhällt.
Dieses wird anscheinend angefragt wenn ich versuche mich mit dem WebDav Server zu verbinden. Jedoch schlägt die erste Anmeldung am WebDav Server fehl, weil das Ticket fehlt.

Hat jemand eine Idee für mich?

Danke

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: WebDav auf Apache mit LDAP/Kerberos Authetication

Beitrag von joe2017 » 03.03.2025 08:17:20

Ich habe jetzt alles soweit hinbekommen. Jedoch habe ich ein neues Problem. Entweder funktioniert die Authentication mit LDAP oder Kerberos. Jedoch nicht im zusammnspiel.

LDAP funktioniert:

Code: Alles auswählen

<Location /test>
  Dav On
  SSLRequireSSL
  
  AuthType Basic
  AuthName "WebDav"
  
  AuthBasicProvider ldap
  AuthLDAPURL "ldaps://server.example.com:636/dc=example,dc=com"
  AuthLDAPBindDN "cn=admin,dc=example,dc=com"
  AuthLDAPBindPassword "secret"
  
  AuthLDAPGroupAttribute memberUid
  AuthLDAPGroupAttributeIsDN off
  
  Require ldap-group cn=webdav_group,ou=groups,dc=example,dc=com
</Location>
GSSAPI (kerberos) funktioniert:

Code: Alles auswählen

<Location /test>
  Dav On
  SSLRequireSSL
  
  AuthType GSSAPI
  AuthName "WebDav"
  
  GssapiCredStore keytab:/etc/krb5.keytab
  Require valid-user
</Location>

Jedoch im zusammenspiel funktioniert das nicht:

Code: Alles auswählen

<Location /test>
  Dav On
  SSLRequireSSL
  
  AuthType GSSAPI
  AuthName "WebDav"
  
  GssapiCredStore keytab:/etc/krb5.keytab
  
  AuthBasicProvider ldap
  AuthLDAPURL "ldaps://server.example.com:636/dc=example,dc=com"
  AuthLDAPBindDN "cn=admin,dc=example,dc=com"
  AuthLDAPBindPassword "secret"
  
  AuthLDAPGroupAttribute memberUid
  AuthLDAPGroupAttributeIsDN off
  
  Require ldap-group cn=webdav_group,ou=groups,dc=example,dc=com
  Require valid-user
</Location>
Wenn ich die config so nutze, können alle Benutzer mit einem gültigen Kerberos Ticket (HTTP/) auf das Verzeichnis zugreifen.
Ich befürchte, dass die LDAP Gruppe zwar geprüft wird, jedoch durch das "Require valid-user" trotzdem alle zugriff erhalten.

Hat jemand eine Idee wie ich das einstellen muss, damit nur Mitglieder der LDAP Gruppe mit einem gültigen krb Ticket (HTTP/) zugriff erhalten?

Benutzeravatar
joe2017
Beiträge: 1305
Registriert: 07.08.2017 14:29:51

Re: WebDav auf Apache mit LDAP/Kerberos Authetication

Beitrag von joe2017 » 03.03.2025 08:30:32

Ich habe etwas herausgefunden... So funktioniert es. Aber ich möchte ja kein User und Passwort eingeben müssen. Daher nur "AuthType GSSAPI"
Also funktioniert das zwar aber wäre unpraktikabel

Code: Alles auswählen

<Location /test>
  Dav On
  SSLRequireSSL
  
  AuthType GSSAPI
  AuthName "WebDav"
  
  GssapiCredStore keytab:/etc/krb5.keytab

  AuthType Basic  
  AuthBasicProvider ldap
  AuthLDAPURL "ldaps://server.example.com:636/dc=example,dc=com"
  AuthLDAPBindDN "cn=admin,dc=example,dc=com"
  AuthLDAPBindPassword "secret"
  
  AuthLDAPGroupAttribute memberUid
  AuthLDAPGroupAttributeIsDN off

  <RequireAll>  
    Require ldap-group cn=webdav_group,ou=groups,dc=example,dc=com
    Require valid-user
  </RequireAll> 
</Location>

Antworten