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

apt-get install krb5-user msktutil
apt-get install libnginx-mod-http-auth-spnego

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

Utiliser la commande kinit et klist ci-dessous, vous pouvez utiliser le compte Administrateur Local ou tout autre compte avec délégation de privilèges sur le conteneur de destination dans Active Directory (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, la ligne de commande echo $(hostname) doit renvoyer l’adresse DNS qu’utiliseront les agents WAPT.

Enfin modifier le propriétaire du keytab et ses permissions.

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

Post-Configuration

Il est maintenant nécessaire de relancer la post-configuration afin d’activer l’authentification Kerberos pour l’enregistrement des machines.

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.