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 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.

Indice

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

/opt/wapt/waptserver/scripts/postconf.sh --use-kerberos --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 cette documentation : Installer un certificat.

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