Cet article fait suite à l’implémentation initiale de la mise en œuvre des fonctionnalités SSO par ADFS dans un environnement d’entreprise utilisant une application en mode SaaS.
Après avoir implémenté notre infrastructure de base, nous allons la rendre accessible de façon sécurisée sur le réseau Internet. Pour cela, nous allons utiliser la fonctionnalité « Web Application Proxy » de la plateforme Windows 2012 R2.
Notre infrastructure de base permet l’accès aux services Citrix Online en SSO pour des postes clients situés sur l’Intranet. Elle se présente de la façon suivante :
L’ajout du rôle « Web Application Proxy » nous amènera à cette infrastructure :
Prérequis
Les prérequis suivants ne sont pas traités dans ce billet mais doivent cependant être respectés :
-
Disposer d’une infrastructure de test similaire à celle décrite dans l’article précédent https://antoinedentan.wordpress.com/2016/10/13/implementation-du-sso-avec-adfs-et-citrix-online-partie-1/
-
Ajouter à cette infrastructure un réseau DMZ.
-
Autoriser le flux HTTPS entrant Public è DMZ (vers serveur WAP)
-
Autoriser le flux HTTPS entrant DMZ è LAN (vers serveur de fédération)
Installation du serveur WAP
Le serveur WAP n’a pas besoin d’être joint à un domaine. En revanche, il doit disposer d’un certificat public de même type que celui utilisé pour notre serveur de fédération, c’est-à-dire disposant d’un nom de sujet égal au service (dans notre cas : sts.dentan.fr).
L’installation du rôle WAP se fait en PowerShell
[code language=”PowerShell”]
Install-WindowsFeature web-application-proxy -IncludeManagementTools
[/code]
Une fois le rôle en place, il reste à établir la relation de confiance avec le serveur de fédération. Ceci se fait également en PowerShell :
[code language=”PowerShell”]
# SSL Certificate instantiation
$STScert = Get-ChildItem -Path Cert:LocalMachine\my | where subject -like ‘CN=sts.dentan.fr*’
# WAP setup using Domain Credentials
$Credentials = Get-Credential
Install-WebApplicationProxy `
-FederationServiceTrustCredential $Credentials `
-CertificateThumbprint $STScert.Thumbprint `
-FederationServiceName ‘sts.dentan.fr’
[/code]
Après ce paramétrage très simple, notre service de fédération est en ligne. Pour le vérifier, nous accédons à l’URL de l’application en mode IDP Initiated https://sts.dentan.fr/adfs/ls/IdPInitiatedSignOn.aspx?LoginToRP=https://login.citrixonline.com/saml/sp depuis un poste nomade, ce qui nous mène directement sur la page d’authentification par formulaire :
Une fois nos identifiants d’entreprise renseignés, nous accédons directement à notre espace applicatif :
Dans le prochain article, nous verrons comment capitaliser sur cette infrastructure pour y ajouter un trust de fédération avec un domaine externe.