Beveiligingsmaatregelen voor Mavim-integraties met Microsoft Entra ID en Microsoft Graph
Dit artikel beschrijft de beveiligingsmaatregelen die Mavim heeft geïmplementeerd voor integraties met Microsoft Entra ID (voorheen Azure Active Directory) en Microsoft Graph. De beschreven maatregelen hebben betrekking op het beheer van secrets en certificaten, authenticatie, beschikbaarheid, logging en monitoring, identiteitsvalidatie en beveiligde netwerkcommunicatie
Beheer van Secrets, Tokens en Signing keys
Klantbeheerde credentials
Mavim slaat geen OAuth-client secrets, Signing keys of Microsoft Graph-toegangstokens op namens klanten. Klanten blijven zelf verantwoordelijk voor het beheer van de applicatieregistraties, credentials en sleutels binnen hun eigen Microsoft Entra-omgeving.
Authenticatie van de Mavim Webapplicatie
De Mavim Single Page Application (SPA) maakt gebruik van de OAuth 2.0/2.1 Authorization Code Flow met PKCE (Proof Key for Code Exchange). Hierdoor is geen client secret vereist binnen de browsergebaseerde applicatie.
Opslag van Mavim-credentials
Wanneer Mavim gebruikmaakt van vertrouwelijke clientapplicaties worden client secrets:
- Uitsluitend opgeslagen in Azure Key Vault
- Versleuteld opgeslagen ("encrypted at rest")
- Beveiligd via Azure Role-Based Access Control (RBAC)
- Benaderd via Managed Identities
- Niet opgeslagen in broncode
- Niet opgenomen in container-images
- Niet opgeslagen in CI/CD-pijplijnen
- Niet vastgelegd in applicatielogs
- Niet blootgesteld aan eindgebruikers of browsers
Microsoft Token Signing Keys
Mavim beheert geen signing keys voor Microsoft Entra ID-tokens. Deze sleutels worden uitgegeven en automatisch geroteerd door Microsoft. Tokenvalidatie vindt plaats op basis van de door Microsoft gepubliceerde openbare sleutels.
Gebruik van tokens in de browser
Microsoft Authentication Library (MSAL.js) slaat authenticatietokens tijdelijk op in de sessieopslag van de browser. Dit is het standaard en door Microsoft aanbevolen gedrag voor Single Page Applications.
Kenmerken van deze tokens:
- Korte geldigheidsduur (doorgaans 60 tot 90 minuten)
- Alleen beschikbaar gedurende de browsersessie
- Automatische vernieuwing indien vereist
Aanvullende beveiligingsmaatregelen
Ter beperking van risico's rondom browseropslag van tokens implementeert Mavim:
- Regelmatige beveiligingsscans op XSS-kwetsbaarheden
- Een Content Security Policy (CSP)
- Het principe van minimale rechten (least privilege)
- Veilige tokenafhandeling via Microsoft-authenticatiebibliotheken
Credential Rotatie en Authenticatiemethoden
Beleid voor secret-rotatie
Mavim hanteert een formeel beleid voor het beheer van credentials binnen Azure-applicatieregistraties.
Hierbij gelden de volgende eisen:
- Maximale geldigheidsduur van client secrets: 12 maanden
- Verplicht roteren vóór vervaldatum
- Gedocumenteerde rotatieprocedures
- Overlappende geldigheid van oude en nieuwe secrets om downtime te voorkomen
- Monitoring en waarschuwingen bij naderende expiratie
Voorkeursmethoden voor authenticatie
Voor toegang tot Microsoft Graph geeft Mavim de voorkeur aan:
- Managed Identity
- Certificaatgebaseerde authenticatie
- Client secrets alleen wanneer technisch noodzakelijk
Uitzonderingen
Sommige Microsoft-integraties, zoals bepaalde Power Platform Custom Connectors, vereisen het gebruik van client secrets. Ook voor deze situaties gelden dezelfde beheermaatregelen, inclusief:
- Maximale geldigheidsduur
- Rotatieprocedures
- Monitoring
- Expiratiebewaking
Bescherming Tegen Overbelasting en Misbruik Rate Limiting
Webapplicaties
Mavim maakt gebruik van Azure Front Door Web Application Firewall (WAF) in Prevention Mode. Hierbij worden Microsoft-beheerde beveiligingsregels toegepast en worden limieten per client-IP ingesteld om ongewenst of geautomatiseerd verkeer te beperken.
API's
Azure API Management (APIM) biedt:
- Request throttling
- Rate limiting
- Verbruiksquota
- Validatie van subscription keys
Verzoeken met ongeldige subscription keys worden afgewezen voordat zij de achterliggende systemen bereiken.
Web Application Firewall-inspectie
Een aanvullende beveiligingslaag wordt geleverd door Azure Application Gateway WAF, die inkomend verkeer inspecteert voordat dit wordt doorgestuurd naar de Azure Kubernetes Service (AKS)-omgeving.
DDoS-bescherming
Publieke endpoints worden beschermd door:
- Azure DDoS Protection
- De standaard DDoS-bescherming van het Azure-platform
Monitoring en waarschuwingen
Azure Monitor bewaakt continu:
- Geblokkeerde WAF-verzoeken
- HTTP 429-fouten (rate limiting)
- HTTP 5xx-fouten
- Beschikbaarheid van endpoints
Piekbelasting tijdens aanmelden
Authenticatieverkeer wordt afgehandeld door Microsoft Entra ID. Hierdoor profiteert Mavim van de schaalbaarheid, throttlingmechanismen en beschikbaarheidsvoorzieningen van Microsoft tijdens periodes van verhoogde aanmeldactiviteit.
Logging, Auditing en Monitoring Logging binnen Microsoft Entra ID
De volgende loggegevens worden verzameld:
- Aanmeldingslogs
- Auditlogs
- Wijzigingen in toestemmingen (consent)
- Wijzigingen in rechten
- Wijzigingen in credentials
- Microsoft Graph-activiteitslogs
Deze logs worden via Diagnostic Settings verzonden naar Azure Log Analytics.
Retentie
Loggegevens worden gedurende zes maanden bewaard.
Toegangsbeheer
Toegang tot de loggingomgeving wordt beheerd via Azure RBAC.
Applicatielogging
Mavim registreert onder meer:
- Succesvolle authenticaties
- Mislukte authenticaties
- Tokenvalidatiefouten inclusief foutreden
- Microsoft Graph-aanroepen
- HTTP-statuscodes
- Request-ID's
- Correlation-ID's
- Tracinginformatie
Vastgelegde metadata
Voor onderzoek en troubleshooting worden de volgende gegevens vastgelegd:
- Tijdstip
- Tenant-ID
- Applicatie-ID
- Object-ID
- Correlation-ID
Uitgesloten gegevens
Om privacy en gegevensminimalisatie te waarborgen worden de volgende gegevens niet opgeslagen:
- Access tokens
- Refresh tokens
- Client secrets
- Request payloads
- Response payloads
- User Principal Names (UPN's)
- E-mailadressen
Beveiligingswaarschuwingen
Automatische meldingen worden gegenereerd bij:
- Nieuwe consent grants
- Toegevoegde credentials aan applicatieregistraties
- Herhaalde mislukte aanmeldpogingen boven een ingestelde drempelwaarde
Validatie van Identiteiten en Microsoft Graph-Gegevens
Validatie van tokens
ID Tokens
ID-tokens worden gevalideerd met Microsoft-authenticatiebibliotheken op:
- Issuer
- Audience
- Expiratiedatum
- Nonce
Access Tokens
Backend-services controleren:
- Digitale handtekening
- Issuer
- Audience
- Expiratiedatum
- Vereiste scopes
Multi-tenant toegangscontrole
Toegang wordt beperkt tot vooraf goedgekeurde tenants via een allow-list in de backend.
Betrouwbare gebruikersidentificatieMavim gebruikt uitsluitend de combinatie van:
- Tenant ID (tid)
- Object ID (oid)
als unieke gebruikersidentiteit.
Wijzigbare gegevens zoals e-mailadressen en User Principal Names worden niet gebruikt voor authenticatie- of autorisatiedoeleinden.
Gebruik van Microsoft Graph-gegevens
Mavim vraagt uitsluitend de gedelegeerde machtiging User.Read aan.
Gebruikersgegevens uit Microsoft Graph, zoals weergavenamen:
- Worden uitsluitend gebruikt voor presentatie in de gebruikersinterface
- Worden niet gebruikt voor autorisatie
- Worden niet gebruikt voor accountkoppeling
- Worden behandeld als niet-vertrouwde invoer
Bescherming tegen injectieaanvallen
Alle externe invoer wordt verwerkt met standaard output-encoding van het gebruikte framework. Het rechtstreeks renderen van HTML afkomstig uit Microsoft Graph wordt niet toegestaan.
Veilige Verbindingen en HTTPS-afdwinging
TLS-configuratie
Alle publieke Mavim-services ondersteunen minimaal TLS 1.2.
Dit geldt voor:
- Azure Front Door
- Azure API Management
- Azure Application Gateway
Waar mogelijk wordt tevens TLS 1.3 gebruikt.
Daarnaast worden uitsluitend goedgekeurde cipher suites toegestaan.
HTTP Strict Transport Security (HSTS)
Mavim past de volgende HSTS-header toe:
Strict-Transport-Security: max-age=31536000; includeSubDomains (1 jaar)Deze configuratie wordt toegepast op:
- De SPA-omgeving
- API-endpoints
- Foutmeldingen
- Backendresponses
HTTPS-afdwinging
Verkeer via HTTP wordt automatisch doorgestuurd naar HTTPS.
Daarnaast geldt:
- Poort 80 wordt uitsluitend gebruikt voor redirects
- API's accepteren alleen HTTPS-verkeer
- Onversleutelde toegang wordt niet ondersteund
Redirect URI's
Alle OAuth redirect URI's en authenticatie-callbacks zijn uitsluitend via HTTPS bereikbaar.
Certificaatbeheer
TLS-certificaten worden:
- Automatisch beheerd
- Automatisch vernieuwd
- Continu bewaakt op geldigheid
Samenvatting
Mavim hanteert een gelaagde beveiligingsarchitectuur voor integraties met Microsoft Entra ID en Microsoft Graph. Deze architectuur omvat:
- Veilige opslag van secrets in Azure Key Vault
- Gebruik van Managed Identities en certificaatgebaseerde authenticatie
- Gecontroleerde credential-rotatie
- Bescherming tegen DDoS-aanvallen en misbruik
- Uitgebreide logging en monitoring
- Strikte validatie van tokens en gebruikersclaims
- Veilige verwerking van Microsoft Graph-gegevens
- Verplichte TLS-, HSTS- en HTTPS-beveiliging
Deze maatregelen dragen bij aan de vertrouwelijkheid, integriteit en beschikbaarheid van Mavim-services en sluiten aan bij algemeen geaccepteerde Microsoft-beveiligingsstandaarden en cloudbeveiligingsprincipes.