SSO Tournai : notes de configuration Kerberos

This commit is contained in:
Paul Marillonnet 2017-05-19 12:15:10 +02:00
parent 8f39adaa05
commit c77e264d52
1 changed files with 31 additions and 2 deletions

View File

@ -1,5 +1,8 @@
Notes d'installation Single Sign-On (SSO) avec authentic2-auth-kerberos
# Avant-propos
Cette note d'installation se focalise sur le déploiement d'un SSO Kerberos vers le fournisseur d'identité
# Descriptif de l'architecture
Le serveur d'annuaire est une Active Directory sur Windows Server 2012 R2 (ici virtualisé à l'aide de l'outil Oracle VirtualBox).
@ -20,7 +23,7 @@ Dans le cadre du déploiement en local, le royaume (*realm*) Kerberos défini es
En supposant que la base d'utilisateurs est déjà présente dans l'AD, il faut néanmoins créer un compte correspondant au fournisseur de service.
*Tools* -> *AD Users and Computers* -> *Managed Service Accounts* -> Clic droit *New...* -> *User* -> *User logon name : a2idp* (avec le suffixe `@ENTROUVERT.LOCAL`)
# DNS
# Configuration DNS
## Configuration du serveur de nom de domaine
Le DNS utilisé ici est celui de la machine Windows Serveur.
@ -34,4 +37,30 @@ Dans l'interface *Server Manager* :
## Configuration du client
Ajout de l'IP du DNS soit à l'aide de l'outil `NetworkManager` de configuration des connexions `nm-connexion-editor`, soit directement dans `/etc/resolf.conf` par ajout d'une entrée `nameserver 192.168.56.101`.
#
# Configuration Kerberos
## Côté serveur
Dans l'invite de commande PowerShell, il faut définir un *service principal name* à l'aide de la commande `setspn` :
```
setspn -S HTTP/phyhost.entrouvert.local a2idp
```
(N.B : l'option -S remplace l'option -A obsolète, cette dernière ne vérifiant pas la présence de doublons dans la liste des *service principals*).
Le service principal est alors associé au compte de service *a2idp2* créé plus haut.
L'étape suivante est la génération d'un *keytab* associé au service principal :
```
ktpass -princ HTTP/phyhost.entrouvert.local@ENTROUVERT.LOCAL -mapuser a2idp@ENTROUVERT.LOCAL -crypto ALL -ptype KRB5_NT_PRINCIPAL -pass <mot de passe du compte de service a2idp> -out c:\idp.keytab
```
Explication des options :
* `princ` : nom du service principal Kerberos
* `user ` : nom du compte de service dans la base AD
* `crypto` : algos de chiffrements utilisés. L'option `ALL` autorise le chiffrement pour toutes les algos supportés par le serveur (DES-CBC-CRC, DES-CBC-MD5, RC4-HMAC-NT, AES256-SHA1 et AES128-SHA1)
* `ptype` : type de principal Kerberos pour lequel la *keytab* est générée.
* `out` : emplacement de la `keytab`
# Configuration du navigateur Web
Côté client, le navigateur doit être configuré pour accepter les challenges `WWW-Authenticate` en provenance de l'IDP.
La configuration est donnée ici pour un client Mozilla Firefox 45 :
`about:config` dans la barre de navigation -> `network.negotiate-auth.allow-non-fqdn` à `true` (en particulier dans le cas où le non de domaine n'est pas un FQDN), et `network.negotiate-auth.trusted-uris` à phyhost.entrouvert.local`