Sicherheit und Verschlüsselung in NCache

NCache bietet einen robusten Satz von Sicherheitdienst Funktionen zum Schutz verteilter Caching-Umgebungen ohne Leistungseinbußen. Mit den Zugriffskontrollen können Sie beispielsweise Benutzerberechtigungen für bestimmte Caches und Knoten definieren und so sicherstellen, dass nur autorisierte Benutzer bestimmte Vorgänge ausführen können. Darüber hinaus ermöglicht die LDAP-Integration eine zentrale Authentifizierung und vereinfacht so die Verwaltung des sicheren Zugriffs im gesamten System.

Darüber hinaus, um sensible Daten zu schützen, Datenverschlüsselung sichert es sowohl im Speicher als auch während der Übertragung mit Algorithmen wie AES, 3DES und AES FIPS. Dies geht jedoch mit zusätzlichen Leistungseinbußen einher. Für eine effizientere Netzwerksicherheit TLS-Verschlüsselung sichert die Kommunikation zwischen Clients, Servern und Bridges mit weniger Overhead und ermöglicht Ihnen die Auswahl der zu schützenden Kommunikationspfade. Darüber hinaus HTTPS-Unterstützung sichert den Zugriff auf die NCache Das Management Center unter Windows und Linux verwendet TLS-Zertifikate und gewährleistet so einen sicheren und verschlüsselten administrativen Zugriff. Diese Sicherheitsfunktionen in NCache werden in die folgenden drei Hauptbereiche unterteilt:

  1. Benutzersicherheit
  2. Verschlüsselung
  3. Transport Layer Security
NCache Verteilte Cache-Architektur für .NET, Java, Node.js und Python unter Windows und Linux.
Multi-Plattform NCache Cluster für Microservices und Legacy-Daten.

Rollenbasierte Zugriffskontrolle (RBAC) und Benutzerauthentifizierung

Benutzersicherheit in NCache Gewährleistet eine sichere Zugriffskontrolle durch die Verwaltung von Authentifizierung und Autorisierung für Benutzer, die mit Cache-Clustern interagieren.

Authentifizierung und Autorisierung

NCache bietet Sicherheit mit in das Produkt integrierter Authentifizierung und Autorisierung. NCache kategorisiert die Benutzer basierend auf den zwei verschiedenen Sicherheitsstufen wie folgt:

  1. Knotenadministratoren: Knotenadministratoren sind Superuser mit voller Kontrolle über den Cache. Sie können Caches erstellen, ändern und entfernen sowie alle Cache-Verwaltungsaufgaben ausführen. Sie können Sicherheitskonfigurationen speichern oder verwerfen und die Berechtigungen von Cache-Benutzern übernehmen, um mit Caches über die NCache API.
  2. Cache-Benutzer: Wenn Sie Benutzern den Zugriff auf die Cache-API ohne Knotenverwaltungsberechtigungen beschränken möchten, können Sie sie als Cache-Benutzer konfigurieren. Dadurch sind ihnen Datenoperationen wie Hinzufügen, Entfernen, Aktualisieren und Abrufen über die entsprechenden APIs im Cache, auf den sie Zugriff haben, vorbehalten. Wenn Sie jedoch allen Benutzern Vollzugriff auf den Knoten und die konfigurierten Caches gewähren möchten, müssen Sie keine Cache-Benutzer einrichten, da Knotenadministratoren bereits die vollständige Kontrolle über den Cache haben.
NCache Sicherheitsmodell mit LDAP, RSA-Verschlüsselung und TLS.
Integrierter LDAP-Authentifizierungs- und RSA/TLS-Verschlüsselungsworkflow.

Authentifizierung

