调整安全性配置
可以调整安全性以便对性能与功能进行均衡。通过遵循调整常规安全性、公共安全互操作性 V2 (CSIv2)、轻量级目录访问协议 (LDAP) 认证、Web 认证以及授权方面的注意事项,可以实现此均衡。
关于此任务
过程
- 考虑下列用于调整常规安全性的建议。
- 如果您精确了解什么代码放入服务器,并且无须保护进程资源,那么考虑禁用 Java 2 安全管理器。记住,这样做会给您的本地资源带来一些风险。
- 考虑在重新启动 Deployment Manager 和 Node Agent
以更改新的安全策略前,将新的安全设置传播到所有节点。
如果您的安全性配置在所有服务器中不一致,您获取拒绝访问错误。因此,在 Network Deployment 环境中启用或禁用管理安全性时,您必须传播新的安全设置。
配置更改通常使用配置同步传播。如果启用了自动同步,您可以等待传递的自动同步时间间隔,或者您可在同步时间间隔到期前强制同步。 如果您正在使用手动同步,您必须使所有节点同步。
如果单元处于配置状态,并且安全策略与启用和禁用了安全性的节点混合在一起,那么您可以使用 syncNode 实用程序来使新设置未传播到的节点同步。
有关在分布式环境中启用安全性的更多详细信息,请参阅 对领域启用安全性。
- 如果您感觉您的环境足够安全,那么考虑增加高速缓存和令牌超时。通过增加这些值,您就不必经常重新认证。此操作支持后续请求复用已创建的凭证。增加令牌超时有一个缺点,即它会同时增加令牌被偷窃的风险,并为黑客提供了更多时间在令牌到期前潜入系统。可以使用安全高速缓存属性确定主和次散列表高速缓存的初始大小,这影响重新散列的频率和散列算法的分发。
请参阅认证高速缓存设置一文以获取这些属性的列表。
- 考虑将您的管理连接器从简单对象访问协议 (SOAP) 更改为远程方法调用 (RMI),因为 RMI 使用有状态的连接,而 SOAP 是完全无状态的。运行基准程序以确定是否改进了您环境中的性能。
- 使用 wsadmin 脚本完成所有用户和组的访问标识,以加速应用程序启动。如果应用程序包含很多用户或组,或者如果应用程序频繁地停止和启动,请完成此操作。WebSphere Application Server 将用户和组名映射至授权表中的唯一访问标识。访问标识的确切格式取决于存储库。访问标识只能在应用程序部署期间或之后确定。在组装期间创建的授权表不具有正确的访问标识。请参阅“AdminApp 的命令”一文,以获取有关如何更新访问标识的更多信息。
考虑调整对象请求代理 (ORB),因为它是启用或未启用安全性的企业 bean 性能中的因素。请参阅有关 ORB 调整准则的信息。
- 如果使用 SSL,请按有关会话管理设置的信息中的描述来启用 SSL 会话跟踪机制选项。
在某些情况下,使用非受限的 Java 密码术扩展 (JCE) 策略文件可以提高性能。请参阅有关调整 Web Service 安全性的信息。
- 将工作负载分布到多个 Java 虚拟机 (JVM),而不是分布到单台机器上的单个 JVM,可以提高安全性性能,因为这样做可以减少对授权决定的争用。
- 考虑执行以下步骤来调整公共安全互操作性 V2 (CSIv2)。
- 考虑使用安全套接字层 (SSL) 客户机证书替换用户标识和密码,来认证 Java 客户机。因为您已建立 SSL 连接,所以当完全除去包含用户标识和密码的服务上下文时,使用相互认证不会添加很多开销。
- 如果您发送大量在安全性方面不是非常敏感的数据,请减少密码的强度。您必须整批加密的数据越多并且密码的强度越大,此操作所花费的时间越长。如果数据不是敏感的,那么不要使用 128 位密码来处理,这是一种浪费。
- 当您将身份断言用于下游授权时,考虑仅将星号 (*) 放入可信服务器标识列表中(意味着信任所有服务器)。在服务器之间使用 SSL 相互认证,以提供此信任。添加此额外步骤到 SSL 握手中执行得比必须完全认证上游服务器并检查可信列表更好。使用星号 (*) 时,身份令牌是可信的。SSL 连接通过客户机证书认证方法信任服务器。
- 确保为 CSIv2 启用有状态的会话。这是缺省值,但是它仅在第一个请求和任何后续令牌到期时才需要认证。
- 考虑更改 CSIv2 会话高速缓存的值。更改这些值可避免资源短缺。请参阅“Common Secure Interoperability V2 出站通信”主题,以了解更多信息。
- 如果仅要与 WebSphere Application Server V5
或更高版本服务器通信,请采用活动认证协议 CSI,而不是 CSI 和 SAS。此操作除去客户机和服务器端每个请求的拦截器调用。要点: 只有在 V6.0.x 与 V6.1 单元中联合的先前版本服务器之间才支持 SAS。
- 考虑执行以下步骤来调整轻量级目录访问协议 (LDAP) 认证。
- 在管理控制台中,单击安全性 > 全局安全性。
- 在“用户帐户存储库”下,单击可用的域定义下拉列表,选择独立 LDAP 注册表,然后单击配置。
- 当区分大小写不重要时,在独立 LDAP 注册表配置中选择授权时忽略大小写选项。
- 选择复用连接选项。
- 使用您的 LDAP 服务器支持的高速缓存功能。
- 如果您正在使用 IBM Tivoli® Directory Server,那么选择 IBM Tivoli Directory Server 或 SecureWay 目录类型。因为计划使用新组成员资格属性来改进组成员资格搜索,所以 IBM Tivoli Directory Server 会提高性能。但是,要使用 IBM Tivoli Directory Server,授权必须不区分大小写。
- 如果您是 iPlanet Directory 用户,那么选择 iPlanet Directory Server(又称为 Sun ONE)或 Netscape 作为目录。使用 iPlanet Directory Server 目录可以提高组成员资格查找的性能。但是,请仅对组机制使用角色。
- 考虑执行以下步骤来调整 Web 认证。
- 如果您感觉您的环境足够安全,那么增加高速缓存和令牌超时值。Web 认证信息将存储在这些高速缓存中,只要该认证信息存在于高速缓存中,就不会调用登录模块来认证用户。它支持后续请求复用已创建的凭证。增加令牌超时有一个缺点,即它会同时增加令牌被偷窃的风险,并为黑客提供了更多时间在令牌到期前潜入系统。
- 启用单点登录 (SSO) 。要配置 SSO,请单击安全性 >
全局安全性。在“Web 安全性”下,单击单点登录 (SSO)。
仅当您在“认证机制和到期”面板中配置 LTPA 作为认证机制时,SSO 才可用。尽管可以在“认证机制和到期”面板上选择“简单 WebSphere 认证机制”(SWAM) 作为认证机制也是如此。 当您选择 SSO 时,到一个应用程序服务器的单个认证足够进行对同一 SSO 域中多个应用程序服务器的请求。在某些情况下,SSO 不是所需要的,并且在那些情况下您不想使用 SSO。
- 如果不需要此功能,请在“单点登录 (SSO)”面板上禁用或启用 Web 入站安全性属性传播选项。在一些情况下,启用此功能可以改进性能。此改进最有可能体现在经常有相当多的用户注册表调用而降低性能的情况下。在另一些情况下,禁用此功能可改进性能。此改进最有可能体现在用户注册表调用不会占用太多资源时。
- 以下两个定制属性在启用安全性属性传播时可能有助于改进性能:
- com.ibm.CSI.propagateFirstCallerOnly
此属性的缺省值为 True。如果此定制属性设为 True,且安全性属性传播处于已启用状态,那么会记录传播令牌中存在于线程上的第一个调用者。此属性设置为 False 时,系统会记录所有调用者开关,这可能会影响性能。
- com.ibm.CSI.disablePropagationCallerList
将此定制属性设置为 True 后,将完全禁用添加传播令牌中的调用者或主机列表的能力。当环境中不需要使用传播令牌中的调用者或主机列表时,此功能就很有用。
- com.ibm.CSI.propagateFirstCallerOnly
- 考虑执行以下步骤来调整授权。
- 将用户映射至用户注册表中的组。将组与 Java Platform, Enterprise Edition (Java EE) 角色相关联。当用户数增加时,此关联可以显著改进性能。
- 明智地为企业 bean 指定方法许可权。例如,您可使用星号 (*) 表明 method-name 元素中的所有方法。当企业 bean 中的所有方法要求相同的许可权时,对 method-name 使用星号 (*) 来表明所有方法。此指示减少部署描述符的大小,并且减少装入部署描述符所需的内存。它还减少企业 bean 方法的方法-许可权匹配期间的搜索时间。
- 明智地为 Servlet 指定安全性约束。例如,您可使用 *.jsp URL 模式,以应用相同认证数据约束来表明所有 JavaServer Pages (JSP) 文件。对于给定的 URL,部署描述符中的完全匹配优先于最长路径匹配。如果不存在与安全性约束中给定 URL 的完全匹配和最长路径匹配,请使用 *.jsp、*.do 和 *.html 扩展名匹配。
- 使用 Java 2 安全性时使用新的调整参数。 新的调整参数可以显著提高性能,并引入了一个称为只读主体集的新概念,从而在使用容器管理的授权数据别名时,对 J2C 授权主体集启用新的高速缓存。如果 J2C 授权主体集在创建后不需要修改,那么可以使用下列新的调整参数来提高 Java 2 安全性性能:
- com.ibm.websphere.security.auth.j2c.cacheReadOnlyAuthDataSubjects=true
- com.ibm.websphere.security.auth.j2c.readOnlyAuthDataSubjectCacheSize=50(这是高速缓存的散列表中的最大主体集数。一旦高速缓存达到此大小,就会清除某些条目。为了提高性能,在将基于角色的安全性和 Java 2 安全性一起使用时,此大小应该等于唯一主体集的数目(基于用户主体 + 授权数据别名 + 受管连接工厂实例的唯一性的高速缓存)。
- 使用新的调整参数来提高安全性属性传播的性能。 可在管理控制台中通过定制属性来设置新的调整参数以减少安全性属性传播的额外开销:
- com.ibm.CSI.disablePropagationCallerList=true
- com.ibm.CSI.propagateFirstCallerOnly=true(只有在需要跟踪第一个调用者时才使用)
- 重新评估可能会影响安全性属性传播性能的安全性高速缓存 (WSSecureMap) 设置。 可以通过管理控制台中的定制属性来调整
WSSecureMap 安全性高速缓存设置。
- com.ibm.ws.security.WSSecureMapInitAtStartup=true
- com.ibm.ws.security.WSSecureMapSize(100 或更大的整数)。
结果
下一步做什么
子主题
安全套接字层性能技巧
使用此页面来了解安全套接字层 (SSL) 性能技巧。性能问题通常涉及功能和速度之间的平衡,一定要加以考虑。通常,涉及的功能和处理越多,那么性能越差。安全性调整技巧
通常情况下,当您提高安全性时会发生两件事情:每个事务的成本增加以及吞吐量减少。请在配置 WebSphere Application Server 时考虑以下安全性信息。调整安全性性能
使用下列过程来在不影响安全性设置的情况下调整性能。


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