Diese Dokumentation wurde automatisch von KI übersetzt.
NocoBase Sicherheitsleitfaden
NocoBase legt von der Funktionsgestaltung bis zur Systemumsetzung großen Wert auf die Sicherheit von Daten und Anwendungen. Die Plattform verfügt über integrierte Sicherheitsfunktionen wie Benutzerauthentifizierung, Zugriffskontrolle und Datenverschlüsselung und erlaubt zugleich eine flexible Konfiguration der Sicherheitsstrategien gemäß Ihren Anforderungen. Ob es um den Schutz von Benutzerdaten, die Verwaltung von Zugriffsrechten oder die Trennung von Entwicklungs- und Produktionsumgebungen geht – NocoBase stellt praktische Werkzeuge und Lösungen bereit. Dieser Leitfaden soll Sie bei der sicheren Nutzung von NocoBase unterstützen, damit Sie Ihre Daten, Anwendungen und Umgebungen schützen und gleichzeitig die Systemfunktionen effizient nutzen können.
Benutzerauthentifizierung
Die Benutzerauthentifizierung dient dazu, die Identität der Benutzer festzustellen, unbefugten Zugriff auf das System zu verhindern und sicherzustellen, dass Identitäten nicht missbraucht werden.
Token-Schlüssel
Standardmäßig verwendet NocoBase JWT (JSON Web Token) zur Authentifizierung der Server-API. Sie können den Token-Schlüssel über die Umgebungsvariable APP_KEY festlegen. Bewahren Sie den Token-Schlüssel sorgfältig auf und vermeiden Sie ein Leck. Beachten Sie: Wird APP_KEY geändert, werden bestehende Tokens ungültig.
Token-Strategie
NocoBase unterstützt folgende Sicherheitsrichtlinien für Benutzer-Tokens:
In der Regel empfehlen wir Administratoren:
- Eine kürzere Token-Gültigkeit zu wählen, um die Expositionszeit zu begrenzen.
- Eine sinnvolle Sitzungsdauer einzustellen, länger als die Token-Gültigkeit, aber nicht zu lang, um Benutzererfahrung und Sicherheit auszubalancieren. Nutzen Sie den automatischen Refresh, damit aktive Sitzungen nicht unterbrochen werden, das Risiko von Langzeit-Sitzungsmissbrauch jedoch sinkt.
- Eine sinnvolle Refresh-Frist zu setzen, damit bei längerer Inaktivität der Token natürlich abläuft und kein neuer mehr ausgestellt wird, um den Missbrauch ungenutzter Sitzungen zu verringern.
Token-Speicherung im Client
Standardmäßig wird der Benutzer-Token im LocalStorage des Browsers gespeichert. Wenn der Benutzer die Browser-Seite schließt und erneut öffnet, ist eine erneute Anmeldung nicht erforderlich, solange der Token noch gültig ist.
Wenn Sie möchten, dass sich der Benutzer bei jedem Seitenaufruf neu anmelden muss, setzen Sie die Umgebungsvariable API_CLIENT_STORAGE_TYPE=sessionStorage, sodass der Token im SessionStorage des Browsers gespeichert wird.
Passwort-Policy
Pro-Version oder höher
NocoBase unterstützt Passwortregeln und Sperrstrategien für Anmeldeversuche, um die Sicherheit von NocoBase-Anwendungen mit aktivierter Passwort-Anmeldung zu erhöhen. Lesen Sie Passwort-Policy für eine Erläuterung der einzelnen Konfigurationsoptionen.
Passwortregeln
Konfiguration des Passwortablaufs
Sicherheit der Passwort-Anmeldung
In der Regel empfehlen wir:
- Strenge Passwortregeln, um das Risiko von Erraten und Brute-Force zu verringern.
- Sinnvolle Passwortgültigkeit, um regelmäßige Passwortwechsel zu erzwingen.
- In Kombination mit der Anzahl ungültiger Anmeldungen und dem Zeitintervall, um Brute-Force zu verhindern.
- In Hochsicherheits-Szenarien eine sinnvolle Sperrzeit. Beachten Sie jedoch, dass Sperrzeiten missbraucht werden können: Angreifer könnten gezielt mit falschen Passwörtern den Benutzer sperren. In der Praxis sollten Sie zusätzlich IP-Beschränkungen und API-Frequenzlimits einsetzen.
- Den Standard-Root-Benutzer (Benutzername, E-Mail, Passwort) zu ändern, um Missbrauch zu verhindern.
- Da bei Passwortablauf oder Sperrung – auch des Administrators – kein Zugang mehr besteht, mehrere Benutzer mit Passwort-Reset- und Entsperr-Berechtigung einzurichten.