NCache Implementiert rollenbasierte Zugriffskontrolle (RBAC), um sicherzustellen, dass nur autorisierte Benutzer auf den Cluster zugreifen oder ihn verwalten können. Durch die native Integration mit LDAP-fähigen Verzeichnisdiensten (wie Microsoft Active Directory), NCache setzt eine zentrale Authentifizierung durch, die es Organisationen ermöglicht, Sicherheitsrichtlinien innerhalb ihrer bestehenden Identitätsinfrastruktur zu verwalten. NCache Wenn die Sicherheitseinstellungen aktiviert sind, müssen alle Verbindungen zum Cache-Cluster zunächst anhand des LDAP-Verzeichnisses auf dem Cache-Server authentifiziert werden. Dabei müssen die Benutzer ihren Benutzernamen, ihren Distinguished Name (DN) und ihr Passwort angeben. Schlägt die Authentifizierung fehl, wird die Verbindungsanfrage abgelehnt.

In diesem Szenario führt ein Verbindungsabbruch zum Domänencontroller zu einem Validierungsfehler, und der Benutzer kann keine Aktionen ausführen. Um dies zu vermeiden, NCache bietet Credential Caching an, bei dem die Anmeldeinformationen des Benutzers gespeichert werden in NCache Damit ein bereits authentifizierter Benutzer sich während des Prozesses nicht erneut authentifizieren muss, ist diese Funktion standardmäßig deaktiviert und kann vom Benutzer über die Dienstkonfigurationsdatei aktiviert werden. Je nach Sicherheitsstufe müssen Sie die Benutzeranmeldeinformationen an den folgenden Stellen angeben. Weitere Informationen finden Sie in der Dokumentation. NCache Dokumentation.

  • Knotenadministratoren: Fügen Sie die Knotenadministratoren wie folgt hinzu:

    Add-NCacheUserOrGroup -Server 20.200.20.40 -AccessLevel Admin -AdminCredentials(Get-Credential john_smith) -UserOrGroupName john_smith -UserOrGroupDN "CN=John Smith,OU=engineers,DC=example,DC=com" -DomainController test_domain

    Dann kannst du Sicherheit aktivieren wie Sie unten sehen können:

    Enable-NCacheSecurity -Server 20.200.20.40 -AdminCredentials(Get-Credential john_smith) -WriteCredentialsToServiceConfig

    Sie können die Sicherheit auf Knotenebene auch mithilfe der NCache Management Center.

  • Cache-Benutzer:

    Sie haben Ihren Knoten und seine Caches erfolgreich gesichert. Um bestimmte Benutzer auf Cache-Operationen ohne vollständige Verwaltungsrechte zu beschränken, fügen Sie sie wie bereits erwähnt als Cache-Benutzer hinzu. Verwenden Sie dasselbe Cmdlet für Knotenadministratoren, indem Sie AccessLevel als Cache und CacheName (den Namen des Caches, auf den der Benutzer zugreifen soll) angeben. Führen Sie den folgenden Befehl aus:

    Add-NCacheUserOrGroup -Server 20.200.20.40 -AccessLevel Cache -CacheName demoCache -AdminCredentials(Get-Credential john_smith) -UserOrGroupName john_smith -UserOrGroupDN "CN=John Smith,OU=engineers,DC=example,DC=com" -DomainController test_domain -EnableSecurity Yes

    Sie können auch die Anmeldeinformationen konfigurieren programmatisch. Ein Beispiel für den Aufruf dieser Methode mit den erforderlichen Benutzeranmeldeinformationen wird unten angezeigt:

    // Specify cache name and user credentials
    string cacheName = "demoCache";
    string userId = "userid";
    string password = "mypassword";
    
    // Initialize the CacheConnectionOptions
    var options = new CacheConnectionOptions();
    
    // Enter the credentials
    options.UserCredentials = new Credentials(userId, password);
    
    // Connect to the cache using the security credentials
    ICache cache = CacheManager.GetCache(cacheName, options);

Einheitliche Sicherheitseinstellungen

