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 Behandelt die App bekannte Sicherheitsbedrohungen?
Der Mendix Laufzeit und Mendix Der Kunde verfügt über sofort einsatzbereite Sicherheitsmaßnahmen, die Ihre Mendix Anwendungen gegen bekannte Sicherheitsbedrohungen (einschließlich, aber nicht beschränkt auf, SQL-Injection, XSS, CSRF und fehlerhafte Authentifizierung). Diese Sicherheitsmaßnahmen werden monatlich externen Penetrationstests unterzogen. Die Mendix Laufzeit und Mendix Die Clients werden täglich mit den neuesten Technologien der statischen Analyse und Software-Zusammensetzungsanalyse von Branchenführern gescannt, um sicherzustellen, dass keine ungelösten Schwachstellen mehr vorhanden sind. Das bedeutet, dass, wann immer ein Mendix Die Anwendung wird ausschließlich mit einem Mendix Anwendungsentwicklungsumgebung müssen Kunden keine Maßnahmen zur statischen Analyse oder Softwarezusammensetzungsanalyse implementieren.
Tut mein Mendix Entspricht die App den OWASP Top 10?
Der Mendix Runtime schützt Ihre Anwendung und Daten entsprechend Ihrem Modell, während die Mendix Die Cloud kümmert sich um die Sicherheit auf Infrastrukturebene. Mendix Runtime kümmert sich um die meisten bekannten Sicherheitsbedrohungen (OWASP Top 10 und OWASP Low-Code/No-Code Sicherheitsrisiken) sofort einsatzbereit, da die Funktionalität, die die häufigsten Sicherheitsfehler verursacht, von den Entwicklern abstrahiert wird.
Weitere Informationen zur Aufbewahrung Ihrer Mendix Anwendung sicher vor Angreifern, siehe So implementieren Sie Best Practices für die App-Sicherheit in England, Mendix Studio Pro Anleitungen.
Wie wird die Sicherheit auf Anwendungsebene gehandhabt?
Um die volle Sicherheit für eine Mendix Anwendung müssen Sie einer Benutzerrolle explizit Zugriff auf Formulare, Entitäten und Mikroflüsse gewähren. Der Endbenutzer muss diese Rolle haben, bevor er darauf zugreifen kann. Standardmäßig kann kein Endbenutzer auf irgendetwas zugreifen. Um das Erstellen von Prototypen und Demos zu vereinfachen, gibt es Sicherheitsstufen, die weniger Sicherheitseinstellungen erfordern als für ein Produktionssystem erforderlich sind.
Wie wird die Sicherheit im Mendix Datenschicht?
Datensicherheit in Mendix wird durch die Definition der Datenzugriffsregeln für Ihre Entitäten gehandhabt. Pro Entität können Sie definieren, wer welche Daten sehen und wer Daten erstellen oder löschen kann.
Diese Regeln werden jedes Mal angewendet, wenn Ihre Anwendung eine Entität verwendet. Die Regeln werden automatisch auf XPath-Abrufe angewendet, die an Ihrem Modell durchgeführt werden. Sie können XPath-Einschränkungen für Entitäten definieren, was bedeutet, dass Sie Zugriffsregeln abhängig von der Benutzerrolle oder Organisation definieren können. Dies kann verwendet werden, um eine strikte Datentrennung in Multi-Tenant-Anwendungen sicherzustellen.
Wie werden Passwörter in meinem Mendix App?
Passwörter in Mendix kann nur in einem gehashten Format gespeichert werden. Mendix unterstützt mehrere Hashing-Algorithmen.
Wie schneidet Mendix System- und Serviceschnittstellen mithilfe von Webdiensten, REST-Diensten und APIs authentifizieren?
System- und Serviceschnittstellen müssen ebenfalls im Kontext der zugewiesenen Rolle authentifiziert werden. Die Standardoption hierfür ist ein Benutzername und ein Passwort, aber auch andere Optionen wie Token sind möglich. Die Autorisierung für APIs wird aus den im Anwendungsmodell definierten Autorisierungen abgeleitet.
Zur Authentifizierung Mendix unterstützt die folgenden technischen Implementierungen:
- HTTP-Authentifizierung
- Sicherheitsstandards für Webdienste
- Benutzerdefinierte Authentifizierungsmechanismen, einschließlich Java
Diese Optionen ermöglichen die Anwendung der Identitätsverbreitung.
Wie funktioniert mein Mendix Unterstützt die App mehrere Mandanten?
Mendix bietet sofort einsatzbereite Unterstützung für die Entwicklung von Multi-Tenant-Anwendungen. Multi-Tenant-Apps in Mendix teilen sich dieselbe Datenbank, Anwendungslogik und Benutzeroberfläche. Die Anwendungslogik kann mit mandantenspezifischer Logik erweitert werden und die Benutzeroberfläche kann pro Mandant gestaltet werden.
Das Mandantenobjekt wird für Folgendes verwendet:
- Definiere a Mandantenfähiges Objektmodell für die Anwendung – der Zugriff auf Domänenobjekte auf Mandantenebene wird mithilfe von XPath-Definitionen konfiguriert, wodurch der Zugriff auf diese Anwendungsobjektinstanzen für das Unternehmen, zu dem der Endbenutzer gehört, eingeschränkt wird
- Definierung Mieterspezifische Microflows und konfigurieren Sie Zugriffsrechte, um Anwendungs- und Prozesslogik auf Mandantenebene zu implementieren
- Bewerben Mieterspezifisches Styling der Benutzeroberfläche, indem das CSS von den in der MxID definierten Unternehmen abhängig gemacht wird
Mieter können in der Anwendung auch individuell definiert werden, indem Kennungen wie Abteilung, Land und Standort verwendet werden.
Welche Art von Verschlüsselung ist verfügbar in meinem Mendix App?
Neben der Standardverschlüsselung im Ruhezustand und während der Übertragung können Benutzer Spaltenverschlüsselung oder Verschlüsselung hochgeladener Dateien implementieren. Spalten- und hochgeladene Dateiverschlüsselung werden standardmäßig über das Verschlüsselung Modul von der Mendix Marktplatz mit AES-Verschlüsselung.
Identity- und Access-Management-Funktionen für Anwendungsbenutzer – wie Single Sign-On und die Zuweisung von Benutzerrollen – werden beschrieben unter Kontrollieren Sie das Risiko von App-Benutzern.