Benutzersperre
Pro-Version oder höher, im Plugin Passwort-Policy enthalten
Verwaltung von Benutzern, die durch zu viele ungültige Anmeldeversuche gesperrt wurden. Sie können Benutzer manuell entsperren oder verdächtige Benutzer aktiv zur Sperrliste hinzufügen. Gesperrte Benutzer haben keinen Zugriff über irgendeine Authentifizierungsmethode, einschließlich API Keys.

API Keys
NocoBase unterstützt den Zugriff auf die System-API über API Keys. Sie können API Keys in der Konfiguration des API-Keys-Plugins anlegen.
- Verbinden Sie API Keys mit den richtigen Rollen und stellen Sie sicher, dass die zugewiesenen Berechtigungen korrekt konfiguriert sind.
- Vermeiden Sie das Leck von API Keys während der Nutzung.
- Wir empfehlen Ihnen, eine Gültigkeitsdauer für API Keys festzulegen und nicht „Niemals ablaufen“ zu wählen.
- Bei verdächtiger Nutzung können Sie den entsprechenden API Key löschen, um ihn ungültig zu machen.

Single Sign-On (SSO)
Kommerzielles Plugin
NocoBase bietet umfangreiche SSO-Plugins und unterstützt OIDC, SAML 2.0, LDAP, CAS und weitere gängige Protokolle. Außerdem stellt NocoBase eine umfassende Erweiterungsschnittstelle für Authentifizierungsverfahren bereit, mit der weitere Authentifizierungstypen schnell entwickelt und integriert werden können. So können Sie Ihren bestehenden IdP einfach mit NocoBase verknüpfen, Benutzeridentitäten zentral verwalten und die Sicherheit erhöhen.

Zwei-Faktor-Authentifizierung (Two-factor authentication)
Enterprise-Version
Die Zwei-Faktor-Authentifizierung verlangt vom Benutzer beim Anmelden mit Passwort einen zweiten Identitätsnachweis, etwa einen einmaligen, dynamischen Code, der an ein vertrautes Gerät gesendet wird. Damit wird die Identität bestätigt und das Risiko bei einem Passwort-Leck reduziert.
IP-Zugriffskontrolle
Enterprise-Version
NocoBase unterstützt Black- und Whitelists für IP-Adressen.
- In sicherheitskritischen Umgebungen können Sie eine IP-Whitelist einrichten, um den Zugriff nur von bestimmten IP-Adressen oder Bereichen zuzulassen.
- Bei öffentlichem Netzwerkzugriff können Sie eine IP-Blacklist verwenden, um bekannte schädliche oder verdächtige Quellen zu blockieren.
- Abgelehnte Zugriffe werden protokolliert.
Zugriffskontrolle
Durch das Anlegen von Rollen und das Zuweisen von Berechtigungen können Sie die Zugriffsrechte von Benutzern detailliert steuern. Administratoren sollten die Konfiguration entsprechend dem Anwendungsfall vornehmen, um das Risiko von Datenlecks zu verringern.
Root-Benutzer
Bei der ersten Installation legt NocoBase einen Root-Benutzer an. Es wird empfohlen, dessen Daten über Umgebungsvariablen anzupassen, um Missbrauch zu vermeiden.
INIT_ROOT_USERNAME– Benutzername des Root-BenutzersINIT_ROOT_EMAIL– E-Mail-Adresse des Root-BenutzersINIT_ROOT_PASSWORD– Passwort des Root-Benutzers; setzen Sie ein starkes Passwort.
Im weiteren Betrieb sollten Sie weitere Administratorkonten anlegen und nutzen und den Root-Benutzer möglichst nicht direkt verwenden.
Rollen und Berechtigungen
NocoBase steuert den Zugriff auf Ressourcen, indem Rollen angelegt, mit Berechtigungen versehen und Benutzern zugewiesen werden. Jeder Benutzer kann mehrere Rollen besitzen und durch Wechsel der Rolle aus unterschiedlichen Perspektiven arbeiten. Mit dem Department-Plugin lassen sich Rollen auch an Abteilungen binden, sodass Benutzer die Rollen ihrer Abteilung erben.

