SAML Single Sign On

Kan je met SAML aanmelden op een Windows desktop?

Wat is SAML

SAML staat voor Security Assertion Markup Language. Het is een op XML gebaseerde standaard voor het uitwisselen van authenticatie- en autorisatiegegevens tussen domeinen. Het XML gedeelte wijst er op dat de uitwisseling gebeurt door web services. Authenticatie- en autorisatiegegevens worden gecodeerd door certificaten. Doordat er geen wachtwoord wordt uitgewisseld is dit veilige manier van authentiseren.

Implementatie van SAML

De implementatie van SAML bestaat uit twee delen. Deze twee zijn bij elkaar bekend en vertrouwen elkaar.

  • IDP, dit staat voor identity provider. Dit is de database met login gegevens. Hier meld je je aan met je gebruikersnaam en wachtwoord en eventueel Multifactor in welke vorm dan ook. Nadat je geauthentiseerd bent geeft de identity provider dit door aan de service provider.
  • SP, dit staat voor service provider. Als je met een webbrowser naar een applicatie toe gaat stuurt deze je door naar de IDP om je te authentiseren. De service provider ontvangt het resultaat hiervan en gebruikt dit om je aan te melden bij de applicatie.

Voordelen

  • Single sign on (SSO) naar alle applicaties die SAML ondersteunen.
  • Er hoeft geen trust aangemaakt te worden tussen de domeinen.

Nadelen

  • Als SSO niet werkt kan je nergens bij. Omdat er geen wachtwoord uitgewisseld wordt, is deze ook niet bekend bij de “Service Provider” en kan je niet even overschakelen op gebruikersnaam en wachtwoord om aan te melden.
  • Door XML en certificaten is het lastig te implementeren en trouble shooten.

Waar kennen we SAML van?

Ik denk dat bijna iedereen die een mobiele telefoon heeft al heel vaak wordt geauthentiseerd door middel van SAML zonder dit zelf te weten. Je kan namelijk heel vaak op applicaties aanmelden met je Facebook, Instagram, Fibit of Google-account. En dit werkt meestal met SAML.

Alternatief voor SAML

Een alternatief voor SAML is Auth0. Dit werkt eigenlijk op dezelfde wijze als SAML. Het is een iets nieuwere standaard geïntroduceerd door Google. Google gebruikt Auth0 om aan te melden bij alle Google-applicaties. Daar waar SAML iets meer controle geeft over wat wordt uitgewisseld is Auth0 iets sneller op mobiel en gebruikt JSON.

Schema inloggen SAML

 

  1. Medewerker John opent een web browser en gaat naar website applicatie A
  2. Website applicatie A wil weten wie John is en of het echt John is. Website applicatie A heeft zelf geen authenticatie service en stuurt John door naar Identity Provider B in de vorm van een SAML request.
  3. Identity Provider B laat John inloggen met naam, wachtwoord en eventueel een vorm van MFA. Als dit succesvol verloopt, encrypt hij dit in een “Assertion“ en stuurt dit terug naar de Service Provider in de vorm van een SAML response. In een assertion zitten ook gegevens van John. Bv een ID of emailadres of eventueel groepslidmaatschappen. Dit moet geconfigureerd worden in de Identity Provider trust tussen IDP en SP. Dit worden, in technische termen, vaak claims genoemd.
  4. De Service provider “website applicatie A” decrypt de ontvangen assertion en weet nu dat het inderdaad John is en wat zijn ID of emailadres is. Met deze gegevens laat hij John toe in de applicatie.

Hoe werkt nu precies de laatste stap?

Dit is het stukje waar ik het langst over deed om dit te begrijpen en werkend te krijgen in mijn testomgeving.

De Service Provider weet nu dat John echt John is, omdat hij succesvol bij iemand anders geauthentiseerd is en wat daar zijn ID of emailadres is. Dat ik ook bij Google geauthentiseerd ben, wil in dit geval, niet zeggen dat ik dan bij Microsoft ook iets mag, ook al weten ze wie ik ben.

Dit werkt als volgt

