Mechanismen der Datensicherheit
Einheitliches System zur Authentifizierung und Autorisierung
Das einheitliche Authentifizierungs- und Autorisierungssystem ist eine Schlüsselkomponente des Datenschutzes, die einen sicheren Zugriff auf Systemressourcen ermöglicht. Es ermöglicht Ihnen die Verwaltung von Benutzern, deren Berechtigungen und den Zugriff auf Daten auf systemweiter Ebene.
Zur Erinnerung:
- Authentifizierung ist der Prozess der Überprüfung der Authentizität eines Benutzers (z. B. mit Hilfe eines Benutzernamens und eines Passworts).
- Autorisierung ist der Prozess der Überprüfung der Berechtigung eines Benutzers zur Durchführung bestimmter Aktionen (z. B. Zugriff auf Daten oder Systemfunktionen).
Ein einheitliches Authentifizierungs- und Autorisierungssystem bietet folgende Vorteile:
- Zentrale Verwaltung: Vereinfacht die Verwaltung von Benutzern und deren Berechtigungen.
- Sicherheit: Schützt Daten vor unberechtigtem Zugriff.
- Konsistenz: Alle Anwendungen und Systeme verwenden denselben Authentifizierungs- und Autorisierungsmechanismus.
- Skalierbarkeit: Einfaches Hinzufügen neuer Anwendungen und Benutzer.
Systemkomponenten
Authentifizierung
- Anmeldung und Passwort: Die traditionelle Methode der Authentifizierung.
Bei der Anmeldung muss sich der Benutzer zunächst mit einem Benutzernamen und einem Passwort identifizieren.
- Multifaktorielle Authentifizierung (MFA): Die Verwendung mehrerer Faktoren (z. B. ein dynamisch aktualisiertes Programm-Token für die WEB-API).
Die Token-basierte Authentifizierung vereinfacht den Prozess für etablierte Benutzer. Zu Beginn sendet der Benutzer eine Anfrage an den Server mit einem Benutzernamen und einem Passwort. Der Server validiert diese dann anhand der in seiner Identitätsdatenbank registrierten Werte. Wenn die Identitäten bestätigt werden, sendet der Server ein Authentifizierungs-Token zurück (das ebenfalls in der Datenbank gespeichert ist).
Wenn derselbe Benutzer später Anfragen für den Zugriff auf geschützte Ressourcen sendet, können diese Anfragen mit einem Authentifizierungs-Token anstelle eines Benutzernamens und eines Passworts autorisiert werden. Der Server vergleicht das Token mit dem in der Datenbank registrierten Token und gewährt den Zugang.
Ermächtigung
- Rollen und Berechtigungen: Benutzern werden Rollen zugewiesen (z. B. Zugangsadministrator, Benutzer), die ihre Berechtigungen festlegen.
- ACL (Zugriffskontrolllisten): Zugriffskontrolllisten, die festlegen, wer Zugriff auf welche Ressourcen hat.
- RBAC (Role-Based Access Control): Die rollenbasierte Zugriffskontrolle.
- ABAC (Attributbasierte Zugriffskontrolle): Attributbasierte Zugangskontrolle (z. B. Tageszeit, Standort).
Speicherung von Benutzerdaten
- Benutzerdatenbank: Speicherung von Informationen über Benutzer, ihre Rollen und Berechtigungen in einer einzigen Datenbank.
Sicherheit
- Verschlüsselung: Schützt Daten während der Übertragung und Speicherung.
- Zugangs-Token: Verwendung dynamisch aktualisierter Software-Tokens für die Sitzungsverwaltung.
- Auditing: Protokollierung aller Benutzeraktionen zur späteren Analyse.
Systemimplementierung
Der Benutzer gibt ein Login und ein Passwort ein, das System validiert diese und gibt ein Zugangstoken zurück. Die E-Mail-Adresse des Benutzers wird als Login verwendet.
Beispiel für eine Anfrage im Curl
-Format:
|
|
Als Antwort erhalten wir die folgende Meldung:
|
|
In dieser Antwort interessieren wir uns für den Parameter access_token
. Der Wert dieser Kopfzeile wird als Passwort für jede Anfrage verwendet. Der Wert ändert sich bei jeder Anfrage.
Hier ist ein Beispiel für eine Anfrage, die das Token aus der vorherigen Antwort verwendet:
|
|
Als Antwort erhalten wir die folgende Meldung:
|
|
Um die Sitzung zu beenden, können Sie die Prozedur SignOut
verwenden oder die notwendigen Header der letzten Anfrage speichern und beim nächsten Mal verwenden, wenn die Lebensdauer des Tokens noch nicht abgelaufen ist. Denken Sie daran, dass das letzte Token ohne Beendigung der Sitzung noch einige Zeit gültig ist, je nach den Systemeinstellungen des Servers.
Vorteile des Systems
Ein einheitliches Authentifizierungs- und Autorisierungssystem ist ein leistungsfähiges Instrument für den Datenschutz und die Zugriffskontrolle. Es bietet die folgenden Vorteile:
- Zentrale Verwaltung: Vereinfacht die Verwaltung von Benutzern und deren Berechtigungen.
- Sicherheit: Schützt Daten vor unberechtigtem Zugriff.
- Konsistenz: Alle Anwendungen und Systeme verwenden denselben Authentifizierungs- und Autorisierungsmechanismus.
- Skalierbarkeit: Einfaches Hinzufügen neuer Anwendungen und Benutzer.
Datenverschlüsselung
Um wichtige Informationen zu schützen, verwendet das System Verschlüsselung (Umwandlung von Informationen in eine Form, die ohne den entsprechenden Schlüssel nicht gelesen werden kann) und Hashing (Umwandlung von Daten in eine eindeutige Zeichenfolge fester Länge - Hash) von Daten. Dies ist einer der wichtigsten Datenschutzmechanismen, der die Vertraulichkeit, Integrität und Sicherheit von Informationen sowohl bei der Speicherung als auch bei der Übertragung gewährleistet.
Das System verwendet verschiedene Algorithmen zur Datenverschlüsselung und zum Hashing.
Anwendung der Verschlüsselung im System
Speicherverschlüsselung
- Datenbanken: Verschlüsselung einzelner Datenbankfelder.
- Dateien: Verschlüsseln von Dateien vor dem Speichern auf der Festplatte.
Verschlüsselung von Daten bei der Übertragung
- HTTPS: Verwendung von SSL/TLS zur Verschlüsselung von Daten während der Netzwerkübertragung.
- VPN: Schaffung eines sicheren Tunnels für die Datenübertragung.
Passwortverschlüsselung
Speichern von Passwort-Hashes anstelle von Passwörtern.
Beispiele für die Ver-/Entschlüsselung von Daten
Sehen wir uns Beispiele für die Verschlüsselung/Entschlüsselung von Systemkonfigurationsdateien an:
Datenverschlüsselung
|
|
Auswertung der Daten
|
|
Vorteile der Datenverschlüsselung
- Vertraulichkeit: Schutz der Daten vor unberechtigtem Zugriff.
- Glaubwürdigkeit: Sicherstellen, dass die Daten nicht verändert wurden.
- Authentizität: Bestätigung der Quelle der Daten.
- Konformität: Anforderungen: Erfüllung der gesetzlichen Anforderungen.
Prüfung und Überwachung
Es wurde eine Reihe von Subsystemen entwickelt und miteinander verbunden, um Benutzer- und Systemaktivitäten zu überwachen, verdächtige Aktivitäten zu erkennen und die Einhaltung von Sicherheitsanforderungen zu gewährleisten.
Zu diesem Zweck:
- Das System ist so organisiert, dass es Informationen über Benutzer- und Systemaktivitäten sammelt, analysiert und speichert, um Rechenschaftspflicht und Compliance zu gewährleisten.
- Organisierte kontinuierliche Echtzeit-Überwachung des Systems und der Geräte, um Vorfälle zu erkennen und darauf zu reagieren.
Zielsetzungen
- Rechenschaftspflicht: Sicherstellen, dass alle Benutzer- und Systemaktivitäten aufgezeichnet werden.
- Sicherheit: Erkennen und Verhindern unbefugter Aktivitäten.
- Problem-Erkennung: Erkennen von Hardwareproblemen und Anomalien und Ergreifen von Maßnahmen zu deren Behebung.
- Performance-Optimierung: Analysieren der Systemleistung und Auffinden von Engpässen, die eine Optimierung erfordern.
- Vorhersage und Planung: Sammeln von Daten zur Vorhersage künftiger Arbeitsbelastungen und zur Planung von Ressourcen.
- Einhaltung: Sicherstellung der Einhaltung gesetzlicher Vorschriften.
- Vorfallanalyse: Analyse bereits aufgetretener Zwischenfälle und Verhinderung künftiger Zwischenfälle.
Komponenten zur Prüfung und Überwachung
Datenerhebung
- Protokolle: Aufzeichnungen von Benutzer- und Systemaktionen auf allen Ebenen.
- Metriken: Systemleistungsdaten (z. B. CPU-Auslastung, Speichernutzung).
Datenspeicherung
- Log-Speicher: Sammeln von Daten aus verschiedenen Quellen, organisierte verteilte Speicherung von Protokollen und Metriken nach Themenbereichen.
- Log Rotation: Automatische Löschung alter Protokolle, um Speicherplatz zu sparen.
Datenanalyse
- Suchen und Filtern: Möglichkeit, Protokolle nach verschiedenen Kriterien zu suchen und zu filtern.
- Analytik: Verwendung von Datenanalysetools (z. B. Zabbix).
Warnungen
- Alerts: Senden von Benachrichtigungen über verdächtige Aktivitäten, Notfälle (z.B. E-Mail, Telegram-Chat).
- Automatische Aktionen: Automatisches Reagieren auf Vorfälle (z. B. Sperren eines Nutzers).
Beispielhafte Implementierung
Protokollierung
Verwendung einer Bibliothek für die Protokollierung in der Anwendung.
|
|
Erfassung von Fehlern in den Daten von Zählern
|
|
Holzlagerung
Verwendung eines zentralen Speichers für Protokolle.
Tabelle audits
.
In dieser Tabelle werden Datenprotokollierungsinformationen gespeichert.
Feld | Typ | Beschreibung |
---|---|---|
id |
integer |
Eindeutiger Bezeichner des Datensatzes (Primärschlüssel). |
auditable_id |
integer |
Referenz auf das geprüfte Objekt (equipment.id , stations.id …). |
auditable_type |
Character varying |
Auditierbares Objekt (equipment , stations …). |
user_id |
integer |
Verweis auf die Benutzerkennung (users.id ) |
action |
Zeichen variierend |
Aktion |
audited_changes |
jsonb |
Geprüfte Änderungen |
version |
integer |
Version der Änderungen |
remote_address |
Zeichen variierend |
Gelöschte Adresse |
request_uuid |
Zeichen variierend |
Der Bezeichner des Ereignisses. |
created_at |
timestamp(6) without time zone |
Datum/Uhrzeit der Änderung. |
Tabelle error_logs
.
In dieser Tabelle werden Informationen über Fehler in den von den Zählern stammenden Daten gespeichert.
Feld | Typ | Beschreibung |
---|---|---|
id |
integer |
Eindeutiger Bezeichner des Datensatzes (Primärschlüssel). |
loggable_id |
integer |
Referenz auf das registrierte Objekt (equipment.id …). |
loggable_type |
Character varying |
Registriertes Objekt (equipment …). |
message |
integer |
Verweis auf den Fehlerbezeichner. |
params |
jsonb |
Merkmale des Fehlers. |
created_at |
timestamp(6) without time zone |
Datum/Uhrzeit der Änderung. |
Protokollanalyse
Werkzeuge für die Analyse von Protokollen:
- Einrichten von Webformularen zur Visualisierung und Analyse von Protokollen.
- Erstellen von Dashboards zur Überwachung der Benutzeraktivitäten.
Warnungen
Maßgeschneiderte Warnmeldungen bei verdächtigen Aktivitäten:
- Konfigurieren von Alarmen in Zabbix zur Überwachung von Metriken.
- Versenden von Benachrichtigungen per E-Mail oder Telegram-Chat bei Alarmereignissen.
Vorteile von Auditing und Monitoring
Auditing und Monitoring sind leistungsstarke Datenschutz-Tools, mit denen Sie Benutzer- und Systemaktivitäten verfolgen, verdächtige Aktivitäten erkennen und die Einhaltung von Sicherheitsvorschriften gewährleisten können. Sie ermöglichen es Ihnen:
- Gewährleistung der Verantwortlichkeit und Sicherheit der Daten.
- Erkennen und Verhindern von Zwischenfällen.
- Erfüllung gesetzlicher Anforderungen.