Berechtigungen für Systemkonfiguration
Zu den Konfigurationsberechtigungen gehören:
- Ob die Konfigurationsoberfläche genutzt werden darf
- Ob Plugins installiert, aktiviert oder deaktiviert werden dürfen
- Ob Plugins konfiguriert werden dürfen
- Ob Cache geleert und die Anwendung neu gestartet werden darf
- Konfigurationsberechtigungen für die einzelnen Plugins
Menüberechtigungen
Menüberechtigungen steuern den Zugriff auf verschiedene Menüseiten, sowohl in der Desktop- als auch in der mobilen Variante.

Datenberechtigungen
NocoBase bietet eine feingranulare Steuerung der Zugriffsrechte auf Daten, sodass jeder Benutzer nur die Daten sieht, die für seine Aufgaben relevant sind, und Datenlecks oder Missbrauch verhindert werden.
Globale Steuerung

Steuerung auf Tabellen- und Field-Ebene

Steuerung des Datenbereichs
Legt den Datenbereich fest, auf den der Benutzer zugreifen darf. Beachten Sie, dass dies nicht mit dem Datenbereich eines Blocks identisch ist: Der Datenbereich eines Blocks dient meist nur zur Filterung im Frontend. Wenn der Datenzugriff serverseitig streng beschränkt werden soll, müssen Sie hier konfigurieren.

Datensicherheit
NocoBase bietet wirksame Mechanismen zur Sicherstellung der Datensicherheit bei Speicherung und Sicherung.
Passwortspeicherung
NocoBase verschlüsselt Benutzerpasswörter mit dem scrypt-Algorithmus und speichert sie verschlüsselt, was wirksamen Schutz vor groß angelegten Hardware-Angriffen bietet.
Umgebungsvariablen und Schlüssel
Wenn Sie Drittanbieter-Dienste in NocoBase nutzen, empfehlen wir, deren Schlüssel in Umgebungsvariablen zu konfigurieren und verschlüsselt zu speichern. Das ist sowohl in verschiedenen Umgebungen praktisch als auch sicherer. Details finden Sie in der zugehörigen Dokumentation.
Standardmäßig werden Schlüssel mit AES-256-CBC verschlüsselt. NocoBase generiert automatisch einen 32-Byte-Verschlüsselungsschlüssel und speichert ihn unter storage/.data/environment/aes_key.dat. Bewahren Sie diese Schlüsseldatei sicher auf, damit sie nicht entwendet werden kann. Beim Migrieren der Daten muss die Schlüsseldatei mit übertragen werden.

Dateispeicherung
Wenn Sie sensible Dateien speichern müssen, empfehlen wir Cloud-Storage mit S3-Protokoll, kombiniert mit dem kommerziellen Plugin File storage: S3 (Pro), um Lese- und Schreibrechte privat zu halten. In Intranet-Umgebungen empfiehlt sich der Einsatz von MinIO oder ähnlichen S3-kompatiblen, privat betreibbaren Speicheranwendungen.

