Sicurezza e crittografia in NCache

NCache fornisce un set robusto di sicurezza Funzionalità progettate per proteggere gli ambienti di caching distribuito senza compromettere le prestazioni. Ad esempio, i controlli di accesso offerti consentono di definire le autorizzazioni utente per cache e nodi specifici, garantendo che solo gli utenti autorizzati possano eseguire determinate operazioni. Inoltre, l'integrazione LDAP consente l'autenticazione centralizzata, semplificando la gestione dell'accesso sicuro in tutto il sistema.

Inoltre, per proteggere i dati sensibili, Crittografia dei dati protegge i dati sia in memoria che durante la trasmissione utilizzando algoritmi come AES, 3DES e AES FIPS. Tuttavia, comporta un costo aggiuntivo in termini di prestazioni. Per una sicurezza di rete più efficiente, Crittografia TLS protegge la comunicazione tra client, server e bridge con meno overhead e consente di scegliere quali percorsi di comunicazione proteggere. Inoltre, Supporto HTTPS garantisce l'accesso al NCache Management Center su Windows e Linux utilizzando certificati TLS, garantendo un accesso amministrativo sicuro e crittografato. Queste funzionalità di sicurezza in NCache sono classificati nelle seguenti tre aree principali:

  1. Sicurezza dell'utente
  2. crittografia
  3. Transport Layer Security
NCache architettura di cache distribuita per .NET, Java, Node.js e Python su Windows e Linux.
Multi piattaforma NCache cluster per microservizi e dati legacy.

Controllo degli accessi basato sui ruoli (RBAC) e autenticazione utente

Sicurezza dell'utente in NCache garantisce un controllo sicuro degli accessi gestendo l'autenticazione e l'autorizzazione per gli utenti che interagiscono con i cluster di cache.

Autenticazione e autorizzazione

NCache fornisce sicurezza con autenticazione e autorizzazione integrate nel prodotto. NCache classifica gli utenti in base ai due diversi livelli di sicurezza come segue:

  1. Amministratori dei nodi: Gli amministratori dei nodi sono super-utenti con il pieno controllo sulla cache. Possono creare, modificare e rimuovere cache, nonché eseguire qualsiasi attività di gestione della cache. Hanno la possibilità di salvare o eliminare le configurazioni di sicurezza e possono ereditare le capacità degli utenti della cache di interagire con le cache utilizzando NCache API.
  2. Utenti della cache: Se si desidera limitare l'accesso degli utenti solo all'API della cache, senza privilegi di gestione dei nodi, è possibile configurarli come Utenti Cache, limitandoli a operazioni sui dati come Aggiungi, Rimuovi, Aggiorna e Recupera tramite le API pertinenti sulla cache a cui hanno accesso. Tuttavia, se si preferisce che tutti gli utenti abbiano pieno accesso per eseguire operazioni sul nodo e sulle cache configurate, non è necessario configurare Utenti Cache, poiché gli Amministratori dei Nodi hanno già il controllo completo sulla cache.
NCache modello di sicurezza con LDAP, crittografia RSA e TLS.
Flusso di lavoro integrato di autenticazione LDAP e crittografia RSA/TLS.

Autenticazione

NCache Implementa il controllo degli accessi basato sui ruoli (RBAC) per garantire che solo gli utenti autorizzati accedano o amministrino il cluster. Integrandosi nativamente con i servizi di directory supportati da LDAP (come Microsoft Active Directory), NCache impone l'autenticazione centralizzata, consentendo alle organizzazioni di gestire le policy di sicurezza all'interno della loro infrastruttura di identità esistente. Quando NCache Se la sicurezza è abilitata, tutte le connessioni al cluster di cache devono essere prima autenticate tramite la directory LDAP sul server di cache. Durante questo processo, gli utenti devono fornire il proprio nome utente, nome distinto (DN) e password. Se l'autenticazione di queste credenziali fallisce, la richiesta di connessione viene rifiutata.

