Configuration du serveur WAPT avec Kerberos sans demande d'authentification

Question about WAPT Server / Requêtes et aides autour du serveur Wapt
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
rebeccaS
Messages : 10
Enregistré le : 31 janv. 2020 - 09:47

25 févr. 2020 - 08:30

Oui, le ticket est présent.

Code : Tout sélectionner

C:\Windows\system32>klist

LogonId est 0:0x3e7

Tickets mis en cache : (14)

#0>     Client :  client$ @ MYDOMAIN.LAN
        Serveur : krbtgt/MYDOMAIN.LAN @ MYDOMAIN.LAN
        Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
        Indicateurs de tickets 0x60a10000 -> forwardable forwarded renewable pre_authent name_canonicalize
        Heure de démarrage : 2/25/2020 0:14:35 (Local)
        Heure de fin :   2/25/2020 10:14:25 (Local)
        Heure de renouvellement : 3/3/2020 0:14:25 (Local)
        Type de clé de session : AES-256-CTS-HMAC-SHA1-96
        Indicateurs de cache : 0x2 -> DELEGATION
        KDC appelé : srvrodc.MYDOMAIN.LAN

#7>     Client :  client$ @ MYDOMAIN.LAN
        Serveur : HTTP/srvwapt.MYDOMAIN.LAN @ MYDOMAIN.LAN
        Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
        Indicateurs de tickets 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
        Heure de démarrage : 2/25/2020 0:14:45 (Local)
        Heure de fin :   2/25/2020 10:14:25 (Local)
        Heure de renouvellement : 3/3/2020 0:14:25 (Local)
        Type de clé de session : AES-256-CTS-HMAC-SHA1-96
        Indicateurs de cache : 0
        KDC appelé : srvrodc.MYDOMAIN.LAN
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

25 févr. 2020 - 17:47

Vous avez aussi un serveur rodc ou c'est juste que vous avez repris mon exemple ?
rebeccaS
Messages : 10
Enregistré le : 31 janv. 2020 - 09:47

26 févr. 2020 - 09:24

Non, j'ai juste copier cette partie, mais c'est un DC standard.
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

26 févr. 2020 - 18:17

Du coup le type de chiffrement KerbTicket c'est bien AES-256-CTS-HMAC-SHA1-96 ?

Même chose pour la clé de session (du coup je ne sais pas ce qui a été copier ...)

Sinon on va faire un test sans utiliser wapt:

Pouvez vous configurer Firefox pour l'authentification kerberos:
https://docs.oracle.com/cd/E41633_01/pt ... 36673.html

Et surfer sur :
https://srvwapt.mydomain.lan/add_host_kerberos

Si l'authentification kerberos passe , alors le message sera:

Code : Tout sélectionner

Method Not Allowed

The method is not allowed for the requested URL.
A l'inverse si l'authentification ne passe pas le message sera un 401 (demande d'authentification)
rebeccaS
Messages : 10
Enregistré le : 31 janv. 2020 - 09:47

27 févr. 2020 - 08:26

Oui c'est bien ça, le chiffrement et la clé de session n'a pas été modifié.

J'ai relancé les commandes ce matin (j'ai mis en rouge les modifications).

C:\Windows\system32>wapt-get register
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
Registering host against server: https://srvwapt.mydomain.lan
System Power Controls
FATAL ERROR : HTTPError: 403 Client Error: Forbidden for url: https://srvwapt.mydomain.lan/add_host_kerberos

C:\Windows\system32>
C:\Windows\system32>klist

LogonId est 0:0x3e7

Tickets mis en cache : (15)

#0> Client : client$ @ MYDOMAIN.LAN
Serveur : krbtgt/MYDOMAIN.LAN @ MYDOMAIN.LAN

Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
Indicateurs de tickets 0x60a10000 -> forwardable forwarded renewable pre_authent name_canonicalize
Heure de démarrage : 2/27/2020 7:52:02 (Local)
Heure de fin : 2/27/2020 17:52:01 (Local)
Heure de renouvellement : 3/5/2020 7:52:01 (Local)
Type de clé de session : AES-256-CTS-HMAC-SHA1-96
Indicateurs de cache : 0x2 -> DELEGATION
KDC appelé : SRVDC.MYDOMAIN.LAN

