NCache fornece recursos avançados de segurança e criptografia que ajudam a garantir que seu cache seja protegido contra acesso não autorizado. Ele também garante que os dados confidenciais do aplicativo sejam protegidos no armazenamento de cache e durante a transmissão em uma rede entre o aplicativo e os servidores de cache. E você pode fazer tudo isso sem nenhuma alteração de código.
Aqui estão algumas das maneiras NCache fornece segurança para seu cache:
Todas as maneiras que NCache fornecer segurança são explicados abaixo:
NCache suporta "sem alteração de código", recursos de segurança poderosos para proteger seus dados e transmissão de rede contra acesso não autorizado.
A criptografia Transport Layer Security/Secure Socket Layer (TLS/SSL) habilitada opcionalmente protege a troca de dados entre o NCache servidor de cache e o(s) cliente(s) de cache autorizado(s). Os usuários podem habilitar qualquer certificado SSL emitido ou autoassinado para conexões com o(s) cliente(s) ou podem habilitar conexões componente a componente em NCache. Isso garante transmissão de dados criptografados, que é separado dos dados protegidos por TLS.
NCache suporta comunicações cliente-servidor seguras (criptografadas e autenticadas) usando o protocolo de segurança TLS 1.2. Este é o mesmo protocolo usado para comunicações HTTPs.
Para criar um TLS (ou SSL para versões anteriores do NCache) certificado, siga a documentação em Configurar a criptografia SSL/TLS em NCache.
Se seu aplicativo lida com dados confidenciais e confidenciais que você deseja proteger e você está usando um cache distribuído na memória, você precisa garantir que seu cache distribuído proteja esses dados confidenciais contra acesso indesejado por meio de criptografia.
NCache oferece um rico conjunto de algoritmos de criptografia você pode escolher entre:
NCache criptografia e descriptografia de dados ocorrem dentro do NCache processo de aplicação do cliente. Portanto, todos os dados que trafegam pela rede entre seu aplicativo e o cluster de cache já estão criptografados. Da mesma forma, apenas os dados criptografados são armazenados no armazenamento de cache. Você fornece uma chave de criptografia que NCache usos que é mantido dentro NCache arquivos de configuração de segurança em cada servidor de cache de maneira criptografada. A chave de criptografia é enviada automaticamente aos clientes para ser usada na memória após uma conexão bem-sucedida.
Você pode habilitar a criptografia através NCache gerenciador web sem nenhum esforço de programação de sua parte. Assim que a criptografia estiver habilitada, o NCache cliente começa automaticamente a criptografar seus objetos antes de enviá-los para o cluster de cache. E ele descriptografa automaticamente os objetos obtidos do cache antes de entregá-los ao seu aplicativo.
NCache fornece segurança com autenticação e autorização incorporadas ao produto. NCache categoriza os usuários com base nos dois níveis diferentes de segurança da seguinte forma:
NCache A segurança garante que apenas usuários autorizados tenham acesso para uso de cache ou para administração. Todas as outras conexões são rejeitadas. NCache mecanismo de segurança funciona com qualquer serviço de diretório com suporte LDAP. Quando NCache a segurança estiver ativada, todas as conexões com o cluster de cache devem ser autenticadas primeiro no Diretório LDAP no servidor de cache.
Você precisa fornecer credenciais no momento de estabelecer uma conexão com o cache. Essas credenciais incluem seu nome de usuário, nome distinto (DN) e senha. Se suas credenciais não forem autenticadas, sua solicitação de conexão será negada. Você precisa especificar as credenciais do usuário nos locais a seguir com base no nível de segurança.
<security enable-security="True">
<ldap host="yourprimarydomain" port="389"/>
<ldap-secondary host="yoursecondarydomain" port="389"/>
<user id="john_smith" dn="CN=John Smith,OU=admin,DC=yourdomain,DC=org"/>
</security>
Você também pode configurar a segurança do nível de cache usando NCache Web Manager or PowerShell.
Além disso, você pode habilitar a segurança do cache chamando o ObterCache() método do seu aplicativo. Este método requer que você insira seu nome de usuário e senha para autenticação. Um exemplo de como chamar esse método com as credenciais de usuário necessárias é mostrado abaixo
CacheConnectionOptions cacheConnectionOptions = new CacheConnectionOptions();
// Required Connection Options Here
// Specify User Credentials to Enable Security Through GetCache API
cacheConnectionOptions.UserCredentials = new Credentials("john_smith", "password");
ICache cache = CacheManager.GetCache("myCache", cacheConnectionOptions);
<cache-security enabled="True">
<ldap host="yourprimarydomain" port="389"/>
<ldap-secondary host="yoursecondarydomain" port="389"/>
<administrators>
<admin id="john_smith" dn="CN=John Smith,OU=admin,DC=yourdomain,DC=org"/>
</administrators>
</cache-security>
Você também pode configurar a segurança para nós do servidor usando NCache Web Manager or PowerShell.
Depois de NCache autentica uma conexão com o cache com sucesso, ele verifica NCache arquivos de configuração no servidor de cache para autorizar esta conexão. Depois que uma conexão é autenticada no diretório ativo, ela é autorizada a partir de config.ncconf or segurança.ncconf baseado em nível de cache or segurança em nível de nó, Respectivamente.
Você pode especificar informações de autorização por meio de NCache ferramentas de gerenciamento no momento de habilitar a segurança. Você pode adicionar "usuários" ou "administradores" adicionais à autorização de segurança conforme necessário.