Nachdem die Sicherheitseinstellungen für einen Knoten festgelegt wurden, müssen Sie sicherstellen, dass alle Knoten im Cluster über ähnliche Sicherheitseinstellungen verfügen. Der Benutzer, der auf einem Knoten als Knotenadministrator fungiert, sollte auch auf allen anderen Knoten im Cluster Administrator sein. Ebenso sollte der Benutzer, der auf einem Knoten als Cache-Benutzer fungiert, auch auf allen anderen Knoten als Cache-Benutzer fungieren. Werden keine einheitlichen Sicherheitseinstellungen auf allen Knoten eines Clusters gewährleistet, können beim Verwalten und Betreiben des Caches verschiedene Probleme auftreten.

Genehmigung

Nach NCache authentifiziert eine Verbindung zum Cache erfolgreich, prüft es NCache Konfigurationsdateien auf dem Cache-Server, um diese Verbindung zu autorisieren. Sobald eine Verbindung gegenüber dem Active Directory authentifiziert ist, wird sie entweder vom security.ncconf Datei oder die client.ncconf abhängig davon, ob Sie Sicherheit auf Knotenebene bzw. Cacheebene verwenden.

Verschlüsselung

Wenn Ihre Anwendung vertrauliche und sensible Daten verarbeitet, die Sie schützen möchten, und Sie ein Verteilter In-Memory-Cachemüssen Sie sicherstellen, dass Ihr verteilter Cache diese sensiblen Daten durch Verschlüsselung vor unerwünschtem Zugriff schützt.

NCache Datenverschlüsselungsprozess unter Verwendung von DEK und KEK mit RSA-gesichertem Schlüsselaustausch.
Zero-Trust-Datenverschlüsselungsarchitektur für verteilte Umgebungen.

Datenverschlüsselung

NCache Unterstützt eine Vielzahl branchenüblicher Verschlüsselungsalgorithmen, darunter AES-256 und FIPS-konformes AES, um Unternehmen bei der Einhaltung regulatorischer Anforderungen wie PCI-DSS, HIPAA und DSGVO zu unterstützen. Dadurch wird sichergestellt, dass Ihre sensiblen Daten gemäß den vom NIST empfohlenen kryptografischen Standards geschützt bleiben. NCache unterstützt die folgenden Verschlüsselungsalgorithmen:

  • Dreifacher Datenverschlüsselungsstandard (3DES)
  • Erweiterter Verschlüsselungsstandard (AES)
  • Erweiterter Verschlüsselungsstandard – Federal Information Processing Standards (AES-FIPS)

Nachfolgend finden Sie Einzelheiten zu jedem Algorithmus und den unterstützten Varianten:

Dreifacher Datenverschlüsselungsstandard (3DES)

Triple Data Encryption Standard (3DES) ist ein symmetrischer Blockverschlüsselungsalgorithmus, der den DES-Verschlüsselungsalgorithmus dreimal auf jeden Datenblock anwendet. Verschiedene Varianten des 3DES-Algorithmus werden unterstützt von NCache sind:

  • 3DES-128: 128-Bit-Verschlüsselung
  • 3DES-192: 192-Bit-Verschlüsselung

Erweiterter Verschlüsselungsstandard (AES)

Advanced Encryption Standard (AES) ist ein symmetrischer Blockchiffrieralgorithmus mit einer Block-/Chunkgröße von 128 Bit. Er konvertiert diese einzelnen Blöcke mit Schlüsseln von 128, 192 und 256 Bit. Nach der Verschlüsselung werden diese Blöcke zum Geheimtext zusammengefügt. Verschiedene Varianten des AES-Algorithmus werden unterstützt von NCache sind:

  • AES-128: 128-Bit-Verschlüsselung
  • AES-192: 192-Bit-Verschlüsselung
  • AES-256: 256-Bit-Verschlüsselung

Arbeitsablauf zur Datenverschlüsselung

