Authentification digest avec apache 2.2.3

Valà mon problème :
j’aimerais protéger un dossier par une authentification de type Digest, en demandant juste un utilisateur valide.
Seulement, ça ne marche pas, je ne peux pas me logguer, et j’ai dans le log d’erreur :
[Sat Jan 20 11:49:13 2007] [error] [client 10.211.55.2] Digest: invalid nonce 4277693fba542 received - length is not 52
[Sat Jan 20 11:49:13 2007] [error] [client 10.211.55.2] GROUP: plop not in required group(s).

Pour ma version d’Apache :
[Sat Jan 20 11:44:04 2007] [notice] Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_jk/1.2.18 mod_ldap_userdir/1.1.11 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8 proxy_html/2.
5 mod_ruby/1.2.6 Ruby/1.8.5(2006-08-25) mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8 configured – resuming normal operations

j’ai dans mon fichier de conf:
<Directory “/var/www/webdav/”>
AuthType Digest
AuthName webdav-example
AuthUserFile /home/srw/password
AuthGroupFile /home/srw/groups
Require group users
Require valid-user
</Directory>

Dans /home/srw/password, j’ai juste
plop:webdav-example:xxxxxxxxxxxxxxxxxxxxxxxxxx
(bien sûr créé par htdigest -c webdav-example plop )

Dans /home/srw/groups, j’ai juste
users: plop

Apache a tous les droits sur ces fichiers

L’authentification Digest est un peu differente de l’auth Basic. Elle possede ses propres directives AuthDigestFile, AuthDigestGroupFile, AuthDigestDomain, etc
La meilleure source d’info est bien evidemment la doc officielle : http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html

oublie pas d’installer et charger le module mod_auth_digest si il n’est pas compile statiquement.

tu t’es planté de doc, ça a changé avec la 2.2 et je suis en 2.2.3 :
http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html
et ils sont revenus à AuthUserFile & AuthGroupFile.
(et évidement, le module auth_digest est chargé, mais en dynamique)

j’ai essayé avec :
<Directory “/var/www/webdav/”>
AuthType Digest
AuthName webdav-example
AuthDigestDomain /webdav
AuthDigestProvider file
AuthUserFile /home/srw/password
AuthGroupFile /home/srw/groups
Require group users
Require valid-user
</Directory>
mais ça n’a rien changé :frowning:

hi hi hi ! j’ai regarde la version mais pas vu que t’etais en 2.2 :paf:

quoiqu’il en soit, je pense avoir trouve ton prob et ca n’a pas change depuis la 2.2.
D’apres la doc de AuthUserFile http://httpd.apache.org/docs/2.2/mod/mod_a…ml#authuserfile

En fait, je pense qu’il trouve pas tes fichiers de groupes et pass… car il va les chercher dans $serverroot$/home/srw/password et dans $serverroot$/home/srw/groups
d’ailleurs ton message d’erreur peut coller avec cette hypothese :

malheureusement, mon fichier est bien donné avec son chemin absolu, donc ça devrait marcher :confused:
enfin, au pire, j’irai demander à l’admin réseau de mon taf, il aura ptêt une idée sur la question (puis comme c’est sur mon portable, je pourrai lui montrer la bête)

je crois qu’il y a plusieurs niveaux de logs dans apache… peut etre en activant le mode le plus verbeux, tu pourrais avoir plus d’infos…

pas con, ça :slight_smile: merci :slight_smile:

tu nous fais un retour quand t’as trouve la solution ? ca m’interesse beaucoup…

Ca m’intéresse aussi, quel est l’avantage par rapport à une authentification Basic ? :jap:

le mot de passe ne circule pas en clair sur le réseau :slight_smile:

en fait, je fais même un howto pour installer à partir d’une debian vide un serveur web/ftp/mail/ldap/subversion/samba/nfs/mysql, avec une interface web pour configurer des comptes (qui auront accès à tous ces services), un webmail, avec la possibilité pour chacun d’avoir une page web, une table mysql, son repository svn/cvs, etc…
le web, ftp, ftps, sftp, nfs, ça marche, le samba devrait à peu près marcher, mais le mail et le l’authentification web ne veulent pas encore :frowning:

c’est pour ca qu’on l’utilise toujours avec https… ca qui donne au final une solution pas trop pourrie.

Ah ouais, ça a l’air super sympa !
Merci :jap:

bon, bah mon admin sys ne sait pas :frowning: il me conseille d’aller poster sur le forum apache, vu qu’a priori ma config est correcte :confused:

procede par elimination.
Commence par virer le fichier de groupe pour voir si y’a un prob avec ?

Mais normalement, la notion de groupe est complètement optionnelle, avec l’authentification apache, non ?

enfin, ptêt que non finalement, parce que j’ai
[Tue Jan 23 20:48:14 2007] [debug] mod_authnz_ldap.c(454): [client 10.211.55.2] [3248] auth_ldap authenticate: accepting plop
[Tue Jan 23 20:27:07 2007] [error] [client 10.211.55.2] GROUP: plop not in required group(s).

alors que là j’ai fait de l’authentification via LDAP. Donc l’authentification marche bien, mais j’ai un autre problème de config… :confused:

ben c’est bien pour ca que je te demandais de virer les directives concernant le groupe afin de purger les trucs optionnels potentiellement problematiques.

ouais mais le je comprends pas ce que t’as fait… que vient faire ldap dans ton prob ?

autre question bete : t’as bien installe et charge le module mod_authz_groupfile ? http://httpd.apache.org/docs/2.2/mod/mod_a…_groupfile.html
c’est con mais on sait jamais :ane:

sinon donne le fichier de conf complet pour qu’on y jette un coup d’oeil

Juste une question : tu stockes comment tes MDP dans LDAP ? Parce que j’essaye de faire un truc un peu similaire, sauf qu’apparemment y a le choix entre stocker les pass en clair dans LDAP et pouvoir faire du digest, soit les stocker en sha ou autre hash, et devoir les envoyer en clair (donc j’essaye de tout faire passer par du SSL/TLS).

:grrr: j’ai trouvé y a 20 min que c’était ça :grrr: j’ai viré tous les autres modules d’authentification, et c’est passé, et j’allais le poster ^^
Enfin, merci bien de ton aide :slight_smile: Normalement, il n’est pas censé donner son avis, ce module… et vive la config par défaut de debian :confused:

En fait, ça ne marche pas encore, j’ai maintenant

[Tue Jan 23 22:00:23 2007] [debug] mod_authnz_ldap.c(454): [client 10.211.55.2] [6071] auth_ldap authenticate: accepting plop
[Tue Jan 23 22:00:23 2007] [debug] mod_authnz_ldap.c(826): [client 10.211.55.2] [6071] auth_ldap authorise: authorisation denied

mais ça avance =)

nan, ce n’est pas ça
quand je tape un mauvais password, il me dit :
[Tue Jan 23 22:16:27 2007] [error] [client 10.211.55.2] user plop: authentication failure for “/webdav/”: Password Mismatch
donc il arrive bien à faire la comparaison (quelque soit le hash)