针对安全应用程序调整 Liberty 概要文件
可以调整 Liberty 概要文件以最大程度地提高安全应用程序的性能。
关于此任务
如果要保护 WebSphere® 应用程序环境,那么了解安全性对性能的影响很重要。在应用程序服务器环境中,在应用安全设置的情况下运行应用程序往往会降低性能,因为诸如加密、认证和授权等安全任务都会增加处理器的使用率。这些服务往往会延长应用程序服务器请求的路径,这样每个请求都需要更多资源,并因此减小应用程序吞吐量。
在大多数情况下,可以通过性能调优来减少或消除这种与安全相关的性能损失。您可以调整安全服务所使用的资源,并选择仅使用特定应用程序或环境所需要的安全服务。如果要实现尽可能最好的性能,而不牺牲任何必要的安全性,那么需要了解网络拓扑以及应用程序的安全需求。
过程
- 选择要进行加密的连接。
在 WebSphere Application Server 环境中,您可以对以下传输进行加密:
- 通向 Web 服务器的 HTTP 流量
- 从 Web 服务器到应用程序服务器的 HTTP 流量
- SOAP/JMX 流量
- 文件传输服务
- HTTP 上的 Web Service
当您确定要通过加密连接来传输的流量时,请考虑正在连接通信机器的网络是专用网络还是公用网络。设置安全连接以及对通过该连接的流量进行加密和解密涉及大量资源。例如,可以不要求在安全网络上进行加密,这样可以大幅提高性能。如果应用程序不要求对客户机到 HTTP 服务器之间以及 HTTP 服务器到应用程序服务器之间的流量进行加密,那么可以仅对客户机到 HTTP 服务器的通信使用 SSL,并因此减少安全所需的资源。
- 启用片上高级加密标准 (AES) 加密。
如果使用的是 IBM® SDK Java™ Technology Edition V7 SR3 或更高版本,并且正在支持高级加密标准 (AES) 新指令 (AES-NI) 指令集的 Intel 处理器上运行,那么可以利用片上 AES 加密来实现性能提升。使用这些功能部件,您可以利用硬件指令(不需要额外软件)来运行 AES 加密和解密。
要启用 AES-NI,请将以下属性添加到 JVM 命令行或 jvm.options 文件:
com.ibm.crypto.provider.doAESInHardware=true
将以下属性添加到 JVM 命令行或 jvm.options 文件以验证处理器是否支持 AES-NI 指令集:
com.ibm.crypto.provider.AESNITrace=true
有关更多信息,请参阅 Intel 高级加密标准新指令。
- 选择密码密钥长度。
在某些情况下,由应用于特定数据类型传输的规则来控制密码密钥的位长度。在这些情况下,可以预先确定您为特定 SSL 连接选择的密码和密钥长度。对于未规定密钥长度的情况,必须选择相应的资源来分配给安全性,以免性能下降幅度超出必要的幅度。例如,256 位密码较之相应的 128 位密码提供更强的加密。但是,使用更强的密码来对消息进行解密时需要更多的处理时间。
选择加密强度时,请考虑通过网络传输的数据类型。例如,诸如财务或医疗记录等敏感信息需要最高级别的安全性。此外,也请考虑谁要访问网络。如果网络受防火墙保护,请考虑降低密码强度,或者可能的话通过已解密连接来传输数据。
有关在 Liberty 概要文件上配置 SSL 设置的更多信息,请参阅 SSL 配置属性。
- 设置连接保持活动请求数。
在安全套接字层 (SSL) 协议中,初始握手使用公用密钥密码来交换专用密钥以获取速度更快的专用密钥密码。这个速度更快的密码用来对初始握手以后的通信进行加密和解密。因为用于后续通信的密码在速度上快于初始握手的密码,所以从性能的角度,限制应用程序服务器中执行 SSL 握手的次数很重要。要获得此结果,可以延长 SSL 连接的长度,或者加强会话亲缘关系。
延长单一 SSL 连接持续时间的一种方式是启用持久 HTTP 保持活动连接。延长持续时间可以阻止在连续请求上进行 SSL 握手。可以通过确认 server.xml 文件的 httpOptions 元素中的 keepAliveEnabled 属性已设为 true 来确保已启用持续连接。缺省值为 true。
调整持续连接的另一种方式是在单一 HTTP 连接上设置最大的连续请求数目。如果客户机正在连续地发出 100 个以上的请求,请考虑在 server.xml 文件中增大 httpOptions 元素的 maxKeepAliveRequests 属性值。缺省值为 100。
有关更多信息,请参阅在 server.xml 文件中配置元素。
- 设定认证高速缓存设置。
因为创建认证主体集可能会增大处理器使用率,所以 Liberty 概要文件会在成功认证用户之后提供认证高速缓存来存储主体集。要充分利用此服务来加强性能,必须确保已根据用户和应用程序来打开和调整此服务。
确保没有禁用认证高速缓存。缺省情况下,会启用认证高速缓存来帮助提高性能。
考虑更改认证高速缓存超时值。增大超时值可让主体集在认证高速缓存中保留更长时间,并减少所需的重新认证次数。但是,增大超时值会增加用户许可权相对于已修改的外部存储库(例如 LDAP)变过时的风险。设置认证高速缓存超时以反映客户机会话的估计长度。要指定高速缓存超时,可以将超时属性的值设为您在 server.xml 文件的 authCache 元素中选择的任何时间。缺省值为 600 秒。
最后,如果您的认证时间长于预期时间,或者您注意到通向外部认证存储库的流量超过预期,那么认证高速缓存可能已满。如果认证高速缓存已满,那么会将主体集收回。已认证的用户到认证高速缓存条目之间没有一对一的映射。高速缓存中每个用户的条目数目取决于其他安全性配置。最佳实践是认证高速缓存的最大大小大于同时对服务器进行访问的不同已认证用户数目。以此方式设置认证高速缓存的最大大小有助于防止在超时之前将主体集从高速缓存中收回。要更改认证高速缓存的最大大小,您可以在 server.xml 文件的 authCache 元素中设置 maxSize 属性的值。缺省大小为 25000。
有关更多信息,请参阅在 Liberty 概要文件上配置认证高速缓存。
- 配置 HTTP 会话亲缘关系设置。
安全应用程序环境中最耗性能的操作之一是初始设置,包括 SSL 握手和认证。在集群环境中,当 Web 客户机访问不同的应用程序服务器时,性能可能会下降。要防止 SSL 握手和重新认证增加处理器使用率,确保配置 HTTP 会话亲缘关系很重要。
HTTP 会话亲缘关系确保将连续的客户机请求路由到同一个应用程序服务器。HTTP 会话亲缘关系以各种方式提升性能,但确切地说,它会防止重新认证和 SSL 握手增加处理器使用率。有关设置 HTTP 会话亲缘关系的指示信息,请参阅 HTTP Server 或负载均衡器的文档。
有关更多信息,请参阅为 Liberty 概要文件配置会话持久性。

信息中心的条款和条件 | 反馈

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_tun_sec
文件名:twlp_tun_sec.html