Mendix 运行时安全 | Mendix 评估指南

跳到主要内容

运行时安全

如何处理安全问题 Mendix 应用程序?

在了解如何处理安全性之前 Mendix 应用程序,重要的是要理解 Mendix 运行时架构.

在一个 Mendix 应用程序中,UI层实现在 Mendix 客户端作为在浏览器中运行的 JavaScript 库。对于原生移动应用程序,UI 层实现为在 React Native 应用程序中运行的 JavaScript 应用程序包。逻辑层和数据层在 Mendix 运行时( Mendix Runtime本身是用Java开发的,并在Java虚拟机上运行)。

内 Mendix 客户端,我们实施针对基于 JavaScript 的安全威胁(如跨站点脚本)的措施。这可以防止在同一浏览器中运行的其他网站和 Web 应用程序从客户端获取敏感信息 Mendix 应用程序(例如,cookies)。

更重要的是, Mendix 运行时解决了服务器端安全威胁,例如 SQL 注入和代码执行。默认情况下,来自任何客户端(包括 Mendix 客户端)被视为不受信任。

Mendix 应用程序开发人员在构建时无需考虑技术安全方面 Mendix 应用程序,因为平台将其作为服务来处理。当然,这并不意味着开发人员完全不必考虑安全性。应用程序级授权和访问权限需要由开发人员在应用程序模型中配置。这是因为大多数技术安全方面可以通用解决,而作为访问数据的先决条件的业务规则和要求对于每个应用程序和业务来说可能有所不同。

每个操作 Mendix 运行时被称为“动作”。 Mendix Runtime 提供许多预定义操作,例如触发和执行工作流以及评估业务规则。为了防止绕过技术安全机制,这些操作在系统的最低级别实现 Mendix 运行时,应用程序开发人员无法更改它们。

核心接口 Mendix 运行时(负责执行任何操作)具有一个安全矩阵,其中包含每个用户角色的所有可执行操作和数据访问规则。当查询发送到数据库时,数据访问规则在运行时应用。这可确保仅检索访问规则约束范围内的数据。

我的 Mendix 应用程序解决像 OWASP Top 10 这样的常见安全威胁?

这个 Mendix 运行时和 Mendix 客户端内置安全措施,可保护应用程序免受各种已知威胁的侵害,包括 OWASP Top 10 中的几种威胁,例如 SQL 注入、跨站脚本 (XSS)、跨站请求伪造 (CSRF) 和身份验证失效。这些安全措施每月都会接受外部渗透测试。

这个 Mendix 运行时和 Mendix 每天都会使用行业领先者提供的最新静态分析和软件组成分析技术对客户端进行扫描,以确保不存在未缓解的漏洞。

如何 Mendix 使用 Web 服务、REST 服务和 API 来验证系统和服务接口?

系统和服务接口需要身份验证和授权。

对于身份验证, Mendix 支持以下技术实现:

  • HTTP 身份验证。使用用户名和密码的基本身份验证是默认选项。
  • Web 服务安全标准。使用 OAuth 访问令牌(不透明或 JWT)是受支持的最佳实践。
  • 自定义的身份验证机制,包括 Java。

这些选项使得应用身份传播成为可能。

当实现 API 时 MendixAPI 的授权源自应用程序模型中定义的授权。OIDC SSO 模块可用于验证 OAuth 访问令牌并分配授权的用户角色。 Mendix 对人类用户(用户角色、实体访问等)和“机器身份”使用相同的安全模型。机器身份可以即时配置,无需在被消费 API 中管理消费客户端的 API 密钥或密码。

访问令牌可以由第三方技术发布,也可以由 Mendix 使用 OIDC 提供程序模块的解决方案。该模块可用于向人类身份(SSO)或机器身份颁发访问令牌。

例如,在多应用解决方案中,最终用户使用 Entra ID 登录,并使用生成的令牌来调用 API。计划任务则使用“机器”身份来调用 API。

选择你的语言