#1> Client : client$ @ MYDOMAIN.LAN
Serveur : krbtgt/MYDOMAIN.LAN @ MYDOMAIN.LAN

Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
Indicateurs de tickets 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
Heure de démarrage : 2/27/2020 7:52:01 (Local)
Heure de fin : 2/27/2020 17:52:01 (Local)
Heure de renouvellement : 3/5/2020 7:52:01 (Local)
Type de clé de session : AES-256-CTS-HMAC-SHA1-96
Indicateurs de cache : 0x1 -> PRIMARY
KDC appelé : SRVDC.MYDOMAIN.LAN

#2> Client : client$ @ MYDOMAIN.LAN
Serveur : HTTP/srvwapt.mydomain.lan @ MYDOMAIN.LAN

Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
Indicateurs de tickets 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Heure de démarrage : 2/27/2020 8:02:38 (Local)
Heure de fin : 2/27/2020 17:52:01 (Local)
Heure de renouvellement : 3/5/2020 7:52:01 (Local)
Type de clé de session : AES-256-CTS-HMAC-SHA1-96
Indicateurs de cache : 0
KDC appelé : SRVDC.MYDOMAIN.LAN


Résultats du test :
Fichiers joints
2020-02-27 08_00_32-401 Authorization Required.png
2020-02-27 08_00_32-401 Authorization Required.png (15.72 Kio) Vu 3937 fois
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

27 févr. 2020 - 13:43

Après la configuration de l'auth kerberos dans firefox, vous avez donc bien un ticket dans le klist (dans l’environnement utilisateur, pas psexe) ?


Si c'est le cas, la partie python de wapt est hors de cause (vu le message 401)

Vous pouvez peut être essayer de désinstaller libnginx-mod-http-auth-spnego et de le réinstaller avec ce deb :
https://wapt.tranquil.it/debian/wapt-1. ... _amd64.deb

Simon
rebeccaS
Messages : 10
Enregistré le : 31 janv. 2020 - 09:47

27 févr. 2020 - 15:26

Après la configuration de l'auth kerberos dans firefox :

H:\>klist

LogonId est 0:0x7ddc0

Tickets mis en cache : (2)

#0> Client : utilisateur @ MYDOMAIN.LAN
Serveur : krbtgt/MYDOMAIN.LAN @ MYDOMAIN.LAN

Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
Indicateurs de tickets 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
Heure de démarrage : 2/27/2020 14:33:53 (Local)
Heure de fin : 2/28/2020 0:33:53 (Local)
Heure de renouvellement : 3/5/2020 14:33:53 (Local)
Type de clé de session : AES-256-CTS-HMAC-SHA1-96
Indicateurs de cache : 0x1 -> PRIMARY
KDC appelé : SRVDC.MYDOMAIN.LAN

#1> Client : utilisateur @ MYDOMAIN.LAN
Serveur : HTTP/srvwapt.MYDOMAIN.LAN @ MYDOMAIN.LAN

Type de chiffrement KerbTicket : AES-256-CTS-HMAC-SHA1-96
Indicateurs de tickets 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
Heure de démarrage : 2/27/2020 14:33:53 (Local)
Heure de fin : 2/28/2020 0:33:53 (Local)
Heure de renouvellement : 3/5/2020 14:33:53 (Local)
Type de clé de session : AES-256-CTS-HMAC-SHA1-96
Indicateurs de cache : 0
KDC appelé : SRVDC.MYDOMAIN.LAN



J'ai essayé une réinstall de la deb mais c'est pareil...


Par contre j'ai une question :

Lors de la conf sur Firefox, faut-il que je mette le nom du serveur avec mon domaine obligatoirement ? Qu'est que ça change que je ne le mette pas ?
Parce que ce n'est pas la même erreur si je ne mets pas mon nom de domaine.