NCache Die Datenverschlüsselung und -entschlüsselung erfolgt innerhalb des NCache Client-Bewerbungsprozess. Daher sind alle Daten, die über das Netzwerk zwischen Ihrer Anwendung und dem Cache-Cluster übertragen werden, bereits verschlüsselt. Ebenso werden nur verschlüsselte Daten im Cache-Speicher gespeichert. Sie geben einen Verschlüsselungsschlüssel an, der NCache verwendet, die im Inneren aufbewahrt wird NCache Sicherheitskonfigurationsdateien auf jedem Cache-Server verschlüsselt. Der Verschlüsselungsschlüssel wird bei erfolgreicher Verbindung automatisch an die Clients gesendet und im Speicher verwendet.

Sie können die Verschlüsselung über aktivieren NCache Management Center ohne Programmieraufwand Ihrerseits. Sobald die Verschlüsselung aktiviert ist, wird die NCache Der Client beginnt automatisch mit der Verschlüsselung Ihrer Objekte, bevor er sie an den Cache-Cluster sendet. Außerdem werden aus dem Cache abgerufene Objekte automatisch entschlüsselt, bevor sie an Ihre Anwendung übermittelt werden.

Verschlüsselungsschlüsselverwaltung

Verschlüsselungsschlüsselverwaltung in NCache Dies beinhaltet die sichere Handhabung aller Verschlüsselungsschlüssel, einschließlich des Schlüsselverschlüsselungsschlüssels (KEK), des Datenverschlüsselungsschlüssels (DEK) und des Anmeldeinformationsverschlüsselungsschlüssels (CEK), wie nachfolgend erläutert.

  • Schlüsselverschlüsselungsschlüssel (KEK): Der auf AES-256-Verschlüsselung basierende Schlüsselverschlüsselungsschlüssel (KEK) sichert den Datenverschlüsselungsschlüssel (DEK) durch dessen Verschlüsselung. Dieser Schlüssel muss in der Konfiguration festgelegt werden. NCache Dienstkonfigurationsdatei auf dem Server. Um Konsistenz und Sicherheit auf allen Cache-Servern in einer verteilten Umgebung zu gewährleisten, muss auf jedem Server derselbe Schlüsselverschlüsselungsschlüssel (KEK) verwendet werden.
  • Datenverschlüsselungsschlüssel (DEK): Der Datenverschlüsselungsschlüssel (DEK) verschlüsselt Benutzerdaten, bevor diese im Cache gespeichert werden. Dieser DEK selbst wird mithilfe des KEK verschlüsselt. Dadurch wird sichergestellt, dass nur autorisierte Tools oder Prozesse die Verschlüsselungsschlüssel abrufen und verwenden können.
  • Verschlüsselungsschlüssel für Anmeldeinformationen (CEK): NCache Die in der Client-Konfigurationsdatei (client.ncconf) gespeicherten Benutzeranmeldeinformationen werden mithilfe eines Anmeldeinformationsverschlüsselungsschlüssels (CEK) verschlüsselt. Dieser Schlüssel muss in der Konfigurationsdatei konfiguriert werden. NCache Dienstkonfigurationsdatei. Ähnlich wie beim KEK muss auf jedem Server derselbe Credentials Encryption Key (CEK) verwendet werden. Dies gewährleistet Konsistenz und schützt Client-Anmeldeinformationen effektiv in verteilten Umgebungen.

RSA-Verschlüsselung (Transport mit öffentlichem/privatem Schlüssel)

Zum sicheren Austausch von Verschlüsselungsschlüsseln und Benutzeranmeldeinformationen, NCache Es verwendet RSA-basierte Public/Private-Key-Verschlüsselung. Die RSA-Verschlüsselung wird ausschließlich für den Transport von Schlüsseln und Anmeldeinformationen während der Kommunikation zwischen Clients und Servern sowie beim Server-zu-Server-Austausch verwendet.

  • RSA schützt die Übertragung von Benutzeranmeldeinformationen, KEK und CEK während des Schlüsselaustauschprozesses.
  • Jede beteiligte Komponente generiert dynamisch zur Laufzeit ein öffentliches/privates RSA-Schlüsselpaar, um einen sicheren Schlüsselaustausch durchzuführen.
  • Dadurch wird sichergestellt, dass sensible Schlüssel und Anmeldeinformationen niemals im Klartext übertragen werden, selbst bevor die Transport Layer Security (TLS)-Verschlüsselung angewendet wird.

