Laufzeitsicherheit
Wie wird Sicherheit in einem Mendix App?
Bevor wir verstehen, wie Sicherheit in einem Mendix Anwendung ist es wichtig zu verstehen, Mendix Laufzeitarchitektur.
Kurz und Mendix Anwendung wird die UI-Schicht in der Mendix Client als JavaScript-Bibliotheken, die im Browser ausgeführt werden. Für native mobile Anwendungen wird die UI-Schicht als JavaScript-Anwendungspaket implementiert, das in einer React Native-Anwendung ausgeführt wird. Die Logik- und Datenschichten werden in der Mendix Laufzeit (die Mendix Runtime selbst ist in Java entwickelt und läuft auf einer Java Virtual Machine).
Innerhalb der Mendix Client implementieren wir Maßnahmen gegen JavaScript-basierte Sicherheitsbedrohungen wie Cross-Site-Scripting. Dies verhindert, dass andere Websites und Webanwendungen, die im selben Browser ausgeführt werden, vertrauliche Informationen vom Mendix app (zum Beispiel Cookies).
Darüber hinaus ist die Mendix Runtime behebt serverseitige Sicherheitsbedrohungen wie SQL-Injection und Codeausführung. Standardmäßig wird eine Anfrage von einem beliebigen Client (einschließlich des Mendix Der Client wird als nicht vertrauenswürdig wahrgenommen.
Mendix App-Entwickler müssen beim Erstellen keine technischen Sicherheitsaspekte berücksichtigen Mendix Apps, da die Plattform dies als Service handhabt. Das bedeutet natürlich nicht, dass Entwickler sich überhaupt keine Gedanken über Sicherheit machen müssen. Autorisierung und Zugriffsrechte auf Anwendungsebene müssen vom Entwickler im Anwendungsmodell konfiguriert werden. Dies liegt daran, dass die meisten technischen Sicherheitsaspekte generisch gelöst werden können, während die Geschäftsregeln und -anforderungen, die die Voraussetzungen für den Zugriff auf Daten bilden, für jede Anwendung und jedes Unternehmen unterschiedlich sein können.
Jeder Vorgang innerhalb der Mendix Die Laufzeit wird als „Aktion“ bezeichnet. Mendix Die Runtime bietet viele vordefinierte Aktionen, wie das Auslösen und Ausführen von Workflows und das Auswerten von Geschäftsregeln. Um ein Umgehen der technischen Sicherheitsmechanismen zu verhindern, werden diese Aktionen auf den untersten Ebenen der Mendix Laufzeit und können von App-Entwicklern nicht geändert werden.
Die Kernschnittstelle des Mendix Die Laufzeit (die für die Ausführung aller Aktionen verantwortlich ist) verfügt über eine Sicherheitsmatrix, die alle ausführbaren Aktionen und Datenzugriffsregeln pro Benutzerrolle enthält. Die Datenzugriffsregeln werden zur Laufzeit angewendet, wenn eine Abfrage an die Datenbank gesendet wird. Dadurch wird sichergestellt, dass nur Daten innerhalb der Grenzen der Zugriffsregeleinschränkung abgerufen werden.
Wie funktioniert mein Mendix Behebt die App häufige Sicherheitsbedrohungen wie die OWASP Top 10?
Der Mendix Laufzeit und Mendix Der Client verfügt über integrierte Sicherheitsmaßnahmen, die Anwendungen vor einer Vielzahl bekannter Bedrohungen schützen, darunter auch einige aus den OWASP Top 10 – wie SQL-Injection, Cross-Site-Scripting (XSS), Cross-Site-Request-Forgery (CSRF) und fehlerhafte Authentifizierung. Diese Sicherheitsmaßnahmen werden monatlich externen Penetrationstests unterzogen.
Der Mendix Laufzeit und Mendix Die Clients werden täglich gescannt. Dabei kommen die neuesten Technologien der statischen Analyse und Software-Zusammensetzungsanalyse zum Einsatz, die von Branchenführern angeboten werden, um sicherzustellen, dass keine ungelösten Schwachstellen mehr bestehen.
Wie schneidet Mendix System- und Serviceschnittstellen mithilfe von Webdiensten, REST-Diensten und APIs authentifizieren?
System- und Serviceschnittstellen erfordern Authentifizierung und Autorisierung.
Zur Authentifizierung Mendix unterstützt die folgenden technischen Implementierungen:
- HTTP-Authentifizierung. Die Standardoption ist die Standardauthentifizierung mit Benutzername und Kennwort.
- Sicherheitsstandards für Webdienste. Die Verwendung von OAuth-Zugriffstoken (undurchsichtig oder JWTs) ist eine unterstützte Best Practice.
- Benutzerdefinierte Authentifizierungsmechanismen, einschließlich Java.
Diese Optionen ermöglichen die Anwendung der Identitätsverbreitung.
Bei der Implementierung einer API mit MendixDie Autorisierung für APIs wird aus den im Anwendungsmodell definierten Autorisierungen abgeleitet. Das OIDC SSO-Modul kann zum Validieren von OAuth-Zugriffstoken und zum Zuweisen autorisierter Benutzerrollen verwendet werden. Mendix verwendet dasselbe Sicherheitsmodell für menschliche Benutzer (Benutzerrollen, Entitätszugriff usw.) und „Maschinenidentitäten“. Maschinenidentitäten können im laufenden Betrieb bereitgestellt werden, es müssen keine API-Schlüssel oder Passwörter für den nutzenden Client in der genutzten API verwaltet werden.
Die Zugriffstoken können durch Technologien von Drittanbietern oder durch einen Mendix Lösung mit dem OIDC-Provider-Modul. Dieses Modul kann verwendet werden, um Zugriffstoken entweder für menschliche Identitäten (SSO) oder Maschinenidentitäten auszugeben.
Beispielsweise melden sich Endbenutzer in einer Multi-App-Lösung mit der Entra-ID an und die daraus resultierenden Token werden zum Verwenden von APIs verwendet. Geplante Jobs nutzen eine „Maschinenidentität“, um APIs zu verwenden.