Configurer l’authentification Kerberos

Note

  • cette configuration est obligatoire en version WAPT Enterprise ;
  • en effet sans authentification Kerberos, n’importe qui pourra s’enregistrer sur le serveur WAPT et remonter de fausses informations dans l’inventaire ;
  • pour plus d’information rendez-vous sur Enregistrer une machine avec le serveur WAPT et sur Signer les remontées d’inventaire ;
  • l’authentification Kerberos sera utilisée lors de l’enregistrement du poste uniquement ;

Installation des composants Kerberos

yum install krb5-workstation msktutil nginx-mod-http-auth-spnego

Configurer l’authentification Kerberos

Note

  • cette configuration est obligatoire en version WAPT Enterprise ;
  • en effet sans authentification Kerberos, n’importe qui pourra s’enregistrer sur le serveur WAPT et remonter de fausses informations dans l’inventaire ;
  • pour plus d’information rendez-vous sur Enregistrer une machine avec le serveur WAPT et sur Signer les remontées d’inventaire ;
  • l’authentification Kerberos sera utilisée lors de l’enregistrement du poste uniquement ;

Configuration de krb5

Modifier le fichier /etc/krb5.conf et remplacer tout son contenu par les 4 lignes suivantes en précisant le domaine Active Directory de votre organisation (ici <MYDOMAIN.LAN>).

Attention

Le default_realm doit absolument être écrit en lettres MAJUSCULES !!

[libdefaults]
  default_realm = MYDOMAIN.LAN
  dns_lookup_kdc = true
  dns_lookup_realm=false

Récupérer un ticket Kerberos

Utilisez les commandes kinit et klist. Vous pouvez utiliser un compte Administrateur ou tout autre compte avec le droit délégué pour joindre un ordinateur au domaine dans le conteneur de destination approprié (par défaut CN=Computers).

En commentaire les résultats attendus des commandes :

sudo kinit administrator
## Password for administrator@MYDOMAIN.LAN:
## Warning: Your password will expire in 277 days on lun. 17 sept. 2018 10:51:21 CEST
sudo klist
## Ticket cache: FILE:/tmp/krb5cc_0
## Default principal: administrator@MYDOMAIN.LAN
##
## Valid starting       Expires              Service principal
## 01/12/2017 16:49:31  02/12/2017 02:49:31  krbtgt/MYDOMAIN.LAN@MYDOMAIN.LAN
## renew until 02/12/2017 16:49:27

Si la demande d’authentification aboutit, créer le compte machine ainsi que le KEYTAB http avec msktutil.

Modifier le paramètre <DOMAIN_CONTROLER> en fonction de votre contrôleur de domaine (ex: srvads.mydomain.lan).

sudo msktutil --server DOMAIN_CONTROLER --precreate --host $(hostname) -b cn=computers --service HTTP --description "host account for wapt server" --enctypes 24 -N
sudo msktutil --server DOMAIN_CONTROLER --auto-update --keytab /etc/nginx/http-krb5.keytab --host $(hostname) -N

Attention

Les commandes ci-dessus supposent que vous avez correctement configuré le hostname de l’ordinateur ;

Pour vérfier votre hostname, la ligne de commande echo $(hostname) doit renvoyer l’adresse DNS qu’utiliseront les agents WAPT.

My wapt server does not have access to a writeable active directory

  • Connect to your active directory (Not a RODC)

Create a computer account « srvwapt » (with graphical interface)

  • Add a spn on the « srvwapt$ » account
setspn -A HTTP/srvwapt.mydomain.lan srvwapt

Create a keytab for this wapt server :

ktpass -out C:\http-krb5.keytab -princ HTTP/srvwapt@MYDOMAIN.LAN rndpass -minpass 64 -crypto all -pType KRB5_NT_PRINCIPAL /mapuser srvwapt$@MYDOMAIN.LAN
Reset SRVWAPT$'s password [y/n]?  y

Transfer this file to /etc/nginx/ (with winscp for example)

Apply the right to the http-krb5.keytab file

For Debian :

sudo chmod 640 /etc/nginx/http-krb5.keytab
sudo chown root:www-data /etc/nginx/http-krb5.keytab

For Centos :

sudo chown root:nginx /etc/nginx/http-krb5.keytab
sudo chmod 640 /etc/nginx/http-krb5.keytab

Case of a use of a rodc

  • For RODC Add the srvwapt account to the allowed password group for replication
  • Remember to preload the password of the wapt server with the different rodc server.
Preload Password srvwapt account

Test Keytab

If a RW or RODC server is available from the wapt server, you can test your keytab with this command :

kinit -kt /etc/nginx/http-krb5.keytab HTTP/srvwapt@MYDOMAIN.LAN

Post-Configuration

Le script de post-configuration va mettre à jour la configuration Nginx et WAPTServer pour utiliser l’authentification Kerberos.

Le script de post-configuration va mettre à jour la configuration Nginx et WAPTServer pour utiliser l’authentification Kerberos.

Indication

Ce script de post-configuration doit être exécuté en tant qu’utilisateur root.

/opt/wapt/waptserver/scripts/postconf.sh --force-https

L’authentification Kerberos est maintenant correctement configurée.

Note

Le script de post-configuration génère un certificat autosigné. Si vous le souhaitez, vous pouvez le remplacer par un certificat commercial ou issue d’une CA interne en suivant la documentation pour installer un certificat.

Sinon, passer directement à l’étape suivante pour installer la console WAPT sur votre PC d’Administrateur.