Transport Layer Security

Während NCache Die integrierte Datenverschlüsselungsfunktion sichert Daten im Speicher und während der Übertragung über das Netzwerk. Allerdings geht die Datenverschlüsselung mit einem zusätzlichen Leistungsverlust einher. Transport Layer Security (TLS) hingegen bietet einen umfassenderen Ansatz zur Datensicherung während der Netzwerkübertragung und folgt dabei branchenüblichen Verfahren. Obwohl auch TLS die Leistung beeinträchtigt, ist es in der Regel ressourcenschonender als die Datenverschlüsselung.

NCache TLS-Diagramm zur Veranschaulichung von regulärem und gegenseitigem TLS (mTLS) für die Client-Server-Kommunikation.
End-to-End-Netzwerkintegrität durch TLS 1.3 und gegenseitige Authentifizierung.

Normales TLS

Transport Layer Security (TLS)-Verschlüsselung sichert den Datenaustausch zwischen Servern und Clients, verschiedenen Servern, Caches und Bridges. Benutzer können jedes ausgestellte oder selbstsignierte Zertifikat für Verbindungen mit den Clients aktivieren oder Komponenten-zu-Komponenten-Verbindungen in NCacheDadurch ist eine verschlüsselte Datenübertragung gewährleistet, die von TLS-gesicherten Daten getrennt ist.

NCache TLS bietet robuste Transport Layer Security (TLS 1.2 und 1.3) zum Schutz von Daten während der Übertragung. Dies umfasst die Unterstützung von Mutual TLS (mTLS) für die Zwei-Wege-Authentifizierung zwischen Clients und Servern. Dadurch wird eine verschlüsselte Kommunikation über alle Kanäle gewährleistet, einschließlich Client-Server-, Server-Server- und WAN-Bridge-Verbindungen. Zur Einrichtung dieser sicheren Kanäle verwendet TLS digitale Zertifikate zur Authentifizierung. Diese Zertifikate können entweder im Trusted Root- oder im persönlichen Zertifikatsspeicher (My-Speicher) installiert werden, was Flexibilität in Umgebungen bietet, in denen Gruppenrichtlinien die Verwendung des Root-Speichers einschränken. Es werden Zertifikate von öffentlichen Zertifizierungsstellen empfohlen, um zusätzliche Konfigurationen der Vertrauensstellung zu vermeiden. Es können jedoch auch Zertifikate von privaten Zertifizierungsstellen verwendet werden, sofern die ausstellende Zertifizierungsstelle auf allen Servern und Clients dem Trusted Root-Speicher hinzugefügt wird.

Gegenseitiges TLS

NCache Unterstützt sowohl reguläres TLS als auch Mutual TLS für sichere Authentifizierung. Bei regulärem TLS wird auf jedem Server ein Serverzertifikat installiert. NCache Der Server ermöglicht es Clients, die Identität des Servers während des Handshakes zu überprüfen. Mutual TLS verstärkt diesen Prozess zusätzlich durch die Anforderung von Client-Zertifikaten und stellt so sicher, dass sich Client und Server vor dem Aufbau einer sicheren Verbindung gegenseitig authentifizieren. Für eine sichere Kommunikation in der gesamten verteilten Caching-Umgebung schützt TLS nun nicht nur die Client-Server-Interaktionen, sondern auch die Server-Server-Kommunikation und den Datenaustausch über Bridge-Verbindungen.

TLS-Clusterweit konfigurieren

