TSU-07: Insecure custom authentication

TSU-07 gaat over beveiligingsproblemen die ontstaan door zelfgebouwde (maatwerk) authenticatie in Mendix-applicaties. Mendix biedt standaard authenticatie met gebruikersnaam/wachtwoord en sessies. In de praktijk is dit vaak niet voldoende. Applicaties hebben bijvoorbeeld extra vormen van authenticatie nodig, zoals:

  • Single Sign-On (SSO)
  • authenticatie via externe systemen zonder gebruikersnaam/wachtwoord
  • extra beveiliging zoals multi-factor authenticatie (MFA)

Verkeerd ingerichte custom authenticatie? Dit zijn de gevolgen

Mendix biedt verschillende manieren om zulke custom authenticatie te implementeren, onder andere via:

  • de “Custom”-optie bij gepubliceerde integraties
  • het vervangen van de standaard LoginAction listener
  • Java-code in custom request handlers
  • extra authenticatielogica in microflows


Authenticatie is complex. Als deze maatwerk-authenticatie onjuist wordt geïmplementeerd, kan dit leiden tot ongeautoriseerde toegang tot de applicatie, integraties of request handlers. De veiligheid van een mechanisme (zoals JWT of SAML) hangt sterk af van:

  • een correcte implementatie van het mechanisme en de gebruikte algoritmes
  • juist gebruik van het mechanisme
  • veilige configuratie en generatie van geheimen (secrets)


Hoe meer maatwerk er nodig is op deze punten, hoe groter de kans op fouten en dus op beveiligingslekken.

Best practices voor veilige custom authenticatie in Mendix

Bij het toevoegen van custom authenticatie aan een Mendix-applicatie is het belangrijk om maatwerk zoveel mogelijk te beperken. Waar maatwerk nodig is, moet je de best practices van het gebruikte mechanisme goed kennen en toepassen.

De volgende richtlijnen helpen daarbij:

1. Kies voor standaarden, niet voor eigen oplossingen

  • Ontwerp geen eigen authenticatieprotocollen.
    Gebruik bij voorkeur een gestandaardiseerd mechanisme dat goed onderzocht is en past bij de functionele en beveiligingseisen van je applicatie.
  • Bouw geen eigen implementaties van bestaande standaarden.
    Gebruik bestaande, goed onderhouden en geteste oplossingen, bijvoorbeeld via een Marketplace-module of een standaard Java-library.

2. Correct aanpassen van het loginproces

  • Bij het aanpassen van het loginproces:
    • zorg dat alle authenticatiestappen zijn afgerond vóórdat er een gebruikerssessie wordt aangemaakt
    • implementeer authenticatie zonder actieve Mendix-sessie of binnen een anonieme sessie
    • voer authenticatie niet uit in een navigatie-microflow
  • Zorg dat aangepast login-gedrag niet kan worden omzeild via de standaard Mendix-login.
    Vervang hiervoor de standaard LoginAction listener door een versie die het gewenste gedrag afdwingt.

3. Veilig gebruik van claims-based authenticatie (JWT, SAML)

Bij claims-based authenticatie (zoals JWT of SAML):
  • valideer alle relevante claims, niet alleen de identiteit (zoals vervaldatum, issuer, audience, enz.)
  • gebruik alleen claims voor gebruikerskoppeling die niet door de gebruiker zelf te wijzigen zijn
  • zorg dat digitale handtekeningen altijd verplicht zijn, correct worden gevalideerd en dat fouten altijd leiden tot mislukte authenticatie

4. Bescherming tegen brute-force-aanvallen

Bij authenticatie die gevoelig is voor brute-force-aanvallen (zoals wachtwoorden of eenmalige codes):
  • implementeer detectie en bescherming tegen brute-force, bijvoorbeeld tijdelijke accountblokkades

5. Veilig beheer van geheimen (secrets)

Bij authenticatie op basis van geheimen (zoals encryptiesleutels, signing keys of API-keys):
  • gebruik cryptografisch sterke en voldoende lange sleutels
  • gebruik geen door mensen bedachte geheimen
  • zorg dat geheimen uniek zijn per omgeving (dev, test, acceptatie, productie)

Kwetsbaarheden binnen TSU-07

Dit zijn de meest voorkomende risico’s bij onveilige custom authenticatie.

Train je Mendix security skills

Herkennen en vroegtijdig voorkomen van kwetsbaarheden in Mendix? Bekijk onze vernieuwde Mendix-securitytrainingen gebaseerd op The S-Unit Top 10.

Integreer The S-Unit Top 10 in je CI/CD-pijplijn

In samenwerking met Omnext hebben we een Mendix-specifieke SAST-oplossing gemaakt die continu en automatisch scant op kwetsbaarheden. Door de integratie van de The S-Unit Top 10 in de CI/CD-pijplijn worden risico’s vroegtijdig opgespoord en direct inzichtelijk gemaakt. Lees meer over onze samenwerking met Omnext en de Mendix specifieke SAST-module.