comment publier vos applications web avec windows server 2012 r2
DESCRIPTION
L'objectif de la session est de dresser dans un premier temps un état des lieux sur les solutions Microsoft jusqu'alors utilisées pour publier vos applications Web. Nous nous focaliserons ensuite sur Web Application Proxy (WAP), nouveau rôle dans Windows 2012 R2 pour la publication d'application Web. Nous aborderons les objectifs et fonctionnalités de WAP, le tout illustré par des démos. Speakers : Franck Heilmann (Microsoft), Eric Detoc (Microsoft France)TRANSCRIPT
Sécurité
Comment publier vos applications Web avec
Windows Server 2012 R2Eric Detoc, Franck Heilmann
Escalation EngineersMicrosoft
[email protected]@microsoft.com
#mstechdaysSécurité
• Concepts sur la publication d’application Web
• Etat des lieux TMG / UAG• Web Application Proxy (WAP)• Questions - Réponses
Agenda
Sécurité#mstechdays
INTRODUCTION SUR LA PUBLICATION DES APPLICATIONS WEB Concepts
#mstechdaysSécurité
• Rendre accessible les applications internes pour les clients externes (nomades, partenaires)
• Offrir:– Pré-Authentification / Validation de l’identité– Délégation (SSO)– Translation de liens– Terminaison SSL
Grands Concepts de la publication
Sécurité#mstechdays
TMG & UAG
En fin de vie
#mstechdaysSécurité
• TMG n’est plus disponible à la vente depuis 1er décembre 2012
• La dernière mise à jour est SP2 Rollup 4
• Arrêt du support– Phase principale: 14 Avril 2015– Phase étendue: 14 Avril 2020
TMG - fin de vie
#mstechdaysSécurité
• UAG ne sera plus disponible à la vente à partir du 1er Juillet 2014 (Software Assurance 1er Janvier 2014).
• La dernière mise à jour est SP4• Arrêt du support– Phase principale: 14 Avril 2015– Phase étendue: 14 Avril 2020
UAG - fin de vie
#mstechdaysSécurité
• http://support.microsoft.com/gp/lifepolicy
Phases de support
Sécurité#mstechdays
WEB APPLICATION PROXY (WAP)
Introduction
#mstechdaysSécurité
– Nécessité de répondre aux challenges de la fédération d’identité (intégration forte avec ADFS et AD)
– Evolution des standards de sécurité (focus client)– Nouveaux besoins Utilisateurs et ITPro (BYOD,
Contrôle d’accès,…)– Rendre le proxy indépendant du client (pas de
code client ou autre JavaScript,…)– Rendre le proxy neutre par rapport à l’application
publiée (Exchange 2007 versus 2013,…)
Pourquoi WAP ?
#mstechdaysSécurité
Web Application Proxy
Côté IT Pro
Accéder aux applications Web de son entreprise depuis n’importe où et avec n’importe quel device (Windows et non Windows)
Le device peut être “managed” ou “unmanaged”
Single Sign On (SSO)
Publication selective des applications Web internesContrôle d’accès au niveau de l’application, utilisateur, device, localisationPré-authentification des accèsAucun changement requis au niveau des applications et devices
Côté utilisateur
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
WS2012 R2 AD + AD FS + WAP: proposition de valeur
Users can register their devices to gain access to corporate data and apps and single sign-on through device authentication
Conditional access with multi-factor authentication is provided on a per-application basis, leveraging user identity, device registration & network location
Organizations can federate with partners and other organizations for seamless access to shared resources
Organizations can connect to SaaS applications running in Windows Azure, Office 365 and 3rd party providers
Enhancements to AD FS include simplified deployment and management
Published applicationsFirewall
Sécurité#mstechdays
WEB APPLICATION PROXY (WAP)
Fonctionnalités
#mstechdaysSécurité
• Publication sélective d’applications Web– Rendre accessible certaines applications Web, voire
certaines parties (paths) seulement de ces applications
• Terminaison SSL– Le trafic Web entrant (HTTPS uniquement) ne peut
directement atteindre le serveur publié
• HTTP ou HTTPS peuvent être utilisés entre WAP et l’application Web
Reverse Proxy Web
#mstechdaysSécurité
• Pré-authentification AD FS ou de type “Pass through”
• Le rôle ADFS Proxy est inclus dans WAP– Utilisé pour publier le serveur ADFS– Dans Windows 2012 R2, le rôle AD FS Proxy n’est plus disponible
comme rôle seul
• Translation du nom d’hôte– Le nom de domaine externe peut être différent du nom interne:
E.g. https://portal.contoso.com http://portal/ – La translation du nom d’hôte n’est actuellement supporté que
sur les entêtes HTTP.
Reverse Proxy Web (suite)
#mstechdaysSécurité
•Les applications publiées doivent authentifier les flux avec des Claims ADFS ou avec la méthode Kerberos (authentification Windows intégrée -IWA)
•Un “relying party” (RP) doit être créé au niveau ADFS pour l’application publiée
Pré-requis pour le Single Sign On (SSO)
#mstechdaysSécurité
•Le client s’authentifie sur ADFS•Une fois l’authentification réussie, le client reçoit un token WAP ainsi qu’un cookie SSO ADFS•WAP vérifie que le token WAP est valide et bascule si nécessaire en KCD (Kerberos constrained delegation) avec l’application Web publiée
Flux du SSO
Web Application Proxy
ADFS
Kerberos (KCD)
Claims
Backend Application
Backend Application
#mstechdaysSécurité
• Les RP créés dans ADFS pour chaque application sont utilisés pour définir et appliquer des stratégies d’authentification et d’autorisation
• Les accès des devices et des utilisateurs peuvent être restreints en fonction de nombreuses conditions, comme:– Le type de Device (iOS, Windows OS, Android)– Workplace Joined ou non-Workplace Joined– Lieu de l’utilisateur et du device (interne , externe)– Appartenance à un groupe
Authentification et autorisation ADFS
Sécurité#mstechdays
WEB APPLICATION PROXY (WAP)
Déploiement & recommandations
#mstechdaysSécurité
• Prérequis: Windows 2012 R2 ADFS• WAP est un service disponible depuis le
rôle « accès distant »• Configuration post-installation par nœud• Administration centralisée depuis la
console gestionnaire d’accès distant
Installation
#mstechdaysSécurité
• Demandé lors de la configuration post-install
• Ce certificat doit inclure:– Le FQDN du serveur ADFS, par exemple adfs.contoso.com– Enterpriseregistration.contoso.com si Workplace Join
utilisé
• Les certificats de type Wildcard (*.contoso.com) ou avec des Subject Alternate Names (SAN) sont supportés
Certificat de l’ADFS Proxy
#mstechdaysSécurité
WAP/AD FS : qui fait quoi ?
Web Application Proxy AD FS
• Héberger le stockage de la configuration WAP
• Gérer l’authentification de l’utilisateur
• Authentification Multi-facteur• Appliquer les autorisations en
fonction des stratégies définies.
• Changement des mots de passe
• Personnalisation du formulaire de logon
• Prendre en charge et évaluer les requêtes Web entrantes
• Déclencher la pré-authentification
• Gérer la délégation KCD• Effectuer la translation des
entêtes HTTP• Faire le proxy entre le serveur
ADFS et l’application Web publiée
#mstechdaysSécurité
• WAP n’utilise pas de “Listener” lié à une IP/port comme TMG & UAG
• WAP effectue des réservations dans http.sys pour les FQDN et Paths publiés
• WAP utilise Server Name Indication (SNI) pour déterminer le certificat serveur à envoyer au client lors du handshake SSL
WAP et http.sys
#mstechdaysSécurité
• WAP n’a aucune connaissance de la configuration réseau du système
• WAP supporte une, deux ou plusieurs cartes réseaux
• Support de IPv6 et IPv4
Cartes réseaux
#mstechdaysSécurité
• Dans la DMZ• Comme “pont” entre la DMZ et le LAN• Dans le LAN directement
• Remarque:– Terminer la connexion SSL avant WAP n’est pas supporté
Positionnement de WAP dans le réseau
#mstechdaysSécurité
• Les serveurs WAP connectés au même ADFS forment un groupe et partagent la même configuration (applications publiées, etc …)
• Aucune affinité cliente n’est requise: un utilisateur peut se connecter indifféremment à chaque serveur du groupe. Les considérations habituelles concernant l’affinité cliente au niveau de l’application Web demeurent
• WAP n’offre pas de dispositif d’équilibrage de charge nativement. Toute solution de Load Balancing fonctionnant correctement avec HTTP.SYS conviendra (NLB, Hardware Load Balancer)
Répartition de charge
Web Application Proxy
Web Application Proxy
Web Application Proxy
AD FS
AD FS
AD FS Config. Store
#mstechdaysSécurité
• La question clé est de savoir si vous allez avoir besoin de KCD• KCD est requis pour mettre en place de la SSO avec une
application Web non “claims aware” (utilisation de IWA dans ce cas)
• Mise en place KCD:– WAP doit appartenir à un domaine, ainsi que le serveur Web– L’application Web doit utiliser l’authentification Windows intégrée – Un relying party trust “non claims” doit être créer au niveau ADFS
• Notes:– Il est possible de créer un domaine/forêt dédié à WAP puisque la KCD cross-
domaine/forêt est maintenant supportée (http://technet.microsoft.com/en-us/library/hh831477.aspx)
– Possibilité d’utiliser des Read-Only DCs pour plus de sécurité
Joindre ou ne pas joindre le domaine ?
#mstechdaysSécurité
• Chaque application Web publiée doit avoir un certificat SSL correspondant au nom public (par ex sharepoint.contoso.com)
• Les certificats de type Wildcard ou avec SAN sont supportés (par ex: *.contoso.com)
• Il est conseillé d’utiliser des certificats d’autorités publiques pour faciliter les accès depuis des devices non gérés (tablette à la maison par ex)
Certificat de l’application Web publiée
#mstechdaysSécurité
• Pré-authentification ADFS:– Clients ADFS passifs (navigateurs Web)– MS Office Forms-based Auth (MSOFBA) – Word,
Excel…– OAuth2 – clients ADFS actifs (modern apps, DRS)
• Pré-authentification non-ADFS:– Authentification “Pass through” - Legacy Rich Clients
(NTLM/Basic)– Hybrid Publishing (certificat client)
Pré-authentification
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Compatibilité avec les applications Microsoft
Le client Lync peut être publié en mode “Pass through”
Le trafic SIP de Lync doit être géré directement par le serveur Lync Edge
Limitations connues: pas de support de publication HTTP, certains clients Lync ne supportent pas SNI
OWA peut être publié avec pré-authentification ADFS + KCD vers le serveur CAS Exchange
ActiveSync et Outlook Anywhere peuvent être publiés en mode “Pass through” (donc sans pré-authentification)
Certaines anciennes versions d’ActiveSync ne supportent pas SNI
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Compatibilité avec les applications Microsoft
Office 365 Hybrid Scenario: Web Application Proxy authentifie par certificat client les requêtes venant du cloud et à destination des serveurs « on premise ».
Permet « Search and Business connectivity Services »
SharePoint peut être publié avec pré-authentification.SharePoint authentification “claims based” ou Windows/Kerberos (via KCD).
Web Application Proxy ne supporte pas la publication d’URL de type https://*.apps.contoso.com (Wilcard). En conséquence, la publication SharePoint Apps doit être effectuée pour chaque domaine.
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Autre Scénarii de Publication
Microsoft Dynamics CRM : Pré-Authentification avec ADFS pour les clients Web
Connecteur Outlook CRM nécessite une pré-authentification de type “pass-through “
Web Application proxy peut être utilisé pour publier la fonctionnalité “Workplace Join”. Les utilisateurs externes ayant enregistré leur(s) device(s) à l’organisation bénéficieront du SSO et du 2ème facteur d’authentification
Les administrateurs peuvent limiter l’accès aux ressources uniquement pour les devices enregistrés
Workplace Join
Work Folders Nouvelle solution de synchronisation de fichiers permettant à l’utilisateur de synchroniser ses fichiers entre des ressources internes et son device quel que soit l’endroit où il se trouve
Web Application Proxy permet la publication de ces ressource (work folders) et applique l’authentification multi-facteur
Sécurité#mstechdays
WEB APPLICATION PROXY (WAP)
Architecture & Administration
#mstechdaysSécurité
Administration simplifiée
Installé en tant que role service, accessible depuis le server manager
Administration intégrée à la console de gestion des accès distants (VPN, DA)
Administrable depuis PowerShell
Scalability – possibilité de créer une ferme de serveurs WAP
Monitoring et troubleshooting:
Best Practices Analyzer (BPA)Windows Event LogSCOM packCompteurs de Performance
#mstechdaysSécurité
• La configuration de WAP est stockée dans ADFS
Stockage de la configuration
Sécurité#mstechdays
WEB APPLICATION PROXY (WAP)
Scénario : Flux HTTP relatifs à la publication d’une application Web « Claims Aware» avec Pré-authentification ADFS
#mstechdaysSécurité
Requête initiale du clientAuthentification ADFSDemande du authToken WAP au serveur ADFSValidation du authToken par WAPAuthentification sur l’application publiée
Flux vers une “claims aware” web app
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOB
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOB
GET
307
#mstechdaysSécurité
Requête initiale du clientAuthentification ADFSDemande du authToken WAP au serveur ADFSValidation du authToken par WAPAuthentification sur l’application publiée
Flux vers une “claims aware” web app
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOB
GETEdge token
GETEdge toke
n
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOBUser
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://lob.contoso.com
LOBUser
AD FS SSO
AD FS SSO
AD FS SSO
302
302
#mstechdaysSécurité
Requête initiale du clientAuthentification ADFSDemande du authToken WAP au serveur ADFSValidation du authToken par WAPAuthentification sur l’application publiée
Flux vers une “claims aware” web app
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOBUser
GET Edge token
GET Edge token
EdgePolicies
ApplicationPolicies
AD FS SSO
AD FS SSO
AD FS SSO
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOB
User
Proxy
Proxy
307
307AD FS SSO
#mstechdaysSécurité
Requête initiale du clientAuthentification ADFSDemande du authToken WAP au serveur ADFSValidation du authToken par WAPAuthentification sur l’application publiée
Flux vers une “claims aware” web app
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOBUser
302
Proxy
Proxy
302
Edge Cookie
Edge Cookie
QueryString
AD FS SSO
#mstechdaysSécurité
Requête initiale du clientAuthentification ADFSDemande du authToken WAP au serveur ADFSValidation du authToken par WAPAuthentification sur l’application publiée
Flux vers une “claims aware” web app
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOBUser
GET LOB
token
EdgePolicies
ApplicationPolicies
GET LOB
tokenAD FS SSO
AD FS SSOAD FS SSO
Edge Cookie
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Perimeter network Internal network
User
`
Web Application
Proxy
LOB app(Claims based)
AD
AD FS
http://lob
https://adfs.contoso.com
https://adfs.contoso.com
Internet
WAP
App Policies
https://claimsapp.contoso.com
LOBUser
LOB
LOB
200Edge Cookie
LOB
Edge Cookie LOB
LOB CookieLOB Cookie 200
LOB Cookie
Edge Cookie
AD FS SSO
302
302
#mstechdaysSécurité
En résumé…
#mstechdaysSécurité
• WAP est le nouveau produit Microsoft pour la publication d’application Web.
• WAP supporte la stratégie BYOD• WAP s’intègre dans une stratégie
globale d'accès distant (RDI, VPN, DA, …)
• Le groupe produit est preneur de tout feedback.
Conclusion
MICROSOFT CONF IDENT IAL – INTERNAL ONLY
Q&A
#mstechdaysSécurité
Depuis votre smartphone sur :http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !!!Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !
Donnez votre avis !
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Digital is business