如果给定的服务不是必需的,则可以禁用其监听的端口。查看此列表,可以考虑禁用的端口包括:
SAS_SSL_SERVERAUTH_LISTENER_ADDRESS:用于与 WebSphere Application Server V4 和更早版本进行兼容。这是旧的 IIOP 安全性协议。从 V5 开始,CSIv2 替代它了。
SIB_ENDPOINT_*:供内置的消息传递引擎使用。如果没有使用消息传递,则不需要使用它们。
SIB_MQ_*:供消息传递引擎与 WebSphere MQ 连接时使用。
SIP_*:这些端口供 SIP 容器使用。
WC_adminhost*:用于管理性 Web 浏览器访问。如果应用服务器没有部署管理器,则应该确保已经禁用了这些端口。遗憾的是,即使服务器上没有管理应用程序,大多数应用服务器 Web 容器仍然要监听两个管理端口。这是因为服务器通常是基于 server1 模板创建的,这个模板包含这些端口。应该在所有应用服务器上禁用或删除这些端口。
WC_defaulthost*:默认的 Web 容器监听端口。如果已经添加了自定义的监听端口,那么有可能不需要这些端口。
不同的端口需要使用不同的技术来禁用,这取决于它们的实现方式:
可以通过在全局安全性面板中选择 CSI 作为活动协议,将 SAS_SSL_SERVERAUTH_LISTENER_ADDRESS 从服务中除去。在 V7 中,默认情况下会禁用 SAS,但是仍然监听这个端口。
WC_* 端口都是用于 Web 容器的。最好在 Web 容器传输链配置面板 (Application servers > servername > Web container > transport chain) 中删除、修改或禁用它们。只需要监听应用程序使用的那些 Web 端口。
除非启用了消息传递引擎,否则不会启动 SIB_* 端口,所以不需要对它们采取措施。
除非启动了 SIP 应用程序,否则不会启动 SIP_* 端口,所以不需要对它们采取措施。
警告:在决定要禁用哪些端口时以及在实际禁用它们时,应该特别谨慎。否则,可能无意间禁用管理端口,这样做会禁用管理进程的机制,导致无法删除和重新创建进程(例如服务器)定义。
38. 考虑禁用密码缓存
在执行基于密码的身份验证时,运行时会以单向散列的形式缓存密码,供以后检验时使用。因为这个散列是不可逆的,所以密码没有被截获(甚至包括通过内存转储截获)的危险,但是这个缓存对安全性有影响。如果以后到达的请求要求身份验证,而且这些请求使用了相同的用户 ID 和密码组合,则会使用缓存的密码数据(和用户信息)。这意味着,即使注册表中的用户密码更改了,他仍然能够使用旧的密码通过身份验证,直到缓存到期为止(默认情况下是 10 分钟)。
一些人认为这是一个安全漏洞(作者并不认同)。如果您担心这个问题,可以通过设置 JVM 级属性 com.ibm.websphere.security.util.authCacheEnabled = BasicAuthDisabled 禁用密码缓存。进行这样的设置之后,就不再缓存密码,对于所有密码身份验证,都要查询注册表。请记住,这对性能有明显的消极影响。如果使用每个请求都要求身份验证的无状态协议(比如使用 UserNameTokens 的 WS-security),这会产生很大的注册表身份验证通信流。
39. 考虑启用 FIPS、SP800-131 或 Suite B 遵从性
在执行加密时,有多种密码学算法可供选择。另外,在建立 SSL 连接时,实际上有三个选择:SSL V2(在默认情况下禁用)、SSL V3 和 TLS。美国政府已经定义了与计算机安全性有关的标准 (Federal Information Processing Standards),该标准涵盖许多领域。这个标准称为 FIPS 140-2。在这些标准中,认证了符合 FIPS 标准的密码技术,还认证了 TLS(但是没有认证 SSL V3)。
美国国家标准和技术研究所 (NIST) 定义了一个新标准 SP800-131 来取代当前的 FIPS 140-2。类似地,国家安全局 (NSA) 也开发了一个名为 Suite B 的新标准。这些新标准进一步限制了使用的密码选择并要求使用 TLS 1.2;而 FIPS 140-2 禁止使用 SSL V3,SP800-131 禁止使用 TLS 1.0 和 TLS 1.1。
如果用户希望将应用程序限制为只使用符合 FIPS 140-2 的密码技术和 TLS,那么可以手工配置每个端点,也可以使用管理工具启用 FIPS 遵从性。启用 FIPS 之后,就只能使用 符合 FIPS 的密码技术。
WebSphere Application Server V8.5(以及修复包 8.0.0.3 和 7.0.0.23)引入了对 SP800-131 和 NSA Suite B 的遵从性。类似于 FIPS 遵从性,可以转换整个计算单元,以遵从 SP800-131 和 Suite B。启用之后,只有支持 SP800-131 的客户端能够连接到该计算单元。目前,支持 SP800-131 和 TLS 1.2 的客户端应用程序很少。向此标准的迁移可能很耗时且需要规划。
结束语
这篇分两部分的文章的第 1 部分讨论了安全性的几个方面,主要关注加强 WebSphere Application Server 环境的核心方案。希望这些信息能够向您提供切实保护 Java EE 环境所需的基础知识。
第 2 部分 将讨论更广泛的主题,包括基于应用程序的预防措施、计算单元信任、跨计算单元信任、管理和应用程序隔离、身份传播、桌面开发安全性等等。
如果希望进一步了解 WebSphere Application Server 安全性,请联系 IBM Software Services for WebSphere,参加关于 WebSphere Application Server 安全性的自定义的现场课程。这个课程将深入讲解安全性加强、自定义身份验证、集成、单点登录和其他各种相关主题。
致谢
以下文章点击率最高
Loading…