Configure a criptografia SSL/TLS no Windows e Linux
O TLS oferece segurança de rede com menor sobrecarga de desempenho do que NCache Criptografia de dados. É essencial para NCache atividades que exigem compartilhamento de dados entre servidores e clientes, diferentes servidores, caches e pontes. Você pode usar o TLS seletivamente para proteger transferências de dados específicas com base nas suas necessidades. Leia mais sobre como funciona, SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Note
A configuração TLS a seguir funcionará apenas para 5.3 SP2 e superior.
A compreensão dessas considerações garantirá a implantação de NCache A criptografia TLS funciona perfeitamente.
Note
Certifique-se de que o cache e os processos do cliente estejam interrompidos antes de prosseguir com o seguinte.
Como configurar a criptografia TLS
NCache tem dois locais principais nas máquinas servidor e cliente de onde pode recuperar o certificado de autenticação: o loja pessoal e os votos de Armazenamento raiz confiável (TR). Os certificados colocados no armazenamento pessoal são acessíveis a todos os usuários na máquina local, enquanto os do armazenamento do usuário são acessíveis apenas ao usuário específico, e NCache só poderá acessá-lo se estiver sendo executado com aquele usuário específico. Existem quatro lojas específicas das quais NCache pode recuperar o certificado de autenticação:
- Raiz confiável: máquina local
- Raiz confiável: usuário atual
- Pessoal: Máquina Local
- Pessoal: usuário atual
Note
Coloque o certificado de autenticação ao nível da máquina para evitar quaisquer restrições de acesso.
Quando o servidor é iniciado, ele começa a ler o certificado com sua impressão digital armazenada no registro. Ele verifica sistematicamente o certificado nos quatro armazenamentos mencionados: Raiz Confiável (TR) da Máquina Local e do Usuário Atual, seguido pelo Pessoal da Máquina Local e do Usuário Atual. O servidor seleciona o primeiro certificado que encontra nesta ordem. Posteriormente, o servidor lê o certificado escolhido através de sua impressão digital e o compartilha com o cliente, facilitando a comunicação segura. Este processo garante que o servidor obtenha o certificado apropriado para autenticação dos armazenamentos disponíveis durante a inicialização.
Para configurar a criptografia TLS, veja abaixo.
As etapas abaixo devem ser seguidas para instalar o certificado TLS em uma máquina Windows.
Passo 1: Faça login em sua máquina.
Passo 2: Criar (você pode criar um certificado autoassinado conforme detalhado SUA PARTICIPAÇÃO FAZ A DIFERENÇA) ou obtenha um certificado TLS que inclua uma chave privada exportável.
importante
- Seu certificado deve ser autorizado por uma Autoridade de Certificação (CA). Para refletir isso como parte de suas configurações, certifique-se de que a seção Restrições Básicas especifique Tipo de Assunto=CA no Detalhes do certificado. Da mesma forma, você pode conseguir isso através do
-TextExtension
atributo com o valor@("2.5.29.19={text}CA=true")
ao gerar um certificado usando o seguinte comando:New-SelfSignedCertificate
. - Não recomendamos o uso de certificados gerados automaticamente em seu produção ambientes. Porém, você pode usá-los em seus ambientes de teste.
Passo 3: Importe seu certificado para a máquina apropriada conforme detalhado SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Passo 4: Press Win + R, Tipo mmce pressione Entrar.
Step-5 No MMC, no Envie o menu, clique em Adicionar / Remover Snap-in. Selecionar Certificados na lista de snap-ins disponíveis e clique no botão Adicionar botão.
Passo 6: Escolha o tipo de conta no Minha conta de usuário, Conta de serviço e Conta de computador. Você pode escolher um Minha conta de usuário ou máquina local com base em onde você coloca seu certificado.
Passo 7: No painel esquerdo de MMC, expandir Certificados e navegar Usuário Atual > Pessoal > Certificados para localizar o certificado TLS que lista Autenticação de cliente como Finalidade e clique duas vezes. Para saber mais sobre a colocação do certificado, consulte Considerações para colocação de certificado.
Passo 8: No Caixa de diálogo Certificado, clique na guia Detalhes e localize Impressão digital. Clique nele e copie os caracteres hexadecimais da caixa. Remova quaisquer dois-pontos (':') ou espaços extras na impressão digital do certificado, caso haja algum. Salve a impressão digital, pois ela será necessária nas etapas seguintes.
Passo 9: Da mesma forma, copie Nome do certificado (CN) clicando no Assunto propriedade e copiando apenas o que vem depois NC = neste caso, "Exemplo". Salve o nome do certificado, pois será necessário nas etapas seguintes.
Passo 10: Certifique-se de que o NCache O serviço está sendo executado no mesmo usuário usado para importar o certificado.
Passo 11: Use o seguinte Cmdlet do PowerShell para ativar a segurança TLS. Para saber mais sobre as propriedades usadas aqui, consulte os elementos do certificado discutidos abaixo. Ao executar o Enable-NCacheTLS
comando, certifique-se de especificar o CertificateName
e CertificateThumbprint
que você salvou nas etapas 8 e 9.
Enable-NCacheTLS -Node "20.200.20.39,20.200.20.40" -CertificateName "Example" -CertificateThumbprint "596846ab6bdd9edb03cdfbdfa1aa7b0b05e744a6" -ClientServerCommunication -UseMutualTLSForClientToServer true
- O comando acima só funcionará se você tiver NCache instalado em sua máquina cliente. Caso contrário, você deverá ativar manualmente o TLS usando o tls.ncconf arquivo disponível através do NCache Pacotes NuGet no Windows, como segue:
<tls-info>
<certificate-name>certificate-name</certificate-name>
<certificate-thumbprint>your-thumbprint</certificate-thumbprint>
<enable>false</enable>
<enable-client-server-tls>false</enable-client-server-tls>
<use-mutual-tls-for-client-to-server>false</use-mutual-tls-for-client-to-server>
</tls-info>
importante
Certifique-se de que os valores de configuração sejam consistentes em todos os nós de servidor e cliente para garantir a conectividade e a homogeneidade do cluster.
Passo 12: Depois que as propriedades desejadas forem definidas, reinicie o cache, os processos do cliente e NCache Serviço. Certifique-se de que o NCache O serviço está sendo executado no mesmo usuário usado para importar o certificado.
Note
Depois que os certificados forem habilitados, certifique-se de que:
- A NCache O serviço está sendo executado no mesmo usuário usado para importar o certificado.
- Todos os aplicativos cliente são executados em máquinas de 64 bits.
Considerações para colocação de certificado
Quando o cliente Java está sendo executado em uma máquina Windows, surge uma consideração importante em relação ao gerenciamento de certificados. Especificamente, Java não oferece suporte nativo ao uso de certificados de máquinas locais; em vez disso, recupera certificados do usuário atual. Isso significa que se o cliente estiver configurado para TLS mútuo, tanto o certificado do cliente quanto o certificado do emissor associado deverão estar presentes no armazenamento de certificados do usuário atual. No cenário em que o TLS mútuo está desabilitado, o requisito muda. Neste caso, apenas o certificado da Autoridade de Certificação (CA) precisa estar presente no armazenamento de certificados do usuário atual.
Note
NCache utilizará os certificados armazenados nos armazenamentos de certificados automaticamente. Quando iniciado com a conta de usuário correta, o NCache O serviço identificará e usará automaticamente os certificados relevantes dos armazenamentos de certificados apropriados.
importante
Escolha Windows, se você tiver um certificado agrupado (que contém os certificados raiz e intermediário), será necessário adicionar o certificado na raiz pessoal e na raiz confiável da máquina local. Se você tiver uma raiz confiável e um certificado pessoal separados, será necessário adicioná-los individualmente, ou seja, o certificado pessoal ao armazenamento pessoal e o certificado raiz da CA ao armazenamento raiz confiável.
Verifique a conectividade de cliente bem-sucedida por meio de TLS
- Para verificar a conectividade do cliente bem-sucedida por meio do TLS, você pode executar o Stress Test cmdlet usando o PowerShell. O exemplo a seguir é executado
Test-Stress
no cache chamado demoCache.
Test-Stress -CacheName demoCache
Você também pode verificar isso usando o Microsoft Network Monitor. Caso o TLS esteja habilitado, o Nome do protocolo do processo PowerShell em execução Test-Stress
será TLS.
Note
UseMutualTLSForClientToServer
, EnableBridgeTLS
, EnableClientServerTLS
, EnableServerToServerTLS
e UseMutualTLSServerToServer
não vai funcionar se Enable
não foi definido como verdadeiro, independentemente de terem sido ativados individualmente.
Elementos do Certificado
Para empregar qualquer uma das configurações mencionadas, os certificados TLS podem ser concedidos por Autoridades Certificadoras (CA's) ou autoassinados pelos usuários, garantindo o transporte criptografado dos dados. Esses certificados geralmente conterão as seguintes informações:
parâmetros | Tipos de dados | Descrição | Valor padrão |
---|---|---|---|
-CertificateName* |
<String> |
O parâmetro CertificateName especifica o nome do certificado TLS a ser usado para criptografia. Ele fornece o nome exclusivo associado ao certificado TLS desejado para comunicação segura. | - |
-CertificateThumbprint* |
<String> |
Especifica a impressão digital exclusiva do certificado TLS para garantir sua autenticidade e integridade. Ele fornece o valor da impressão digital associado ao certificado TLS desejado para comunicação segura. | - |
-ClientServerCommunication |
<SwitchParameter> |
Ativa a criptografia TLS para comunicação entre nós cliente e servidor. | Falso |
-ServerToServerCommunication |
<SwitchParameter> |
Ativa a criptografia TLS para comunicação entre nós de servidor em um cluster. | Falso |
-BridgeCommunication |
<SwitchParameter> |
Permite a criptografia TLS apenas para comunicação entre NCache ponte e caches geograficamente separados. Se o usuário quiser estender esta segurança para abranger também a comunicação entre os nós da ponte, ele deverá usar o ServerToServerCommunication bandeira. Se BridgeCommunication é verdade, certifique-se de ativar ClientServerCommunication . Atualmente, NCache requer que você use o mesmo certificado em ambos os nós de ponte. |
Falso |
-UseMutualTLSForClientToServer |
<String> |
Aplica o requisito de um certificado TLS de cliente válido. Quando habilitado, os nós clientes que se conectam ao servidor devem apresentar um certificado TLS válido para autenticação e para que a Autoridade de Certificação desse certificado exista na Raiz Confiável do servidor. | Falso |
-UseMutualTLSForServerToServer |
<String> |
Aplica o requisito de um certificado TLS de servidor válido durante a comunicação. Quando habilitado, os nós do servidor que se conectam ao primeiro servidor devem apresentar um certificado TLS válido para autenticação. Além disso, todos os servidores precisam ter autoridades de certificação uns dos outros para existirem em suas raízes confiáveis. | Verdadeiro |
-Node |
<String> |
Especifica um ou mais endereços IP de servidores de cache, clientes de cache ou nós de ponte onde as configurações de TLS serão aplicadas. Forneça uma lista de endereços IP separados por vírgula para ativar as configurações de TLS nos nós desejados. Certifique-se de que os nós clientes com NCache instalados estão incluídos; para NCache clientes sem instalação, use configuração manual. | - |
-Credentials |
<pscredential> |
Especifica as credenciais do usuário necessárias para autorizar o acesso à operação especificada. Essas credenciais devem pertencer a um usuário que possua permissões apropriadas no nó. | - |
guia de solução de problemas
A conectividade do cliente por meio de TLS pode falhar pelos seguintes motivos:
- Se as entradas do Registro estiverem ausentes, a conectividade poderá falhar. Certifique-se de que todas as entradas sejam feitas no registro.
- If NCache O serviço tem credenciais de usuário diferentes das do usuário usado para importar o certificado e será inválido se o valor da impressão digital fornecido à propriedade CertificateThumbprint estiver incorreto.
- Caso a Raiz Confiável do cliente não possua o CA do servidor.
- If
UseMutualTLSForClientToServer
orUseMutualTLSForServerToServer
são verdadeiros e a raiz confiável do servidor não possui a CA do cliente ou do outro servidor. - Se os valores das propriedades não forem iguais na máquina cliente e servidor, você receberá um erro dizendo "Falha na operação de descriptografia".
Veja também
Configurar segurança para cache
Configurar a segurança para nós de cliente
Configurar criptografia para cache