|
安全指的是一种技术,用于确保存储在计算机或在计算机之间传送的数据不受损害。大多数安全措施涉及证明材料和数据加密。证明材料通常是机密的单词或短语,赋予了用户访问特定应用程序或系统的权利。数据加密将数据转换成某种形式,如果未拥有或提供相同机密,就无法解释此形式。
分布式应用程序,如用于电子商务 (e-commerce) 的应用程序,提供了许多访问点,恶意访问者可以通过它们截获数据、干扰操作或生成欺骗性输入。随着企业变得更具分布性,违反安全的可能性将随之增加。因此,随着企业分发其应用程序,用于构建此类应用程序的分布式计算软件能够提供安全将变得愈加重要。
应用服务器驻留在最终用户与您的宝贵数据和资源之间的敏感层中。WebLogic Server 提供身份验证、授权和加密服务,可以利用这几项服务保护这些资源。但是,这些服务并不能防止通过发现和利用部署环境中的弱点获得访问权限的入侵者。
因此,无论将 WebLogic Server 部署在 Internet 还是 Intranet 上,都建议您雇佣一个独立安全专家来检查安全计划和过程、审核已安装的系统并提出改进建议。
另一个好策略是阅读尽可能多的安全问题和相应的安全措施。文档确保生产环境的安全主要介绍将 WebLogic Server 部署到生产环境之前您需要考虑的基本安全措施。文档使用角色和策略确保 WebLogic 资源安全介绍各种类型的 WebLogic 资源,并提供允许您使用 WebLogic Server 确保这些资源安全的信息。有关确保 Web 服务器安全的最新信息,BEA 还建议您阅读Security Improvement Modules, Security Practices, and Technical Implementations 信息,可从 Carnegie Mellon University 所属的 CERT™ Coordination Center 获得。
BEA 建议您应用 security advisories 中推荐的补救措施。在 BEA 产品出现问题的情况下,BEA 将提供建议和说明以及相应的操作过程。如果您负责理所在站点的安全相关问题,请进行注册以便在将来接收通知。BEA 已经建立了一个电子邮件地址 (security-report@bea.com),您可以将 BEA 产品中有关任何可能的安全问题的报告发送到此地址。此外,建议您在每次发布 Service Pack 时都对其进行应用。Service Pack 包括每个产品版本及以前发布的每个 Service Packs 的所有错误修复。
BEA 合作伙伴提供的产品也可以帮助您确保 WebLogic Server 生产环境安全。有关详细信息,请参阅 BEA Partner's Page。
就安全而言,可以使用管理控制台为 Web 应用程序、EJB、J2EE 连接器和企业应用程序定义和编辑部署描述符。此文档(WebLogic 安全性编程)不描述如何使用管理控制台来配置安全。有关如何使用管理控制台来定义和编辑部署描述符的信息,请参阅使用角色和策略确保 WebLogic 资源安全和确保 WebLogic Server 安全。
身份验证是调用者和服务提供商用来证明他们正在代表特定用户或系统进行操作的机制。身份验证使用凭据来响应“您是谁?”这一问题。当证明为双向时,身份验证被称为相互身份验证。
WebLogic Server 支持用户和密码身份验证以及证书身份验证。对于证书身份验证,WebLogic Server 支持单向和双向 SSL(安全套接口层)身份验证。双向 SSL 身份验证是一种相互身份验证的形式。
在 WebLogic Server 中,身份验证提供程序用于证明用户或系统进程的标识。身份验证提供程序还可以记忆、传输标识信息,并在需要时将标识信息用于系统的各种组件(通过主题)。您可以使用 Web 应用程序和 EJB 部署描述符文件、管理控制台或二者的组合,来配置身份验证提供程序。
通过授权过程,可以根据用户标识或其他信息,控制用户与 WebLogic 资源之间的交互。换句话说,授权将响应“您可以访问什么?”这一问题。
在 WebLogic Server 中,WebLogic 授权提供程序用于限制用户和 WebLogic 资源之间的交互,以确保完整性、保密性和可用性。您可以使用 Web 应用程序和 EJB 部署描述符文件、管理控制台或二者的组合,来配置授权提供程序。
WebLogic Server 也支持使用编程授权(在此文档也称作编程安全),以限制用户与 WebLogic 资源之间的交互。
为了实现和使用用户身份验证和授权,BEA WebLogic Server 利用了 J2SE Development Kit 5.0 (JDK 5.0) 的安全服务。与其他 J2EE 组件一样,安全服务基于标准化的模块组件。BEA WebLogic Server 根据标准来实现这些 Java 安全服务方法,并添加自动处理许多应用程序行为细节的扩展,而无需额外编程。
此部分列出了 WebLogic Server 实现和支持的安全包和类。可以使用这些包来确保 WebLogic Server 和客户端应用程序、Enterprise JavaBean (EJB) 及 Web 应用程序之间的安全交互。
| 注意: | WebLogic Server 的此版本中不赞成使用几个 WebLogic 安全包、类和方法。有关不赞成使用的包和类的详细信息,请参阅赞成使用安全 API。 |
可以使用 Java API 和 WebLogic API 编写使用 JAAS 身份验证的客户端应用程序。
可以使用下列 Java API 编写 JAAS 客户端应用程序。
有关如何使用这些 API 的信息,请参阅 JAAS 身份验证 API。
可以使用下列 WebLogic API 编写 JAAS 客户端应用程序:
有关如何使用这些 API 的信息,请参阅 JAAS 身份验证 API。
可以使用 Java 和 WebLogic API 编写使用 SSL 身份验证的客户端应用程序。
可以使用下列 Java API 编写 SSL 客户端应用程序:
WebLogic Server 还支持 javax.net.SSL API,但 BEA 建议将 SSL 用于 WebLogic Server 时使用 weblogic.security.SSL 包。
有关如何使用这些 API 的信息,请参阅 SSL 身份验证 API。
可以使用下列 WebLogic API 编写SSL 客户端应用程序。
有关如何使用这些 API 的信息,请参阅 SSL 身份验证 API。
此外,可以使用下列 API 开发 WebLogic Server 应用程序:
weblogic.security.jacc
此 API 提供 RoleMapper 接口。如果实现 Java 容器授权合同(Java Authorization Contract for Containers,简称 JACC),则可以将此包和 javax.security.jacc 包结合使用。有关 WebLogic JACC 提供程序的信息,请参阅使用 Java 容器授权合同。有关开发 JACC 提供程序的信息,请参阅 http://java.sun.com/j2ee/javaacc/。
weblogic.security.net
此 API 提供用于实现网络连接筛选器的接口和类。网络连接筛选器基于网络连接发起方的 IP 地址、域或协议等特性,允许或拒绝连接到 WebLogic Server。有关使用此 API 的详细信息,请参阅使用网络连接筛选器。
weblogic.security.pk
此 API 提供用来生成和验证证书路径的接口和类。有关使用此 API 来生成和验证证书链的信息,请参阅使用证书路径生成以及验证。
有关证书和证书路径的其他信息,请参阅 java.security.cert 包。
weblogic.security.providers.saml
此 API 提供用来将用户和组信息映射到安全声明标记语言(Security Assertion Markup Language,简称 SAML)声明,并缓存和检索 SAML 声明的接口和类。
SAML 是用于交换安全信息的基于 XML 的框架。WebLogic Server 支持 SAML V1.1,其中包括浏览器/POST 和浏览器/工件配置文件。不支持 SAML 授权。
有关 SAML 的详细信息,请参阅 http://www.oasis-open.org。
weblogic.security.service
此 API 包括支持安全提供程序的接口、类和异常。WebLogic 安全性框架由此 API 提供的接口、类和异常组成。此 API 中的接口、类和异常应该与 weblogic.security.spi 包中的对应物结合使用。有关如何使用此 API 的详细信息,请参阅开发 WebLogic Server 的安全提供程序。
weblogic.security.services
此 API 提供服务器端身份验证类。此类用于执行本地登录到服务器。它提供与 CallbackHandlers 结合使用的登录方法,以使用默认的安全领域验证用户身份并返回凭据。
weblogic.security.spi
此包提供安全服务提供程序接口(Security Service Provider Interface,简称 SSPI)。它提供用于开发自定义安全提供程序的接口、类和异常。在许多情况下,这些接口、类和异常应该与 weblogic.security.service API 中的对应物结合使用。您从此包实现接口、类和异常,以便为安全提供程序创建运行时类。有关如何使用 SSPI 的详细信息,请参阅开发 WebLogic Server 的安全提供程序。
weblogic.servlet.security
此 API 提供服务器端 API,此 API 支持 Servlet 应用程序中的编程身份验证。有关如何使用此 API 的详细信息,请参阅使用编程身份验证 API。
|