Anwendungs-Backup
Um Datenverlust zu vermeiden, empfehlen wir regelmäßige Backups Ihrer Datenbank.
Open-Source-Anwender können sich an https://www.nocobase.com/en/blog/nocobase-backup-restore orientieren, um Datenbank-Tools für Backups zu nutzen, und sollten die Backup-Dateien sicher verwahren.
Pro- und höher-Anwender können den Backup Manager nutzen, der folgende Funktionen bietet:
- Automatische zeitgesteuerte Backups: regelmäßige Backups sparen Zeit und manuellen Aufwand und erhöhen die Datensicherheit.
- Synchronisation der Backup-Dateien in Cloud-Storage: Trennt Backup-Dateien vom Anwendungsdienst, damit Serverausfälle nicht zum Verlust der Backups führen.
- Verschlüsselung der Backup-Dateien: Vergeben Sie ein Passwort für Backups, um das Risiko bei einem Leak zu mindern.

Sicherheit der Laufzeitumgebung
Eine korrekte Bereitstellung von NocoBase und eine sichere Laufzeitumgebung sind ein Schlüssel zur sicheren Nutzung der Anwendung.
HTTPS-Bereitstellung
Um Man-in-the-Middle-Angriffe zu verhindern, empfehlen wir, das NocoBase-Site mit einem SSL/TLS-Zertifikat auszustatten, damit Daten während der Übertragung geschützt sind.
Verschlüsselung der API-Übertragung
Enterprise-Version
In Umgebungen mit besonders strengen Sicherheitsanforderungen unterstützt NocoBase die Verschlüsselung der API-Übertragung, sodass Anfragen und Antworten nicht im Klartext übertragen werden und das Knacken der Daten erschwert wird.
On-Premises-Bereitstellung
Standardmäßig kommuniziert NocoBase nicht mit Dritt-Diensten und das NocoBase-Team sammelt keinerlei Informationen der Benutzer. Nur in den folgenden zwei Fällen ist eine Verbindung zum NocoBase-Server erforderlich:
- Automatischer Download kommerzieller Plugins über die NocoBase-Service-Plattform.
- Online-Validierung und -Aktivierung kommerzieller Anwendungen.
Wenn Sie auf etwas Komfort verzichten möchten, können beide Vorgänge auch offline ausgeführt werden, ohne den NocoBase-Server zu kontaktieren.
NocoBase unterstützt eine vollständige Bereitstellung im Intranet, siehe
Trennung mehrerer Umgebungen
Pro-Version oder höher
In der Praxis empfehlen wir Unternehmenskunden, Test- und Produktionsumgebung zu trennen, um die Sicherheit der Anwendungsdaten und der Laufzeitumgebung in der Produktion zu gewährleisten. Mit dem Migration-Manager-Plugin lassen sich Anwendungsdaten zwischen Umgebungen migrieren.

Audit und Monitoring
Audit-Log
Enterprise-Version
Das Audit-Log von NocoBase zeichnet die Aktivitäten der Benutzer im System auf. Durch die Aufzeichnung wichtiger Operationen und Zugriffe können Administratoren:
- IP, Gerät und Zeitpunkt der Operationen prüfen, um auffälliges Verhalten frühzeitig zu erkennen.
- Den Bearbeitungsverlauf von Datenressourcen nachverfolgen.


Anwendungslogs
NocoBase bietet verschiedene Logtypen, mit denen Sie den Systemzustand und das Verhalten verstehen, Probleme schnell erkennen und Sicherheit sowie Steuerbarkeit aus mehreren Perspektiven gewährleisten können. Wichtige Logtypen:
- Request-Log: API-Anfragen, einschließlich URL, HTTP-Methode, Anfrageparameter, Antwortzeit und Statuscode.
- Systemlog: Anwendungsereignisse wie Dienststart, Konfigurationsänderungen, Fehler und kritische Operationen.
- SQL-Log: Datenbankoperationen und ihre Ausführungszeit, einschließlich Abfragen, Updates, Inserts und Deletes.
- Workflow-Log: Ausführungsprotokoll der Workflows, einschließlich Ausführungszeit, Laufzeitinformationen und Fehlermeldungen.