De Service Provider moet zelf een Identity store aanleggen. Hier zit voor elke medewerker een record in met een uniek ID. Dit is meestal en nummer of emailadres. Aan deze medewerker worden rechten gekoppeld, met daarin de informatie over wat ze mogen in de applicatie. Dit noemen ze ook wel “shadow Users”. De ID uit de assertion wordt gekoppeld aan de ID bij de Service Provider. En zo kan de gebruiker aan de slag.

Kan je via SAML authenticatie op een Windows desktop aanmelden?

Als je bij Windows aanmeldt met je gebruikersnaam en wachtwoord ontvang je een kerberos-ticket. Met dit kerberos-ticket krijg je toegang tot resources. Met SAML wordt geen wachtwoord uitgewisseld. Daarom zit daar een uitdaging.

Een andere manier om een kerberosticket te krijgen, is op dezelfde wijze aanmelden als met een smartcard. Je maakt daarbij gebruik van een user certificaat. Je hebt dus voor elke medewerker een “shadow user account” nodig met een bijbehorend user certificaat. Om een user certificaat te krijgen heb je dus ook een certificaat server nodig. Vervolgens koppel je de SAML-name-ID aan de shadow user en certificaat.

Bij Citrix hebben “federated-authentication-service”, dit is de software die dit allemaal regelt.

Wat kan je als identity provider gebruiken.

Er zijn inmiddels veel providers te vinden. Hieronder de bekendste:

  • OKTA: Okta is een cloud gebaseerde provider. Het biedt een universal directory die je kan uitbreiden met bv multifactor authenticatie. Geen active directory van Microsoft meer nodig.
  • Azure AD: Azure AD is ook in te stellen als IDP. Maak hiervoor een applicatie aan als geen galerij applicatie en kies Single Sign On met als optie SAML.
  • Citrix ADC (Netscaler): Citrix ADC is geschikt als IDP of als SP. Als IDP heb je wel een directory nodig waar de ADC met een LDAP query de gebruikers gegevens uit kan halen. Daar kan je bijvoorbeeld je on premisse Active Directory voor gebruiken.
  • Amazon web services
  • Social media: En natuurlijk ook de sociaal media als facebook en Google, maar ik denk niet dat je die voor een bedrijf wil gebruiken.

Handige links

Oasis
SAML Developers tools
Citrix FAS
OKTA
Amazon web services

Meer weten?

Wil je meer weten over SAML, neem dan gerust contact met ons op.

Citrix Intelligent Workspace om je dagelijkse taken mee af te handelen

De Citrix Intelligent Workspace is een nieuwe manier om dagelijkse taken af te handelen zonder hier steeds afzonderlijke Windows-programma’s voor op te hoeven starten. De microapps handelen in de achtergrond authenticatie af en synchroniseren de wijzigingen met de databases, terwijl je zelf verder kunt met een volgende taak of actie.

Maar hoe start je nu met Citrix Intelligent Workspace?

De Intelligent Workspace is eigenlijk een ‘add-on’, een extra laag, bovenop de bekende Citrix Workspace. Citrix Workspace is de plek waaruit published apps worden gestart, voorheen bekend als de portal of ‘Citrix StoreFront’. Het verschil met de ‘StoreFront’ die nu nog bij de meesten wordt gebruikt, is dat de ‘Workspace’ portal een Citrix Cloud service is.

Citrix Workspace is de enige cloud-based workspace oplossing die in één portal Windows-applicaties (‘on-premises’ en/of in private/public cloud) ,SaaS-applicaties en ‘Follow-me data’ (‘on-premises’ en/of in private/public cloud) biedt, met de intelligente microapps als een extra bonus. Hiermee is de Citrix Workspace portal vergeleken met andere cloud-based workspace portals, zonder twijfel de meest complete en gebruikersvriendelijke oplossing.

Dat is dus stap één. De ‘on-premises’ omgeving moet gekoppeld worden aan Citrix cloud. De applicaties, de images en de verdere configuratie blijft verder hetzelfde.

De applicaties, de images en de verdere configuratie blijft gelijk aan hoe die nu is. Met behulp van de cloud connector wordt die bestaande omgeving gekoppeld aan Citrix Cloud. Hierdoor is de bestaande omgeving te beheren met behulp van de Citrix Cloud control panel. Dat kan vanaf elke gewenste locatie met een gewone internet-browser.

Automatische updates

