Zo ontsluit je interne webapplicaties op een Microsoft 365 werkplek
Maak interne webapplicaties veilig via het internet bereikbaar.
Wij kregen de vraag of wij een overheidsinstelling konden helpen bij het veilig ontsluiten van hun interne webapplicaties. Dit is onderdeel van een groter project waarbij een nieuwe werkplek wordt ontwikkeld op basis van de Microsoft 365 suite: Intune, Entra ID (voorheen Azure AD), Autopilot, Defender for Endpoint en Office 365. Deze webapplicaties waren alleen via een VDI omgeving bereikbaar, maar met de komst van Microsoft 365 wordt dat nu anders. VPN was geen optie, daarover hieronder meer, maar de webapplicaties direct benaderbaar maken vanaf het internet ook niet. Samengevat, zorg voor een flexibele ontsluiting die veilig is.
De voor ons relevante uitgangspunten bij dit project waren:
Functionele uitgangspunten
- De gebruikersmigratie zal gefaseerd plaatsvinden, gemigreerde en niet gemigreerde gebruikers moeten samen kunnen werken;
- De gebruikerservaring omtrent webapplicaties moet minimaal gelijk blijven;
- Geen aanpassingen aan de huidige werkplekomgeving en webapplicaties;
- Zo min mogelijk aanpassingen aan de bestaande infrastructuur;
- Platform onafhankelijk; ondersteuning voor Windows, MacOS, iOS/iPadOS en Android;
- BYOD en managed devices moeten onderscheiden kunnen worden. Per applicatie moet bepaald kunnen worden op welke typen deze beschikbaar mogen zijn;
- Op BYOD devices moet zero footprint worden afgedwongen.
Technische uitgangspunten
- Federatieve authenticatie, ook voor applicaties die dit niet ondersteunen;
- Device policies op basis van Entra ID conditional access;
- Single sign-on (SSO);
- Microsoft tenzij;
- Geen gebruik van VPN, tenzij dit niet anders kan;
- Zo min mogelijk gebruik van publieke IP adressen, het liefst één;
- Applicaties moeten beschermd worden met een web application firewall (WAF);
- Applicaties moeten beschermd zijn tegen DDOS aanvallen (layer 7);
- Alle relevante informatie moet naar de bestaande SIEM oplossing gestuurd worden.
Een reële, complete lijst.
Onze aanpak
Dat kan toch gewoon met cloud-native tools? Nee, de eerder genoemde uitgangspunten zijn niet met cloud- native tools te realiseren.
Wij hebben het F5 platform als basis gekozen om de oplossing te realiseren. BIG-IP is zowel veelzijdig als flexibel. Waar functionaliteit mist, is dit door middel van iRules alsnog te realiseren.
Ook kan het F5 platform voorzien in WAF en applicatieve anti-DDoS functionaliteit.
De oplossing
Functioneel
Een gebruiker bezoekt vanaf zijn Microsoft 365 werkplek de webapplicatie https://myapp.mycorp.nl. De gebruiker hoeft niet apart in te loggen en krijg zo dezelfde ervaring als een gebruiker heeft op zijn bestaande, interne werkplek.
Technisch
Een gebruiker maakt vanaf zijn Microsoft 365 werkplek verbinding met de interne applicatie MyApp. Deze is intern bereikbaar op https://myapp.mycorp.local. Extern is deze bereikbaar gemaakt via het F5 platform op https://myapp.mycorp.nl. Als de gebruiker https://myapp.mycorp.nl voor het eerst bezoekt wordt hij doorgestuurd naar Entra ID waar federatieve authenticatie plaatsvindt en conditional access wordt bepaald. De gebruiker wordt doorgestuurd naar het f5 platform waar de conditional access wordt afgedwongen. Voorbeelden van conditional access zijn het Entra ID groep lidmaatschap en managed- of BYOD device. Tot slot wordt met SSO automatisch ingelogd naar de achterliggende webapplicatie server. Automatisch inloggen gebeurt op basis van de SSO methode die de webapplicatie server ondersteund.
Hieronder zijn de stappen visueel weergegeven.
1. Gebruiker gaat naar de web applicatie https://myapp.mycorp.nl.
2. De gebruiker wordt doorgestuurd naar Entra ID om zich te authentiseren.
3. Na een succesvolle authenticatie krijgt de gebruiker toegang
4. Door middel van reverse proxy functionaliteit wordt de interne applicatie aan de gebruiker ontsloten.
4a. Door middel van SSO wordt de gebruiker ingelogd op de interne applicatie server.
Het F5 BIG-IP platform is de basis van deze oplossing. In deze oplossing biedt het F5 platform de volgende functionaliteit:
- Reverse proxy
- Server Name Indication (SNI)
- SSL offloading
- SSL herencryptie
- URL rewriting
- Authentication offloading
- SSO
- Conditional access
- Groep lidmaatschap controle
- Is het apparaat managed of unmanaged
- Zero footprint
Single Sign-on
De manier waarop authenticatie bij een webapplicatie plaatsvindt is onder te verdelen in verschillende methoden:
- Kerberos authenticatie;
- Federatieve authenticatie met een interne ADFS oplossing;
- Federatieve authenticatie met de externe Rijksweb ADFS oplossing;
- Form based authenticatie;
- Geen authenticatie, toegang beperkt op basis van source IP adres.
Kerberos authenticatie is ingericht door middel van ‘kerberos delegation’.
Voor de bestaande federatieve authenticatie koppelingen naar ADFS hebben wij ook kerberos delegation ingericht. Hierbij hebben we de interne ADFS omgeving via dezelfde URL als de applicatie beschikbaar gemaakt. Als voorbeeld https://adfs.mycorp.local is beschikbaar op https://myapp.mycorp.nl/adfs/ waarbij de verzoeken naar /adfs/ naar de ADFS server gestuurd werd. Hierdoor is voor bestaande federatieve authenticatie SSO te realiseren zonder dat aanpassingen nodig zijn aan de bestaande omgeving.
Een variatie hierop is de functionaliteit die geboden wordt via Rijksweb. Ook het authenticatie platform van Rijksweb is beschikbaar gemaakt via een applicatie URL.
Een aantal externe applicaties zijn alleen toegankelijk zonder authenticatie vanaf het interne netwerk. Een voorbeeld hiervan is de LexisNexis Newsdesk. Ook dit type diensten hebben we ontsloten via URLs van de organisatie, bijvoorbeeld https://lexisnd.mycorp.nl.
Invulling van uitgangspunten
Een groot aantal uitgangspunten zijn hierboven al beschreven. Hieronder zijn een aantal interessante uitgelicht.
Eén IP-adres
Voor het ontsluiten van alle webapplicaties over één IP adres is gebruik gemaakt van Server Name Indication, ofwel SNI. Dit maakt het mogelijk om meerdere TLS/SSL certificaten te gebruiken. Op het F5-platform vertaalt dit zich in één Virtual server, één Access Policy en één Per-Request policy.
Zero footprint
Met zero footprint wordt bedoelt dat geen data lokaal op het apparaat wordt opgeslagen.
Zero footprint is door middel van door ons ontwikkelde iRules toegevoegd, dit is geen standaard F5 functionaliteit. Indien een gebruiker vanaf een BYOD device een document probeert te downloaden wordt een informatieve pop-up getoond in plaats van dat het document gedownload wordt.
Uitdaging, Sharepoint 2019
Intern bestaat sharepoint 2019 uit verschillende componenten. Voorbeelden hiervan zijn de browser editors voor Word, Excel, Powerpoint en Onenote, ofwel de office online functionaliteit. Om deze via een reverse proxy constructie beschikbaar te maken op een externe URL is extra logica nodig. Absolute en relatieve URLs worden door elkaar heen gebruikt net als verschillende soorten encoding. Het toevoegen van een alternate access mapping in Sharepoint lost dit maar beperkt op.
Daarnaast biedt Sharepoint de mogelijkheid om Office documenten in native applicaties te openen in Word, Excel, Powerpoint of Onenote. Hierbij wordt echter de bestaande inlogsessie van de browser niet overgenomen. Met name op MacOS is dit uitdagend, maar voor alle platformen hebben wij een werkende oplossing gerealiseerd.
Toch een beetje VPN
Het uitgangspunt om geen gebruik te maken van VPN komt voort uit de ‘VPN is dead’ filosofie. VPN gaat vaak slecht samen met de opgestelde Enterprise security architectuur. Echter is het in de praktijk niet met alle protocollen mogelijk om deze veilig over het internet te gebruiken. Het beste voorbeeld hiervan zijn Windows shares, het CIFS protocol.
Het F5 platform biedt VPN functionaliteit waarbij onderscheiden wordt op flexibiliteit. Op alle gevraagde besturingssystemen is door middel van Intune de VPN configuratie geplaatst. De authenticatie vindt plaats door middel van een user certificate.
Uitdaging, F5 VPN op MacOS met client certificate authenticatie
Op moment van schrijven levert het door Intune geconfigureerde profiel geen werkende situatie op MacOS. Dit is het geval bij het ‘F5 Access’ VPN profiel waarbij gebruik gemaakt wordt van client certificate authenticatie. Wel is het mogelijk om in Intune om dit probleem heen te werken door middel van een Custom VPN profiel.
Samengevat
We hebben een situatie gecreëerd waarbij zowel de veiligheid als flexibiliteit optimaal zijn gebleven. De veelzijdigheid van het F5 BIG-IP platform hielp hier enorm bij. De extra door ons toegevoegde iRule functionaliteit hebben we dusdanig kunnen maken dat dit goed te beheren is. Wij houden van het KISS principe.
Deze oplossing is ook goed in te zetten in andere omgevingen waarbij een Microsoft 365 of andere cloud werkplek is of ontwikkelt wordt. Meer weten? Neem gerust contact met ons op.
Vacatures
Hebben we je interesse gewekt en wil je ook aan dit soort uitdagende projecten meewerken? Kijk dan op onze site voor de huidige vacatures.