Overslaan naar inhoud
Nederlands
  • Er zijn geen suggesties want het zoekveld is leeg.

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:

  1. Managed Identity
  2. Certificaatgebaseerde authenticatie
  3. 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 gebruikersidentificatie

Mavim 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.