SSO Tournai : notes de configuration Kerberos
This commit is contained in:
parent
8f39adaa05
commit
c77e264d52
|
@ -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`
|
||||
|
|
Reference in New Issue