NCache bietet eine nahtlose Möglichkeit zur Konfiguration von Transport Layer Security (TLS) über das neue Aktivieren-NCacheTLS und Deaktivieren-NCacheTLS Cmdlets. Sobald Zertifikate installiert und TLS aktiviert sind, wird eine sichere Kommunikation zwischen allen beteiligten Knoten sichergestellt. Konfigurationsänderungen erfordern ein NCache Ein Neustart des Dienstes wird erforderlich, damit die Funktion wirksam wird. Benutzer können den Verschlüsselungsstatus über das Management Center oder anhand von Protokollen überprüfen, die erfolgreiche TLS-Handshake-Vorgänge anzeigen.

Um die TLS-Verschlüsselung in Windows oder Linux zu konfigurieren, folgen Sie der Dokumentation auf Konfigurieren Sie die TLS-Verschlüsselung in NCache

NCache Sicherheit: FIPS- und RBAC-Matrix

Sicherheitsschicht Technologie / Standard Ziel
Authentifizierung LDAP / Active Directory Zentralisiert das Identitätsmanagement; überprüft die Benutzeridentität anhand vorhandener Domänencontroller des Unternehmens.
Genehmigung RBAC (Administrator vs. Benutzer) Setzt das Prinzip der minimalen Berechtigungen durch, indem Verwaltungsaufgaben auf bestimmte autorisierte Rollen beschränkt werden.
Datenschutz AES-256 / FIPS 140-2 Gewährleistet die Vertraulichkeit von Daten im Ruhezustand, im Speicher und während der Übertragung unter Verwendung von NIST-empfohlenen kryptografischen Standards.
Netzwerkintegrität TLS 1.3 / mTLS Bietet Ende-zu-Ende-Verschlüsselung; Mutual TLS verhindert Man-in-the-Middle-Angriffe (MITM) und gewährleistet die Zwei-Wege-Verifizierung.
Verwaltungszugriff HTTPS / TLS Sichert die NCache Management Center (Windows & Linux) mit verschlüsselter administrativer Kommunikation.

Was macht man als nächstes?

Häufig gestellte Fragen (FAQ)

Ja. NCache Unterstützt AES-FIPS (Federal Information Processing Standards), was für Regierungsbehörden und Organisationen in stark regulierten Branchen unerlässlich ist. Dadurch wird sichergestellt, dass alle Daten im verteilten Cache die strengen Sicherheitsanforderungen des Bundes erfüllen.

NCache Führt die Datenverschlüsselung und -entschlüsselung innerhalb des Client-Anwendungsprozesses durch. Indem die Daten verschlüsselt werden, bevor sie über das Netzwerk gesendet werden, NCache Gewährleistet, dass ausschließlich verschlüsselter Text über die Leitung übertragen und im Cache gespeichert wird. Dies reduziert die Verarbeitungslast der Cache-Server und erhält eine Zero-Trust-Umgebung aufrecht.

Selbstverständlich. NCache Bietet eine native LDAP-Integration, sodass Sie Ihr bestehendes Microsoft Active Directory oder andere LDAP-fähige Verzeichnisdienste für die zentrale Authentifizierung nutzen können. Dies vereinfacht die Benutzerverwaltung durch die Nutzung der vorhandenen Identitätsinfrastruktur Ihres Unternehmens.

Reguläres TLS bietet serverseitige Authentifizierung, bei der der Client die Identität des Servers überprüft. Mutual TLS (mTLS) fügt eine zusätzliche Sicherheitsebene hinzu, indem es vom Client die Bereitstellung eines Zertifikats verlangt. Dadurch wird sichergestellt, dass beide Enden der Verbindung verifiziert werden, bevor Daten ausgetauscht werden.

Ja. NCache nutzt ein rollenbasiertes Zugriffskontrollmodell (RBAC) mit zwei Hauptebenen: Knotenadministratoren, die über volle Clusterverwaltungsrechte verfügen, und Cache-Benutzer, deren Zugriff auf grundlegende Daten-API-Operationen (Hinzufügen, Abrufen, Entfernen) gemäß dem „Prinzip der geringsten Rechtevergabe“ beschränkt ist.

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.