TSU-10 covers all vulnerabilities related to the cloud configuration of a Mendix application. When a Mendix application is deployed in the cloud, there are various cloud-specific settings that impact the security of the application. These include, for example:
the values of application constants
enabling or disabling scheduled events
the configuration of HTTP headers
access restrictions based on IP address or URL path
custom runtime settings
custom environment variables
For some settings, Mendix provides secure default values that can unintentionally be overridden by developers with insecure ones. For other settings, the default values are deliberately permissive, while your application may not be able to handle that.
In both cases, incorrect settings can result in an unnecessarily large attack surface or even the bypassing of intended security measures.
When deploying an application to the cloud, ensure that the cloud configuration aligns with the security requirements of your application.
If these requirements differ per environment (for example test, acceptance, and production), it is necessary to use environment-specific configurations.
The following best practices help prevent vulnerabilities:
Ensure that security-related constants and environment variables are unique per cloud environment.
This prevents an attacker from pivoting from a less sensitive environment (such as test) into a sensitive one (such as production).
Non-production environments must not have access to production data or production services. This means:
Do not use production APIs or production credentials in test and acceptance environments; instead, use test, acceptance, or mock APIs.
Do not use real production data in non-production databases; use test data or properly anonymized data instead.
If you use path-based access restrictions for API documentation (the default in production on Mendix Cloud), make sure these restrictions also apply in non-production environments.
If documentation needs to be available to external parties in a specific environment, use IP whitelisting or certificate-based access so that only authorized parties can gain access.
Adjust the HTTP header configuration of your environment to enforce a strict Content Security Policy (CSP). This helps limit the impact of, among other things, Cross-Site Scripting.
Check whether session settings, such as allowing multiple sessions per user, session duration, and time-outs, match the level of security your application requires.
These are the most common risks associated with insecure cloud deployments.
Want to identify and prevent vulnerabilities in Mendix at an early stage? Take a look at our renewed Mendix security trainings based on The S-Unit Top 10.
Want to know how your Mendix application scores against The S-Unit Top 10? In collaboration with Omnext, we have developed a Mendix-specific SAST solution that continuously and automatically scans for vulnerabilities. By integrating The S-Unit Top 10 into the CI/CD pipeline, risks are identified early and made immediately visible. Learn more about our collaboration with Omnext and the Mendix-specific SAST module.