TSU-10: Insecure cloud deployments
TSU-10 omvat alle kwetsbaarheden die te maken hebben met de cloudconfiguratie van een Mendix-applicatie. Wanneer een Mendix-applicatie in de cloud wordt uitgerold, zijn er verschillende cloudspecifieke instellingen die invloed hebben op de beveiliging van de applicatie. Denk hierbij aan:
- de waarden van applicatie-constants
- het aan- of uitzetten van geplande taken (scheduled events)
- de configuratie van HTTP-headers
- toegangsbeperkingen op basis van IP-adres of URL-pad
- aangepaste runtime-instellingen
- custom environment variables
Gevolgen verkeerde instellingen van cloud deployments
Voor sommige instellingen levert Mendix veilige standaardwaarden mee, die door developers onbedoeld kunnen worden overschreven met onveilige waarden. Voor andere instellingen zijn de standaardwaarden juist ruim ingesteld, terwijl jouw applicatie dat niet aankan.
In beide gevallen kunnen verkeerde instellingen zorgen voor een onnodig groot aanvalsoppervlak of zelfs voor het omzeilen van bedoelde beveiligingsmaatregelen.
Best practices voor veilige cloud deployments
Zorg er bij het deployen van een applicatie naar de cloud voor dat de cloudconfiguratie aansluit bij de beveiligingseisen van jouw applicatie.
Als die eisen verschillen per omgeving (bijvoorbeeld test, acceptatie en productie), dan is het noodzakelijk om per omgeving specifieke configuraties te gebruiken.
De volgende best practices helpen om kwetsbaarheden te voorkomen:
1. Gebruik unieke security-gevoelige instellingen per omgeving
2. Scheid productie en niet-productie strikt
Niet-productieomgevingen mogen geen toegang hebben tot productiedata of productiediensten. Dat betekent:
Gebruik in test- en acceptatieomgevingen geen productie-API’s of productie-credentials, maar test-, acceptatie- of mock-API’s.
Gebruik in niet-productiedatabases geen echte productiedata, maar testdata of correct geanonimiseerde data.
3. Beperk toegang tot API-documentatie consequent
Als je padgebaseerde toegangsbeperkingen gebruikt voor API-documentatie (standaard in productie op Mendix Cloud), zorg er dan voor dat deze ook gelden in niet-productieomgevingen.
Moet documentatie in een specifieke omgeving beschikbaar zijn voor externe partijen? Gebruik dan IP-whitelisting of certificaatgebaseerde toegang, zodat alleen geautoriseerde partijen toegang krijgen.
4. Dwing een strikte Content Security Policy af
5. Stem sessie-instellingen af op je security-eisen
Kwetsbaarheden binnen TSU-10
- Omzeilen van authenticatie of autorisatie door ongewijzigde standaardwaarden van constants in Marketplace-modules
- Horizontale escalatie tussen test-/acceptatie- en productie-omgevingen door het hergebruiken van dezelfde constantwaarden
- Blootstelling van productiedata in niet-productieomgevingen
- Omzeilen van padgebaseerde toegangsbeperkingen via niet-productieomgevingen
- Vergrote impact van Cross-Site Scripting door een onveilig ingestelde Content Security Policy
Train je Mendix security skills
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.