Ajuste de Liberty para aplicaciones seguras
Puede ajustar Liberty para maximizar el rendimiento de las aplicaciones seguras.
Acerca de esta tarea
Cuando se protege el entorno de aplicaciones WebSphere, es importante comprender el efecto que puede tener la seguridad en el rendimiento. En un entorno de servidor de aplicaciones, ejecutar aplicaciones con valores de seguridad a menudo puede disminuir el rendimiento debido al incremento del uso del procesador en tareas de seguridad como cifrado, autenticación y autorización. Estos servicios pueden aumentar con frecuencia la longitud de la vía de acceso de solicitudes del servidor de aplicaciones, que requieren más recursos para cada solicitud, lo cual ralentiza el rendimiento de la aplicación.
En la mayoría de los casos, puede reducir o eliminar parte de esta pérdida de rendimiento relacionado con la seguridad mediante el ajuste del rendimiento. Puede ajustar los recursos que los servicios de seguridad utilizan y elegir sólo los servicios de seguridad que necesita un entorno o aplicación determinado. Lograr el mejor rendimiento posible, sin sacrificar la seguridad necesaria, exige comprender la topología de la red y las necesidades de seguridad de las aplicaciones.
Procedimiento
- Elija las conexiones que desee cifrar.
En un entorno de WebSphere Application Server, puede cifrar los transportes siguientes:
- Tráfico HTTP para el servidor web
- Tráfico HTTP del servidor web al servidor de aplicaciones
- Tráfico SOAP/JMX
- Servicio de transferencia de archivos
- Servicios web sobre HTTP
Cuando deba determinar qué tráfico debe transportar sobre conexiones cifradas, tenga en cuenta si la red que se conecta a las máquinas de comunicación es privada o pública. Existe una cantidad significativa de recursos asociados con la configuración de una conexión segura y con el cifrado y descifrado del tráfico sobre dicha conexión. Se puede mejorar significativamente el rendimiento si no solicita cifrado sobre una red segura, por ejemplo. Si la aplicación no necesita que el tráfico esté cifrado desde el cliente al servidor HTTP y desde el servidor HTTP al servidor de aplicaciones, puede utilizar sólo SSL desde el cliente al servidor HTTP y, por lo tanto, reducir los recursos que utiliza la seguridad.
- Habilite el cifrado AES (Advanced Encryption Standard) en el chip.
Si utiliza IBM® SDK Java™ Technology Edition Versión 7, Renovación de servicio 3 o posterior, y un procesador Intel que admite el conjunto de instrucciones AES-NI (Advanced Encryption Standard (AES) New Instructions (NI)), puede mejorar el rendimiento si utiliza el cifrado AES en el chip. Al utilizar estas características puede ejecutar el cifrado y descifrado AES mediante las instrucciones de hardware sin necesidad de software adicional.
Para habilitar el uso de AES-NI, añada la siguiente propiedad a la línea de mandatos JVM o al archivo jvm.options:
com.ibm.crypto.provider.doAESInHardware=true
Añada la propiedad siguiente a la línea de mandatos JVM o al archivo jvm.options para verificar que el procesador admite el conjunto de instrucciones AES-NI:
com.ibm.crypto.provider.AESNITrace=true
Para obtener más información, consulte el tema Intel Advanced Encryption Standard New Instructions (Nuevas instrucciones de estándar de cifrado avanzado de Intel).
- Elija su longitud de clave de cifrado.
En algunos casos, la longitud de bits de una clave de cifrado se rige por las normas de la transferencia de determinados tipos de datos. En estos casos, el cifrado y la longitud de la clave que seleccione para una conexión SSL predeterminada puede estar predeterminada. En situaciones en las que la longitud de clave no esté regulada, debe elegir los recursos adecuados a los que asignar seguridad de modo que el rendimiento no disminuya más que lo estrictamente necesario. Por ejemplo, un cifrado de 256 bits ofrece un cifrado más fuerte que un cifrado de 128 bits correspondiente. Sin embargo, descifrar mensajes con un cifrado más fuerte requiere más tiempo de proceso.
En el momento de tomar la decisión sobre la fortaleza del cifrado, tenga en cuenta el tipo de datos que viaja por la red. Por ejemplo, la información confidencial, como registros financieros o médicos, necesita la máxima cantidad de seguridad. Tenga en cuenta, además, quién tiene acceso a la red. Si la red está protegida mediante un cortafuegos, puede disminuir la fortaleza del cifrado o posiblemente transmitir los datos sobre una conexión descifrada.
Para obtener más información sobre la configuración de valores SSL en Liberty, consulte Atributos de configuración SSL
- Establezca solicitudes de estado activo de conexión.
En el protocolo SSL (Secure Socket Layer), el reconocimiento inicial utiliza un cifrado de clave pública para intercambiar una clave privada y obtener un cifrado de clave privada más rápido. Este cifrado más rápido se utiliza para cifrar y descifrar comunicaciones más allá del reconocimiento inicial. Dado que el cifrado utilizado para la comunicación posterior es más rápido que el que se utiliza para el reconocimiento inicial, desde una perspectiva de rendimiento, es importante limitar el número de reconocimientos SSL que se llevan a cabo en el servidor de aplicaciones. Puede conseguir este resultado aumentando la longitud de una conexión SSL al aumentar la afinidad de sesiones.
Una forma de aumentar la duración de una única conexión SSL es habilitar conexiones de estado activo HTTP persistentes. El incremento de la duración impide que se produzcan reconocimientos SSL en solicitudes consecutivas. Para comprobar que se han habilitado conexiones persistentes, verifique que el atributo keepAliveEnabled del elemento httpOptions se haya establecido en true en el archivo server.xml. El valor predeterminado es true.
Otra forma de ajustar las conexiones persistentes es establecer el número máximo de solicitudes consecutivas en una sola conexión HTTP. Si los clientes hacen más de 100 solicitudes de forma consecutiva, puede aumentar el valor del atributo maxKeepAliveRequests en el elemento httpOptions en el archivo server.xml. El valor predeterminado es 100.
Si desea información sobre los atributos de conexión de estado activo, consulte Java Servlets 3.0.
- Establezca los valores de memoria caché de autenticación.
Dado que la creación de un sujeto de autenticación puede aumentar el uso del procesador, Liberty proporciona una memoria caché de autenticación para almacenar un sujeto después de que la autenticación de un usuario se realice correctamente. Para aprovechar al máximo este servicio y aumentar el rendimiento, debe asegurarse de que se haya activado y ajustado de acuerdo con sus usuarios y aplicaciones.
Asegúrese de que no inhabilita la memoria caché de autenticación. De forma predeterminada, la memoria caché de autenticación está habilitada para ayudar a mejorar el rendimiento.
Puede cambiar el valor de tiempo de espera de la memoria caché de autenticación. El incremento del valor de tiempo de espera permite que los sujetos permanezcan en la memoria caché de autenticación más tiempo y reduce la necesidad de volver a realizar autenticaciones. Sin embargo, aumentar el valor de tiempo de espera aumenta el riesgo de que los permisos de usuario se conviertan en obsoletos en comparación con un repositorio externo modificado, como LDAP. Establezca el tiempo de espera de memoria caché de autenticación para reflejar la longitud estimada de sesiones de cliente. Puede especificar el tiempo de espera de memoria caché estableciendo el valor del atributo timeout en una duración cualquiera en el elemento authCache del archivo server.xml. El valor predeterminado es 600 segundos.
Por último, si experimenta tiempos de autenticación más largos de lo esperado, o el tráfico a un repositorio de autenticación externo es mayor de lo esperado, puede que la memoria caché se haya llenado. Cuando la memoria caché de autenticación se llena, los sujetos se desalojan. No hay una correlación uno a uno de usuarios autenticados a las entradas de memoria caché de autenticación. El número de entradas en la memoria caché por usuario depende de otras configuraciones de seguridad. Se recomienda que el tamaño máximo de la memoria caché de autenticación sea mayor que el número de usuarios autenticados que acceden al servidor a la vez. Establecer el tamaño máximo de la memoria caché de autenticación de este modo ayuda a evitar que los sujetos se desalojen de la memoria caché antes de superar el tiempo de espera. Puede cambiar el tamaño máximo de la memoria caché de autenticación si establece el valor del atributo maxSize en el elemento authCache del archivo server.xml. El tamaño predeterminado 25000.
Para obtener más información, consulte Configuración de la memoria caché de autenticación en Liberty.
- Configure los valores de afinidad de sesiones HTTP.
Una de las operaciones en un entorno de aplicación seguro que más drena el rendimiento es la configuración inicial, incluidos el reconocimiento SSL y la autenticación. En los entornos en clúster, se podrían producir disminuciones del rendimiento cuando un cliente web accede a los diferentes servidores de aplicaciones. Para evitar el uso aumentado del procesador en el reconocimiento SSL y reautenticación, es importante asegurarse de que se haya configurado la afinidad de sesiones HTTP.
La afinidad de sesiones HTTP garantiza que las solicitudes de cliente consecutivas se dirijan al mismo servidor de aplicaciones. La afinidad de sesiones HTTP ayuda al rendimiento de varias formas, pero en particular, impide que aumente el uso del procesador en la reautenticación y el reconocimiento SSL. Consulte la documentación de su servidor HTTP Server o Load Balancer para obtener instrucciones sobre cómo establecer la afinidad de sesiones HTTP.
Para obtener más información, consulte Configuración de la persistencia de sesiones para Liberty.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_tun_sec
Nombre de archivo:twlp_tun_sec.html