In questo scenario, se la connessione con il controller di dominio si interrompe, la convalida fallisce e l'utente non può eseguire alcuna operazione. Per evitare ciò, NCache offre la memorizzazione nella cache delle credenziali, in cui le credenziali dell'utente vengono memorizzate NCache In questo modo, un utente già autenticato non dovrà autenticarsi ripetutamente durante il processo. Questa opzione è disabilitata per impostazione predefinita e l'utente può abilitarla tramite il file di configurazione del servizio. È necessario specificare le credenziali utente nei seguenti punti, in base al livello di sicurezza. Per ulteriori dettagli, fare riferimento a NCache Documentazione.

  • Amministratori dei nodi: Aggiungere gli amministratori del nodo come segue:

    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

    Poi si può abilitare la sicurezza come puoi vedere qui sotto:

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

    È anche possibile configurare la sicurezza a livello di nodo utilizzando NCache Centro di gestione.

  • Utenti della cache:

    Hai protetto correttamente il tuo nodo e le sue cache. Come discusso in precedenza, per limitare determinati utenti alle operazioni di cache senza diritti di gestione completi, aggiungili come Utenti Cache. Utilizza lo stesso cmdlet per gli Amministratori Nodo, specificando AccessLevel come Cache e CacheName (il nome della cache a cui desideri che l'utente acceda). Esegui il seguente comando:

    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

    Puoi anche configurare le credenziali programmaticamenteDi seguito è riportato un esempio di come chiamare questo metodo con le credenziali utente richieste:

    // 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);

Impostazioni di sicurezza omogenee

Dopo aver definito le impostazioni di sicurezza per un nodo, è necessario assicurarsi che tutti i nodi del cluster abbiano impostazioni di sicurezza simili. L'utente che funge da Amministratore Nodo su un nodo dovrebbe essere l'amministratore di tutti gli altri nodi del cluster. Allo stesso modo, l'utente che funge da Utente Cache su un nodo dovrebbe essere un Utente Cache sugli altri nodi. Se non vengono garantite impostazioni di sicurezza omogenee su tutti i nodi di un cluster, si potrebbero riscontrare diversi problemi durante la gestione e l'utilizzo della cache.

Autorizzazione

Dopo NCache autentica correttamente una connessione alla cache, verifica NCache file di configurazione sul server cache per autorizzare questa connessione. Una volta che una connessione è autenticata rispetto ad Active Directory, viene autorizzata da sicurezza.ncconf file o il client.ncconf a seconda che si utilizzi rispettivamente la sicurezza a livello di nodo o a livello di cache.

crittografia

Se la tua applicazione gestisce dati riservati e sensibili che desideri proteggere e stai utilizzando un cache distribuita in memoria, devi assicurarti che la tua cache distribuita protegga questi dati sensibili da accessi indesiderati tramite la crittografia.

NCache processo di crittografia dei dati mediante DEK e KEK con scambio di chiavi protetto da RSA.
Architettura di crittografia dei dati Zero-Trust per ambienti distribuiti.

Crittografia dei dati

NCache Supporta un ampio set di algoritmi di crittografia standard del settore, tra cui AES-256 e AES conforme a FIPS, per aiutare le organizzazioni a soddisfare i requisiti normativi come PCI-DSS, HIPAA e GDPR. Ciò garantisce che i dati sensibili rimangano protetti utilizzando gli standard crittografici raccomandati dal NIST. NCache supporta i seguenti algoritmi di crittografia:

  • Triplo standard di crittografia dei dati (3DES)
  • Advanced Encryption Standard (AES)
  • Standard di crittografia avanzata - Standard federali per l'elaborazione delle informazioni (AES-FIPS)

Di seguito sono riportati i dettagli di ciascun algoritmo e delle varianti supportate:

Triplo standard di crittografia dei dati (3DES)

Il Triple Data Encryption Standard (3DES) è un algoritmo di cifratura a blocchi a chiave simmetrica, che applica l'algoritmo di cifratura DES tre volte a ciascun blocco di dati. Diverse varianti dell'algoritmo 3DES sono supportate da NCache siamo:

  • 3DES-128: 128-bit di crittografia
  • 3DES-192: 192-bit di crittografia

Advanced Encryption Standard (AES)

L'Advanced Encryption Standard (AES) è un algoritmo di cifratura a blocchi simmetrico con una dimensione di blocco/chunk di 128 bit. Converte questi singoli blocchi utilizzando chiavi di 128, 192 e 256 bit. Una volta crittografati, questi blocchi vengono uniti per formare il testo cifrato. Diverse varianti dell'algoritmo AES sono supportate da NCache siamo:

  • AES-128: 128-bit di crittografia
  • AES-192: 192-bit di crittografia
  • AES-256: 256-bit di crittografia

Flusso di lavoro di crittografia dei dati

NCache la crittografia e la decrittografia dei dati avvengono all'interno di NCache processo di richiesta del cliente. Pertanto, tutti i dati che viaggiano sulla rete tra l'applicazione e il cluster di cache sono già crittografati. Allo stesso modo, solo i dati crittografati vengono archiviati nel cache store. Fornisci una chiave di crittografia che NCache usi, che è tenuto all'interno NCache file di configurazione di sicurezza su ogni server cache in modo crittografato. La chiave di crittografia viene inviata automaticamente ai client per essere utilizzata in memoria in caso di connessione riuscita.

È possibile abilitare la crittografia tramite NCache Centro di gestione senza alcuno sforzo di programmazione da parte tua. Una volta abilitata la crittografia, il NCache il client inizia automaticamente a crittografare gli oggetti prima di inviarli al cluster di cache. Inoltre, decrittografa automaticamente gli oggetti recuperati dalla cache prima di consegnarli all'applicazione.

Gestione delle chiavi di crittografia

Gestione delle chiavi di crittografia in NCache comporta la gestione sicura di tutte le chiavi di crittografia, tra cui la chiave di crittografia della chiave (KEK), la chiave di crittografia dei dati (DEK) e la chiave di crittografia delle credenziali (CEK), come illustrato di seguito.

  • Chiave di crittografia a chiave (KEK): La chiave di crittografia a chiave (KEK), basata sulla crittografia AES 256, protegge la chiave di crittografia dei dati (DEK) crittografandola. Questa chiave deve essere configurata in NCache File di configurazione del servizio sul server. Per garantire coerenza e sicurezza su tutti i server cache in un ambiente distribuito, è necessario utilizzare la stessa chiave di crittografia (KEK) su ciascun server.
  • Chiave di crittografia dei dati (DEK): La chiave di crittografia dei dati (DEK) è responsabile della crittografia dei dati utente prima che vengano archiviati nella cache. Questa DEK è a sua volta crittografata tramite la KEK. Questo approccio garantisce che solo strumenti o processi autorizzati possano recuperare e utilizzare le chiavi di crittografia.
  • Chiave di crittografia delle credenziali (CEK): NCache crittografa le credenziali utente memorizzate nel file di configurazione del client (client.ncconf) utilizzando una chiave di crittografia delle credenziali (CEK). Questa chiave deve essere configurata in NCache File di configurazione del servizio. Analogamente alla KEK, la stessa chiave di crittografia delle credenziali (CEK) deve essere utilizzata su ogni server. Ciò garantisce coerenza e protegge efficacemente le credenziali client in ambienti distribuiti.

Crittografia RSA (trasporto di chiave pubblica/privata)

Per scambiare in modo sicuro le chiavi di crittografia e le credenziali utente, NCache Utilizza la crittografia a chiave pubblica/privata basata su RSA. La crittografia RSA viene utilizzata solo per il trasporto di chiavi e credenziali durante la comunicazione tra client e server, nonché negli scambi tra server.

  • RSA protegge la trasmissione delle credenziali utente, KEK e CEK durante il processo di scambio delle chiavi.
  • Ogni componente partecipante genera dinamicamente una coppia di chiavi RSA pubblica/privata in fase di esecuzione per eseguire uno scambio di chiavi sicuro.
  • Ciò garantisce che le chiavi e le credenziali sensibili non vengano mai trasmesse in chiaro, anche prima che venga applicata la crittografia Transport Layer Security (TLS).

Transport Layer Security

Mentre NCache Include una funzionalità di crittografia dei dati, che protegge i dati in memoria e durante la trasmissione in rete. Tuttavia, la crittografia dei dati comporta un costo aggiuntivo in termini di prestazioni. D'altro canto, Transport Layer Security (TLS) offre un approccio più completo alla protezione dei dati durante la trasmissione in rete, seguendo le pratiche standard del settore. Sebbene TLS abbia anch'esso un impatto sulle prestazioni, tende a richiedere meno risorse rispetto all'alternativa, ovvero la crittografia dei dati.

NCache Diagramma TLS che mostra TLS regolare e reciproco (mTLS) per la comunicazione client-server.
Integrità della rete end-to-end tramite TLS 1.3 e autenticazione reciproca.

TLS regolare

Transport Layer Security La crittografia (TLS) protegge lo scambio di dati tra server e client, server diversi, cache e bridge. Gli utenti possono abilitare qualsiasi certificato emesso o autofirmato per le connessioni con i client o abilitare connessioni da componente a componente in NCacheCiò garantisce la trasmissione crittografata dei dati, separata dai dati protetti tramite TLS.

NCache Fornisce una solida sicurezza del livello di trasporto (TLS 1.2 e 1.3) per proteggere i dati in movimento. Questo include il supporto per Mutual TLS (mTLS), che fornisce l'autenticazione bidirezionale tra client e server. Ciò garantisce comunicazioni crittografate su tutti i canali, inclusi client-server, server-server e connessioni bridge WAN. Per stabilire questi canali sicuri, TLS si basa su certificati digitali per l'autenticazione. Questi certificati possono essere installati nell'archivio Trusted Root o Personal (My), offrendo flessibilità per gli ambienti in cui i criteri di gruppo potrebbero limitare l'utilizzo dell'archivio Root. Si consigliano certificati emessi da CA pubbliche per evitare ulteriori configurazioni di trust. Tuttavia, è possibile utilizzare anche certificati CA privati, a condizione che l'autorità emittente venga aggiunta all'archivio Trusted Root su tutti i server e client.

TLS reciproco

NCache supporta sia il TLS regolare che il TLS reciproco per l'autenticazione sicura. Nel TLS regolare, un certificato server è installato su ogni NCache server, consentendo ai client di verificare l'identità del server durante l'handshake. Mutual TLS rafforza ulteriormente questo processo richiedendo anche i certificati client, garantendo che sia il client che il server si autentichino a vicenda prima di stabilire una connessione sicura. Per una comunicazione sicura nell'intero ambiente di caching distribuito, TLS ora protegge non solo le interazioni client-server, ma anche le comunicazioni server-server e i dati scambiati tramite connessioni bridge.

Configurare TLS Cluster Wide

NCache offre un modo semplice per configurare Transport Layer Security (TLS) tramite il nuovo Abilitare-NCacheTLS and Disattivare-NCacheTLS cmdlet. Una volta installati i certificati e abilitato TLS, la comunicazione sicura viene applicata a tutti i nodi partecipanti. Le modifiche alla configurazione richiedono un NCache il riavvio del servizio avrà effetto e gli utenti potranno verificare lo stato della crittografia tramite Management Center o i registri che indicano le operazioni di handshake TLS riuscite.

Per configurare la crittografia TLS in Windows o Linux, seguire la documentazione su Configura la crittografia TLS in NCache

NCache Sicurezza: matrice FIPS e RBAC

Livello di sicurezza Tecnologia / Standard Obiettivo
Autenticazione LDAP/Active Directory Centralizza la gestione delle identità; verifica l'identità dell'utente rispetto ai controller di dominio aziendali esistenti.
Autorizzazione RBAC (amministratore vs. utente) Applica il principio del privilegio minimo limitando le attività di gestione a specifici ruoli autorizzati.
Privacy dei dati AES-256 / FIPS 140-2 Garantisce la riservatezza dei dati a riposo, in memoria e in transito utilizzando gli standard crittografici raccomandati dal NIST.
Integrità della rete TLS 1.3 / mTLS Fornisce crittografia end-to-end; Mutual TLS impedisce gli attacchi Man-in-the-Middle (MITM) e garantisce la verifica bidirezionale.
Accesso amministrativo HTTPS/TLS Protegge il NCache Management Center (Windows e Linux) con comunicazione amministrativa crittografata.

Cosa fare dopo?

Domande frequenti (FAQ)

Sì. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. NCache Supporta gli standard AES-FIPS (Federal Information Processing Standards), essenziali per le agenzie governative e le organizzazioni che operano in settori altamente regolamentati. Ciò garantisce che tutti i dati nella cache distribuita soddisfino i rigorosi requisiti di sicurezza federali.

NCache Esegue la crittografia e la decrittografia dei dati all'interno del processo dell'applicazione client. Crittografando i dati prima che vengano inviati sulla rete, NCache Garantisce che solo il testo cifrato viaggi sulla rete e venga memorizzato nella cache. Ciò riduce il carico di elaborazione sui server di cache e mantiene un ambiente Zero-Trust.

Assolutamente. NCache Fornisce l'integrazione LDAP nativa, consentendo di utilizzare Microsoft Active Directory o altri servizi di directory supportati da LDAP per l'autenticazione centralizzata. Ciò semplifica la gestione degli utenti sfruttando l'infrastruttura di identità esistente della tua organizzazione.

Il protocollo TLS standard fornisce l'autenticazione lato server, in cui il client verifica l'identità del server. Il protocollo TLS reciproco (mTLS) aggiunge un ulteriore livello di sicurezza richiedendo al client di fornire anche un certificato, garantendo che entrambe le estremità della connessione vengano verificate prima dello scambio di dati.

Sì. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. NCache utilizza un modello di controllo degli accessi basato sui ruoli (RBAC) con due livelli principali: amministratori dei nodi, che dispongono di privilegi di gestione completi del cluster, e utenti della cache, che sono limitati alle operazioni API di dati di base (aggiunta, ottenimento, rimozione) in base al "principio del privilegio minimo".

© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.