Het grote voordeel is dat de noodzakelijke (security) updates vanaf dat moment automatisch worden uitgevoerd. Je bent altijd up-to-date. En je hebt nog steeds zelf de controle over de images en XenApp/XenDesktop (Virtual Apps and Desktops) instanties, ongeacht of je die nu ‘on-premises’ wilt gebruiken of bijvoorbeeld in Microsoft Azure of AWS.

Groeistrategie naar de cloud

Dit maakt ook het gebruik van ‘hybride’ scenario’s mogelijk, dus een geleidelijke groeistrategie naar de cloud. Naarmate er meer ‘backend’ data als SaaS-dienst wordt afgenomen is het verstandig om de werkplek-instanties (dus XenApp/XenDesktop) zo dicht mogelijk bij de data te hosten, het is dus raadzaam om hier tijdig mee te starten.

Let op! Als je nu een ‘XenDesktop/XenApp’ (Virtual Apps and Desktops) licentie hebt, is dat waarschijnlijk een ‘on-premises’ licentie. Informeer naar de ‘trade-up’ mogelijkheden om deze licenties op te waarderen van ‘on-premises’ naar ‘Cloud’. Verder is de ‘Citrix Workspace’ licentie niet hetzelfde als ‘Virtual Apps and Desktops’ (ook voor deze transitie zijn trade-ups mogelijk).

Intelligent feed inschakelen

Als stap één is gezet is stap twee eigenlijk verrassend simpel. Stap twee bestaat uit het inschakelen van de Intelligent feed en het maken van een of meer API-koppelingen met de backend of SaaS-dienst. Dit betekent ook dat er een subset aan data-records gecached gaat worden in Citrix Cloud. Om compliant te zijn/blijven met de AVG/GDPR regels is dus een verwerkers-overeenkomst (of processing agreement) nodig.

Verwerkers-overeenkomsten

De formele overeenkomsten met Citrix zijn centraal beschikbaar in het Citrix Trust Center. De overeenkomsten zijn generiek en identiek voor alle Citrix afnemers en logischerwijs opgesteld in het Engels. Laat je juridische afdeling, security officer en/of functionaris gegevensbescherming altijd beoordelen of de contracten in lijn zijn met die van je organisatie.

Als de contracten akkoord zijn, kan het echte werk beginnen, het definieren van vaak voorkomende taken die vanaf nu als microapp beschikbaar zijn. De microapps worden ontwikkeld en gekoppeld aan een of meer testgebruikers. Als er genoeg microapps en meldingen zijn ontwikkeld ontstaat er een ‘activity feed’, te vergelijken met bijvoorbeeld een Facebook-tijdlijn.

Je begint met een enkele API-koppeling en een eenvoudige microapp (bijvoorbeeld; ‘wie is er vandaag jarig?’) en bouwt dat uit met meer API-koppelingen en microapps. Simpele taken zijn snel vertaald in simpele microapps, voor complexe taken zijn soms zelfs meer dan een microapp nodig. Werk met stroomdiagrammen en bouw je microapp verzameling steeds verder uit.

Tijdens het ontwikkelen van de microapps kan de ‘normale’ workspace, dus de portal met published apps, gewoon worden gebruikt. Het definieren en ontwikkelen van microapps zorgt dus niet voor hinder voor andere medewerkers. De Intelligent Workspace (met de microapps) wordt pas ‘in productie’ gezet als de ‘feed’ ook echt toegevoegde waarde biedt ten opzichte van de ‘oude’ werkplek. En de ‘oude’ applicaties blijven altijd beschikbaar.

Voor het ontwikkelen van microapps is enige kennis en ervaring nodig die je zelf opbouwt tijdens het ontwikkeltraject. Neem daar ook de tijd voor en maak waar nodig gebruik van externe bronnen (zoals de Citrix community en Citrix consultants). Wij helpen je graag!

Meer weten over microapps en de Intelligent Workspace? Neem contact met ons op.

Webinar: Windows Virtual Desktop with Liquit

Why should I use FSLogix in combination with another UEM tool

Door Vincent van Zeijl
27 November 2020

