Configurar el cifrado SSL/TLS en Windows y Linux
TLS ofrece seguridad de red con una sobrecarga de rendimiento menor que NCache Cifrado de datos. Es esencial para NCache actividades que requieren compartir datos entre servidores y clientes, diferentes servidores, cachés y puentes. Puede utilizar TLS de forma selectiva para proteger transferencias de datos específicas según sus necesidades. Lea más sobre cómo funciona, esta página.
Note
La siguiente configuración TLS solo funcionará para 5.3 SP2 y superiores.
Comprender estas consideraciones garantizará la implementación de NCache El cifrado TLS se realiza sin problemas.
Note
Asegúrese de que los procesos cliente y de caché estén detenidos antes de continuar con lo siguiente.
Cómo configurar el cifrado TLS
NCache tiene dos ubicaciones principales en las máquinas del servidor y del cliente desde donde puede recuperar el certificado de autenticación: el tienda personal y del Tienda raíz de confianza (TR). Todos los usuarios de la máquina local pueden acceder a los certificados colocados en el almacén personal, mientras que a los del almacén de usuarios solo puede acceder el usuario específico, y NCache sólo puede acceder a él si se está ejecutando con ese usuario en particular. Hay cuatro tiendas específicas de las que NCache puede recuperar el certificado de autenticación:
- Raíz confiable: máquina local
- Raíz de confianza: usuario actual
- Personal: Máquina local
- Personal: Usuario actual
Note
Coloque el certificado de autenticación a nivel de máquina para evitar restricciones de acceso.
Cuando se inicia el servidor, comienza a leer el certificado con su huella digital almacenada en el registro. Comprueba sistemáticamente el certificado en los cuatro almacenes antes mencionados: Trusted Root (TR) tanto de la máquina local como del usuario actual, seguido de Personal tanto de la máquina local como del usuario actual. El servidor selecciona el primer certificado que encuentra en este orden. Posteriormente, el servidor lee este certificado elegido a través de su huella digital y lo comparte con el cliente, facilitando una comunicación segura. Este proceso garantiza que el servidor obtenga el certificado adecuado para la autenticación de los almacenes disponibles durante el inicio.
Para configurar el cifrado TLS, consulte a continuación.
Se deben seguir los pasos a continuación para instalar el certificado TLS en una máquina con Windows.
Step-1: Inicie sesión en su máquina.
Step-2: Crear (puede crear un certificado autofirmado como se detalla esta página) u obtener un certificado TLS que incluya una clave privada exportable.
Importante:
- Su certificado debe estar autorizado por una Autoridad Certificadora (CA). Para reflejar esto como parte de sus configuraciones, asegúrese de que la sección Restricciones básicas especifique Tipo de asunto=CA existentes Detalles del certificado. De manera similar, puedes lograr esto a través de la
-TextExtension
atributo con el valor@("2.5.29.19={text}CA=true")
al generar un certificado usando el siguiente comando:New-SelfSignedCertificate
. - No recomendamos utilizar certificados autogenerados en su Production ambientes. Aunque puede utilizarlos en sus entornos de prueba.
Step-3: Importe su certificado a la máquina apropiada como se detalla esta página.
Step-4: Prensa Win + R, tipo MMCy presione Participar.
Step-5 En MMC, en el Archive menú, haga clic Añadir / quitar complemento. Seleccione Certificados de la lista de complementos disponibles y haga clic en el Añada del botón.
Step-6: Elija el tipo de cuenta del Mi cuenta de usuario, Cuenta de servicioy Cuenta de computadora. Puedes elegir un Mi cuenta de usuario o máquina local según dónde coloque su certificado.
Step-7: En el panel izquierdo de MMC, expandir Certificados y navegar Usuario actual > Personal > Certificados para localizar el certificado TLS que enumera Autenticación del cliente como una Finalidad prevista y haga doble clic. Para obtener más información sobre la colocación de certificados, consulte Consideraciones para la colocación de certificados.
Step-8: En Cuadro de diálogo Certificado, haga clic en la pestaña Detalles y busque Impresión del pulgar. Haga clic en él y copie los caracteres hexadecimales del cuadro. Elimine los dos puntos (':') o espacios adicionales en la huella digital del certificado, si los hubiera. Guarde la huella digital, ya que será necesaria en los pasos siguientes.
Step-9: Del mismo modo, copia Nombre del certificado (CN) haciendo clic en el Concepto propiedad y copiando sólo lo que viene después CN = en este caso "Ejemplo". Guarde el nombre del certificado, ya que será necesario en los pasos siguientes.
Step-10: Asegúrese de que el NCache El servicio se ejecuta con el mismo usuario que se utilizó para importar el certificado.
Step-11: Use la siguiente Cmdlet de PowerShell para habilitar la seguridad TLS. Para obtener más información sobre las propiedades utilizadas aquí, consulte los elementos del certificado que se analizan a continuación. Al ejecutar el Enable-NCacheTLS
comando, asegúrese de especificar el CertificateName
y CertificateThumbprint
que guardó en los pasos 8 y 9.
Enable-NCacheTLS -Node "20.200.20.39,20.200.20.40" -CertificateName "Example" -CertificateThumbprint "596846ab6bdd9edb03cdfbdfa1aa7b0b05e744a6" -ClientServerCommunication -UseMutualTLSForClientToServer true
- El comando anterior solo funcionará si tiene NCache instalado en su máquina cliente. De lo contrario, debe habilitar TLS manualmente usando el tls.ncconf archivo disponible a través del NCache Paquetes NuGet en Windows, de la siguiente manera:
<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:
Asegúrese de que los valores de configuración sean coherentes en todos los nodos del servidor y del cliente para garantizar la conectividad y la homogeneidad del clúster.
Step-12: Una vez establecidas las propiedades deseadas, reinicie el caché, los procesos del cliente y NCache Servicio. Asegúrese de que el NCache El servicio se ejecuta con el mismo usuario que se utilizó para importar el certificado.
Note
Una vez habilitados los certificados, asegúrese de que:
- La NCache El servicio se ejecuta con el mismo usuario que se utilizó para importar el certificado.
- Todas las aplicaciones cliente se ejecutan en máquinas de 64 bits.
Consideraciones para la colocación de certificados
Cuando el cliente Java se ejecuta en una máquina con Windows, surge una consideración importante con respecto a la gestión de certificados. Específicamente, Java no admite de forma nativa el uso de certificados de máquina local; más bien, recupera certificados del usuario actual. Esto significa que si el cliente está configurado para TLS mutuo, tanto el certificado del cliente como el certificado del emisor asociado deben estar presentes en el almacén de certificados del usuario actual. En el escenario en el que TLS mutuo está deshabilitado, el requisito cambia. En este caso, solo el certificado de la Autoridad certificadora (CA) debe estar presente en el almacén de certificados del usuario actual.
Note
NCache utilizará los certificados almacenados en los almacenes de certificados automáticamente. Cuando se inicia con la cuenta de usuario correcta, el NCache El servicio identificará y utilizará automáticamente los certificados relevantes de los almacenes de certificados apropiados.
Importante:
Windows, si tiene un certificado incluido (que contiene los certificados raíz e intermedio), deberá agregar el certificado tanto en la raíz personal como en la raíz confiable de la máquina local. Si tiene un certificado raíz de confianza y un certificado personal independientes, deberá agregarlos individualmente, es decir, el certificado personal al almacén personal y el certificado raíz de CA al almacén raíz de confianza.
Verifique la conectividad exitosa del cliente a través de TLS
- Para verificar la conectividad exitosa del cliente a través de TLS, puede ejecutar el Prueba de esfuerzo cmdlet usando PowerShell. El siguiente ejemplo se ejecuta
Test-Stress
en el caché llamado caché de demostración.
Test-Stress -CacheName demoCache
También puede verificar esto usando Microsoft Network Monitor. En caso de que TLS esté habilitado, el Nombre de protocolo del proceso PowerShell en correr Test-Stress
se mostrarán TLS.
Note
UseMutualTLSForClientToServer
, EnableBridgeTLS
, EnableClientServerTLS
, EnableServerToServerTLS
y UseMutualTLSServerToServer
no funcionará si Enable
no se ha establecido como verdadero, independientemente de si se han habilitado individualmente.
Elementos del certificado
Para emplear cualquiera de las configuraciones mencionadas, los certificados TLS pueden ser otorgados por autoridades certificadoras (CA) o autofirmados por los usuarios, lo que garantiza el transporte de datos cifrados. Estos certificados normalmente contendrán la siguiente información:
parámetros | Tipos de datos | Descripción | Valor por defecto |
---|---|---|---|
-CertificateName* |
<String> |
El parámetro CertificateName especifica el nombre del certificado TLS que se utilizará para el cifrado. Proporciona el nombre único asociado con el certificado TLS deseado para una comunicación segura. | - |
-CertificateThumbprint* |
<String> |
Especifica la huella digital única del certificado TLS para garantizar su autenticidad e integridad. Proporciona el valor de la huella digital asociado con el certificado TLS deseado para una comunicación segura. | - |
-ClientServerCommunication |
<SwitchParameter> |
Habilita el cifrado TLS para la comunicación entre los nodos cliente y servidor. | Falso |
-ServerToServerCommunication |
<SwitchParameter> |
Habilita el cifrado TLS para la comunicación entre nodos de servidor dentro de un clúster. | Falso |
-BridgeCommunication |
<SwitchParameter> |
Habilita el cifrado TLS únicamente para la comunicación entre NCache puente y cachés geográficamente separados. Si el usuario desea ampliar esta seguridad para abarcar también la comunicación entre los nodos puente, debe utilizar el ServerToServerCommunication bandera. Si BridgeCommunication es cierto, asegúrese de habilitar ClientServerCommunication . Actualmente, NCache requiere que utilice el mismo certificado en ambos nodos puente. |
Falso |
-UseMutualTLSForClientToServer |
<String> |
Aplica el requisito de un certificado TLS de cliente válido. Cuando está habilitado, los nodos cliente que se conectan al servidor deben presentar un certificado TLS válido para la autenticación y para que la autoridad de certificación de ese certificado exista en la raíz de confianza del servidor. | Falso |
-UseMutualTLSForServerToServer |
<String> |
Hace cumplir el requisito de un certificado TLS de servidor válido durante la comunicación. Cuando está habilitado, los nodos del servidor que se conectan al primer servidor deben presentar un certificado TLS válido para la autenticación. Además, todos los servidores deben tener las autoridades de certificación de cada uno para existir en sus raíces de confianza. | ¿Editas con tu equipo de forma remota? |
-Node |
<String> |
Especifica una o más direcciones IP de servidores de caché, clientes de caché o nodos puente donde se aplicará la configuración de TLS. Proporcione una lista de direcciones IP separadas por comas para habilitar la configuración de TLS en los nodos deseados. Asegúrese de que los nodos cliente con NCache instalados están incluidos; para NCache clientes sin instalación, utilice la configuración manual. | - |
-Credentials |
<pscredential> |
Especifica las credenciales de usuario necesarias para autorizar el acceso a la operación especificada. Estas credenciales deben pertenecer a un usuario que tenga los permisos adecuados en el nodo. | - |
Solucionando Problemas
La conectividad del cliente a través de TLS puede fallar por los siguientes motivos:
- Si faltan las entradas del registro, la conectividad podría fallar. Asegúrese de que todas las entradas estén hechas en el registro.
- If NCache El servicio tiene credenciales de usuario diferentes a las del usuario que se utilizó para importar el certificado y no será válido si el valor de la huella digital proporcionado a la propiedad CertificateThumbprint es incorrecto.
- Si la Raíz de Confianza del cliente no tiene la CA del servidor.
- If
UseMutualTLSForClientToServer
orUseMutualTLSForServerToServer
son verdaderos y la raíz de confianza del servidor no tiene la CA del cliente ni del otro servidor. - Si los valores de las propiedades no son los mismos en la máquina cliente y servidor, recibirá un error que dice "Error en la operación de descifrado".
Vea también
Configurar seguridad para caché
Configurar la seguridad de los nodos de cliente
Configurar el cifrado para caché