Si je mets mon nom de domaine j'ai une erreur 403 :
2020-02-27 14_34_21-403 Forbidden.png
2020-02-27 14_34_21-403 Forbidden.png (7.55 Kio) Vu 3925 fois
Si je ne mets pas mon nom de domaine, j'ai une erreur 401 :
2020-02-27 14_36_49-401 Authorization Required.png
2020-02-27 14_36_49-401 Authorization Required.png (9.9 Kio) Vu 3925 fois
J'ai l'impression que c'est lorsque je lance cette commande qu'il y a un problème

Code : Tout sélectionner

msktutil --server DOMAIN_CONTROLER --auto-update --keytab /etc/nginx/http-krb5.keytab --host $(hostname) -N
Avec un - - verbose j'obtiens ça :

Code : Tout sélectionner

root@srvwapt:/home/wapt# msktutil --server srvdc --auto-update --keytab /etc/nginx/http-krb5.keytab --host $(home) -N --verbose
 -- init_password: Wiping the computer password structure
 -- generate_new_password: Generating a new, random password for the computer account
 -- generate_new_password:  Characters read from /dev/urandom = 91
 -- create_fake_krb5_conf: Created a fake krb5.conf file: /tmp/.msktkrb5.conf-qimnoe
 -- reload: Reloading Kerberos Context
 -- get_short_hostname: Determined short hostname: srvwapt
 -- finalize_exec: SAM Account Name is: srvwapt$
 -- try_machine_keytab_princ: Trying to authenticate for srvwapt$ from local keytab...
 -- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (Generic preauthentication failure)
 -- try_machine_keytab_princ: Authentication with keytab failed
 -- try_machine_keytab_princ: Trying to authenticate for srvwapt$ from local keytab...
 -- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (Generic preauthentication failure)
 -- try_machine_keytab_princ: Authentication with keytab failed
 -- try_machine_keytab_princ: Trying to authenticate for host/srvwapt.microtec-agora.lan from local keytab...
 -- try_machine_keytab_princ: Error: krb5_get_init_creds_keytab failed (Client not found in Kerberos database)
 -- try_machine_keytab_princ: Authentication with keytab failed
 -- try_machine_password: Trying to authenticate for srvwapt$ with password.
Il fait quand même les entrées dans /etc/nginx/http-krb5.keytab... Puisque la suite ce passe sans erreur.
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

27 févr. 2020 - 18:49

Le ticket se négocie bien visiblement puisque il arrive dans le klist

Par contre il est refusé par le nginx visiblement.

Pour moi 401 = 403 donc pas de différence.

Le krb5.conf du serveur est correct ? (normalement pas d'impact mais bon)

Sinon cela peu être un problème d'heure entre le serveur wapt et le client.

En kerberos c'est 5minutes max de décalage.

Pour vérifier de manière propre, serveur:

Commande python ou waptpython sous windows :

Code : Tout sélectionner

Python 2.7.13 (default, Sep 26 2018, 18:42:22) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>> datetime.datetime.utcnow()
datetime.datetime(2020, 2, 27, 17, 43, 21, 864084)


cela permet de vérifier le temps sans prendre en compte l'heure d'été la time zone etc ...

Sinon je ne comprend pas j'ai refait la procédure avec le deb libnginx-mod-http-auth-spnego_1.14.2-2+deb10u1_amd64.deb nginx du coup en 1.14 et cela fonctionne bien.

Une conf spécial pour la sécu au niveau de l'AD peu être ?

Autre idée de problème, il y a un revers proxy au dessus ?
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

04 mars 2020 - 10:55

Bonjour

Avez-vous pu avancer ?
rebeccaS
Messages : 10
Enregistré le : 31 janv. 2020 - 09:47

12 mars 2020 - 14:27

Bonjour,

Désolé du temps de réponse...

J'ai retenté en partant de 0 ce matin, mais c'est toujours pareil...

C'est dommage on avait choisi cette solution pour l'authentification par Kerberos...

Merci quand même
Verrouillé