Recently I had the opportunity to play around with FSLogix. The client I work for has a Citrix Virtual Apps and Desktops (CVAD) environment powered by PVS nonpersistent VDI’s and Ivanti Workspace Control. We had to prepare the environment for the implementation of Office 365. As many of you know, working with O 365 on non-persistent machines has some challenges as Microsoft chose to store Outlook and Teams data in the user profile.

To provide the users with a good user experience based on this cloud based office suite it’s possible to implement FSLogix Containers. Our environment however contains lots of users so the FSLogix containers could consume a lot of diskspace. Let’s take a look at our options.

FSLogix

FSLogix offers 4 different tools. In this blog we will discuss the Profile container and the Office365 container. App masking and Java versioning will not be discussed here, even though these two are very useful tools as well.

With a profile container the FSLogix agent will create a profile disk and redirect different user settings to this user attached profile disk. This way the users profile will act like a local profile in a non-persistent VDI-session. The Office365 container feature will do the same, but it will only redirect office user settings to the container. It is a small subset of the profile container feature.

Redirected Folders

The first decision we had to make was: ‘do we still need redirected folders?’. After all, it is possible to store all documents in the FSLogix profile container. However, you can only use these documents from within the container inside the VDI-session. The same documents will not be available on a physical workstation. Another drawback is losing the ability to work with versioning on the file share. This means that a profile reset could delete all documents of the user and that could make that user very unhappy.

If OneDrive is used as the only file location then it would be perfectly okay to store the OneDrive cloud cache in de profile container. Versioning is done in the cloud and a profile reset will only clear the cache. Nothing will be lost. In our environment both physical workstations and VDI’s are used so we do still need the redirected folders. Not a problem as folder redirection always worked fine for us.

Storage Capacity

As said before we have a lot of users in our environment. If each user would create a profile container we would need a lot of storage. We wanted the FSLogix container to be as small as possible and we would like to use it only for the benefit of a better user experience. So we still use redirected folders to keep the container as small as possible. We ended up by only using the Office365 container feature to improve the O365 user experience. This is done by caching the cloud cache in the container attached to our non-persistent VDI’s. With a GPO it is possible to enable or disable the usage of the Office365 container per Office application. We decided to start with enabling Outlook only, knowing we could enable Onedrive or Teams later if we wanted to. As this could expand the containers and storage needs by quite a lot we chose to be carefull and not enable too much at once.

We also started with only one app as adding more apps to the container is easier then removing them. FSLogix has no auto shrink option built-in yet (however there are scripts available developed by the community).

Logon speed

We found that creating, attaching and filling the FSLogix profile container for a new user takes about 20 seconds of the logon. And even if the profile container already exists, still a 15 second is added to the users logon duration. This was established using Citrix Director. I know that the FSLogix profile container can speed up user logons for users with large roaming profiles, but in our case we use Ivanti Workspace Control with Zero profiling. Nothing seems better than Zero profiling and who is still using roaming profiles these days?

We also found out that the FSLogix Office365 container acts a little bit different compated with the FSLogix Profile container. It is not really part of the logon process, although it is attached at the logon of the user. Using only the Office365 container did not delay our logon process, but it did improve the Office 365 user experience.

FSLogix vs Ivanti Workspace Control

We ended up using best of both worlds. Ivanti Workspace Control makes the user log-on really fast with zero profiling. We keep the ability to manage user settings per application and have a lot of flexibility. On the other hand Ivanti has no tooling available to boost the user experience of Office 365 as FSLogix can do. The combination of using this two tools gives us the best of both worlds. The same could be said of other well-known tools like Citrix WEM, Profile Unity or VMware UEM. We are very happy the FSLogix Office container feature proved to work perfectly together within our existing environment and zero profiling solution.

If you start using FSLogix for your Office 365 applications disable the capturing of Office settings in your other UEM tool. FSLogix will redirect the office settings to the Office container to make them available when a user logs in to his non-persistent VDI-session.

Within the newest release of Ivanti Workspace Control you can manage all FSLogix settings from the Ivanti console. You do not need to configure the FSLogix settings with a GPO. This means it is very easy to manage your environment from just one console.

If you need more information about implementing Office 365, FSLogix or more, please contact us via sales.support@loginconsultants.nl

More info about the FSLogix Office Container

https://docs.microsoft.com/en-gb/fslogix/configure-office-container-tutorial