| 网站首页 | 测试咨讯 | 新手入门 | 专注性能 | 测试技术 | 测试管理 | 测试工具 | 开发社区 | 工具下载 | 资料下载 | 测试论坛 | 

[CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523

新手入门
 入门指南
 经验之谈
测试咨讯
 行业新闻
 网站动态
 人才就业
 CNTester基金
 标准规范
专注性能
 性能测试知识
 性能测试工具
 程序设计性能
 数据库性能
 Web应用服务器性能
 操作系统性能
 服务器与网络性能
测试技术
 用例设计
 性能测试
 自动化测试
 Web测试
 面向对象测试
 综合技术
 阶段性测试
 行业类测试
测试管理
 项目管理
 项目案例
 质量管理
 软件过程
测试工具
 Mercury系列
 Rational系列
 测试管理工具
 性能测试工具
 功能测试工具
 单元测试工具
 其它测试工具
开发社区
 Java技术
 DotNet技术
 C技术
 数据库技术
 操作系统
 服务器与中间件
工具下载
 测试工具
 开发工具
 企业工程
 网络通信
 媒体桌面
 游戏娱乐
 其他工具
资料下载
 测试资料
 程序设计
 数据库
 操作系统
 应用服务器
 电子期刊
 其他资料
 
 
您现在的位置: 中国测试员网站 >> 开发社区 >> 服务器与中间件 >> 文章正文
  [确保 WebLogic Server 安全]配置 WebLogic 安全提供程序           ★★★ 【字体:
[确保 WebLogic Server 安全]配置 WebLogic 安全提供程序
作者:BEA WebL…    文章来源:BEA    点击数:    更新时间:2007-8-13    

以下部分介绍如何配置由 WebLogic Server 提供的安全提供程序。

注意: WebLogic Server 包含大量的身份验证提供程序和标识声明提供程序,本文将在单独的部分中分别进行介绍,以便读者更好地理解。请参阅配置身份验证提供程序

 


何时需要配置安全提供程序?

默认情况下,大多数 WebLogic 安全提供程序通常都配置为在安装 WebLogic Server 后运行。但是,下列情况会要求提供配置信息:

在安全领域中,可以使用 WebLogic 提供的安全提供程序,也可以使用自定义安全提供程序。要配置自定义安全提供程序,请参阅“管理控制台联机帮助”中的配置自定义安全提供程序

 


安全提供程序重新排序

安全领域中可以配置属于同一给定类型的多个安全提供程序。例如,可以使用两个或多个不同的角色映射提供程序或授权提供程序。如果在安全领域中有多个相同类型的安全提供程序,则这些提供程序的调用顺序可影响安全过程的整个结果。默认情况下,按照安全提供程序添加到领域的顺序对其进行调用。可以使用管理控制台更改提供程序的顺序。请参阅“管理控制台联机帮助”中的重新排序安全提供程序

 


配置授权提供程序

授权是限制用户和资源之间的交互以确保实现完整性、机密性和可用性的过程。换句话说,授权负责基于用户标识和其他信息控制对资源的访问。只有在创建新的安全领域时,才需要配置授权提供程序。

默认情况下,新建域中的安全领域包含 XACML 授权提供程序。XACML 授权提供程序使用 XACML,即可扩展访问控制标记语言。有关使用 XACML 授权提供程序的信息,请参阅“使用角色和策略确保 WebLogic 资源安全”中的使用 XACML 文档确保 WebLogic 资源安全。WebLogic Server 还包含使用专用策略语言的 WebLogic 授权提供程序。该提供程序名为 DefaultAuthorizer,但不再是默认授权提供程序。

请参阅“管理控制台联机帮助”中的配置授权提供程序

注意: WebLogic 授权提供程序通过缓存它所查找的角色、谓词和资源数据来提高性能。有关配置这些缓存的信息,请参阅“使用角色和策略确保 WebLogic 资源安全”中的最佳实践:使用 WebLogic 提供程序时配置权限缓存。XACML 授权使用它自己的缓存,但该缓存不可配置。

 


配置 WebLogic 仲裁提供程序

如果安全领域中配置了多个授权提供程序,则对于给定的资源,每个提供程序可能会对“是否允许访问”这个问题返回不同的答案。这些答案可以是 PERMITDENYABSTAIN。而仲裁提供程序的主要功能便是在多个授权提供程序的答案不一致时确定如何处理。仲裁提供程序通过衡量每个授权提供程序的答案并返回最终的决定来解决授权冲突。

每个安全领域都需要一个仲裁提供程序,但最多只能有一个活动的仲裁提供程序。默认情况下,WebLogic 安全领域被配置为使用 WebLogic 仲裁提供程序。在安全领域中,可以使用 WebLogic 仲裁提供程序,也可以使用自定义仲裁提供程序。

注意: 在管理控制台中,WebLogic 仲裁提供程序被称为默认仲裁者。

默认情况下,WebLogic 仲裁提供程序的大多数配置选项已经过定义。但是,可以设置“要求一致允许”选项来确定 WebLogic 仲裁提供程序如何处理来自已配置的授权提供程序的 PERMITABSTAIN 表决组合。

  • 如果启用该选项(默认设置),则必须在所有授权提供程序都赞成 PERMIT 的情况下,仲裁提供程序才赞成 true
  • 如果禁用该选项,ABSTAIN 表决将算作 PERMIT 表决。

 


配置角色映射提供程序

角色映射提供程序会计算授予给定资源的主题的角色集。然后,它将该角色信息提供给授权提供程序,以便授权提供程序能够回答针对 WebLogic 资源的“是否允许访问?”问题。默认情况下,WebLogic 安全领域被配置为使用 XACML 角色映射提供程序。XACML 角色映射提供程序使用 XACML,即可扩展访问控制标记语言。有关使用 XACML 角色映射提供程序的信息,请参阅“使用角色和策略确保 WebLogic 资源安全”中的使用 XACML 文档确保 WebLogic 资源安全

WebLogic Server 还包含使用专用策略语言的 WebLogic 角色映射提供程序。该提供程序名为 DefaultRoleMapper,但它不再是新建安全领域中的默认角色映射提供程序。在安全领域中,还可以使用自定义角色映射提供程序。

默认情况下,XACML 角色映射提供程序的大多数配置选项已经过定义。但是,可以设置“已启用角色映射部署”,该选项指定此角色映射提供程序是否将 Web 应用程序和 EJB 的部署描述符中的信息导入到安全领域中。默认情况下启用此设置。

为支持“已启用角色映射部署”,角色映射提供程序必须实现 DeployableRoleProvider SSPI。角色由 XACML 角色映射提供程序存储在嵌入式 LDAP 服务器中。

有关使用、开发和配置角色映射提供程序的信息,请参阅:

注意: WebLogic 角色映射提供程序通过缓存它所查找的角色、谓词和资源数据来提高性能。有关配置这些缓存的信息,请参阅“使用角色和策略确保 WebLogic 资源安全”中的最佳实践:使用 WebLogic 提供程序时配置权限缓存。XACML 角色映射提供程序使用它自己的缓存,但该缓存不可配置。

 


配置 WebLogic 审核提供程序

通过审核过程,可以收集、存储和分发有关操作请求及其请求结果的信息(出于非否认目的)。换句话说,审核提供程序生成计算机活动的电子跟踪。

配置审核提供程序是一项可选操作。默认安全领域 (myrealm) 中并未配置审核提供程序。WebLogic Server 包含一个名为 WebLogic 审核提供程序的提供程序(在管理控制台中称为 DefaultAuditor)。也可以开发自定义审核提供程序,如“开发 WebLogic Server 的安全提供程序”中的审核提供程序所述。

WebLogic 审核提供程序可以记录表 4-1 中描述的事件。另外,如果启用配置审核(如配置审核中所述),则 WebLogic 审核提供程序还可以记录表 4-5 中描述的事件。

表 4-1 WebLogic 审核提供程序事件
审核事件
指示...
AUTHENTICATE
发生了简单身份验证(用户名和密码)。
ASSERTIDENTITY
发生了边界身份验证(基于标记)。
USERLOCKED
用户帐户因无效登录尝试而被锁定。
USERUNLOCKED
已清除用户帐户上的锁定。
USERLOCKOUTEXPIRED
用户帐户上的锁定到期。
ISAUTHORIZED
发生了授权尝试。
ROLEEVENT
发生了 getRoles 事件。
ROLEDEPLOY
发生了 deployRole 事件。
ROLEUNDEPLOY
发生了 undeployRole 事件。
POLICYDEPLOY
发生了 deployPolicy 事件。
POLICYUNDEPLOY
发生了 undeployPolicy 事件。
START_AUDIT
已启动审核提供程序。
STOP_AUDIT
已停止审核提供程序。

默认情况下,WebLogic 审核提供程序的大多数配置已经过定义。在将 WebLogic 审核提供程序添加到活动安全领域中后,它将开始记录审核事件。但是,还需要定义下列设置,操作可在管理控制台中针对该提供程序的“配置: 提供程序特定”页上进行。也可以使用 WebLogic 脚本工具或 Java 管理扩展(Java Management Extensions,简称 JMX)API 来配置审核提供程序:

  • “滚动时间(分钟)”- 指定在创建新的 DefaultAuditRecorder.log 文件之前需要等待的分钟数。将在指定的时间关闭审核文件并新建审核文件。将在同一目录中创建名为 DefaultAuditRecorder.YYYYMMDDHHMM.log(例如,DefaultAuditRecorder.200405130110.log)的备份文件。
  • “严重程度”- 适合 WebLogic Server 部署的严重程度级别。WebLogic 审核提供程序将审核具有指定严重程度的安全事件以及所有具有较高严重程度数字等级的事件。例如,如果将严重程度级别设置为 ERROR,则 WebLogic 审核提供程序将审核严重程度级别为 ERROR、SUCCESS 和 FAILURE 的安全事件。也可以将严重程度级别设置为 CUSTOM,然后启用要审核的特定严重程度级别,例如仅 ERROR 和 FAILURE 事件。审核事件包含严重程度名和数字等级;因此,自定义审核提供程序可以按名称或数字等级来筛选事件。当发生下列级别的安全事件时,便可以启动审核。 表 4-2 审核严重程度级别
    事件严重程度
    等级
    INFORMATION
    1
    WARNING
    2
    ERROR
    3
    SUCCESS
    4
    FAILURE
    5

默认情况下,由 WebLogic 审核提供程序记录的所有审核信息都保存在 WL_HOME\yourdomain\yourserver\logs\DefaultAuditRecorder.log 中。虽然审核提供程序是按安全领域配置的,但每个服务器都会将审核数据写入服务器目录中它自己的日志文件中。可以在命令行上使用以下 Java 启动选项为 DefaultAuditRecorder.log 文件指定新的目录位置:

-Dweblogic.security.audit.auditLogDir=c:\foo

新的文件位置将是 c:\foo\yourserver\logs\DefaultAuditRecorder.log

有关详细信息,请参阅 WebLogic Server 命令参考中的“Security”。

警告: 使用审核提供程序时,即使只记录了几个事件,也会影响 WebLogic Server 的性能。

有关详细信息,请参阅“管理控制台联机帮助”中的配置审核提供程序

审核 ContextHandler 元素

审核事件包含的 ContextHandler 可以保留多种信息或对象。设置 WebLogic 审核提供程序的“活动 ContextHandler 条目”特性可以指定审核提供程序将记录 ContextHandler 中的哪些 ContextElement 条目。默认情况下,不会审核任何 ContextElements。大多数情况下,将使用 toString 方法记录ContextHandler 中的对象。表 4-3 列出了可用的 ContextHandler 条目。

表 4-3 用于审核的上下文处理程序条目
上下文元素名
描述和类型
com.bea.contextelement.
servlet.HttpServletRequest
通过 HTTP 进行的 Servlet 访问请求或 SOAP 消息
javax.http.servlet.HttpServletRequest
com.bea.contextelement.
servlet.HttpServletResponse
通过 HTTP 进行的 Servlet 访问响应或 SOAP 消息
javax.http.servlet.HttpServletResponse
com.bea.contextelement.
wli.Message
WebLogic 集成消息。该消息将流入审核日志中。
java.io.InputStream
com.bea.contextelement.
channel.Port
正在接受或处理请求的网络通道的内部监听端口
java.lang.Integer
com.bea.contextelement.
channel.PublicPort
正在接受或处理请求的网络通道的外部监听端口
java.lang.Integer
com.bea.contextelement.
channel.RemotePort
正在接受或处理请求的网络通道的 TCP/IP 连接的远程端的端口
java.lang.Integer
com.bea.contextelement.
channel.Protocol
正在接受或处理请求的网络通道中用于发出请求的协议
java.lang.String
com.bea.contextelement.
channel.Address
正在接受或处理请求的网络通道的内部监听地址
java.lang.String
com.bea.contextelement.
channel.PublicAddress
正在接受或处理请求的网络通道的外部监听地址
java.lang.String
com.bea.contextelement.
channel.RemoteAddress
正在接受或处理请求的网络通道的 TCP/IP 连接的远程地址
java.lang.String
com.bea.contextelement.
channel.ChannelName
正在接受或处理请求的网络通道的名称
java.lang.String
com.bea.contextelement.
channel.Secure
网络通道是否正在使用 SSL 接受或处理请求
java.lang.Boolean
com.bea.contextelement.
ejb20.Parameter[1-N]
基于参数的对象
com.bea.contextelement.
wsee.SOAPMessage
javax.xml.rpc.handler.MessageContext
com.bea.contextelement.
entitlement.EAuxiliaryID
由 WebLogic Server 内部进程使用。
weblogic.entitlement.expression.EAuxiliary
com.bea.contextelement.
security.ChainPrevalidatedBySSL
SSL 框架已验证证书链,这意味着:链中的证书已相互进行了适当签名;该链会在服务器的可信 CA 之一的证书处终止;该链使用基本约束规则;链中的证书尚未过期。
java.lang.Boolean
com.bea.contextelement.
xml.SecurityToken
不在本版本的 WebLogic Server 中使用。
weblogic.xml.crypto.wss.provider.SecurityToken
com.bea.contextelement.
xml.SecurityTokenAssertion
不在本版本的 WebLogic Server 中使用。
java.util.Map
com.bea.contextelement.
webservice.Integrity{id:XXXXX}
javax.security.auth.Subject
com.bea.contextelement.
saml.SSLClientCertificateChain
从通过其收到 Sender-Vouches SAML 声明的 SSL 连接中获取的 SSL 客户端证书链。
java.security.cert.X509Certificate[]
com.bea.contextelement.
saml.MessageSignerCertificate
用于签署 Web Service 消息的证书。
java.security.cert.X509Certificate
com.bea.contextelement.
saml.subject.ConfirmationMethod
SAML 声明的类型:bearer、artifact、sender-vouches 或 holder-of-key。
java.lang.String
com.bea.contextelement.
saml.subject.dom.KeyInfo
将用于与 holder-of-key SAML 声明进行主题确认的 <ds:KeyInfo> 元素。
org.w3c.dom.Element

配置审核

可以配置管理服务器,使其在用户更改域中任何资源的配置或调用域中任何资源的管理操作时发出日志消息并生成审核事件。例如,如果用户禁用域中受管服务器上的 SSL,管理服务器将发出日志消息。如果启用了 WebLogic 审核提供程序,则它会将审核事件写入附加的安全日志中。这些消息和审核事件提供了对域配置更改的审核跟踪(配置审核)。

管理服务器会将配置审核消息写入它的本地日志文件。默认情况下,不会将这些审核消息写入域范围的消息日志中。

请注意,配置审核信息包含在授权事件中。因此,配置审核的另一种方式便是使用授权事件。但请注意,授权事件中的信息可指示是否允许访问以执行配置更改;它并不指示配置更改实际上是否已获得成功(例如,配置更改可能因无效而已经失败)。

启用配置审核

通过下列方法之一可启用配置审核:

  • 使用管理控制台。在域的“配置: 常规”页上,设置“配置审核类型”。请参阅“管理控制台帮助”中的启用配置审核
  • 当启动管理服务器时,在 weblogic.Server 命令中包含下列 Java 选项之一:
    • -Dweblogic.domain.ConfigurationAuditType="audit"

      可使域仅发出审核事件。

    • -Dweblogic.domain.ConfigurationAuditType="log"

      可使域仅向管理服务器日志文件写入配置审核消息。

    • -Dweblogic.domain.ConfigurationAuditType="logaudit"

      可使域发出审核事件并向管理服务器日志文件写入配置审核消息。

      请参阅 weblogic.Server 命令行参考

  • 使用 WebLogic 脚本工具更改 DomainMBeanConfigurationAuditType 特性的值。请参阅 WebLogic 脚本工具

配置审核消息

配置审核消息分为下列严重程度级别:

表 4-4 配置审核消息严重程度
严重程度
描述
SUCCESS
发生了成功的配置更改。
FAILURE
修改配置的尝试因用户凭据不足而失败。
ERROR
修改配置的尝试因内部错误而失败。

配置审核消息由消息 ID 标识,其范围为 159900-159910

这些消息使用 MBean 对象名标识资源。WebLogic Server MBean 的对象名反映了 MBean 在层次数据模型中的位置。为反映该位置,对象名包含了父 MBean 中的名称/值对。例如,某服务器的 LogMBean 的对象名为:mydomain:Name=myserverlog,Type=Log,Server=myserver。请参阅“使用 JMX 开发自定义管理实用工具”中的 WebLogic Server MBean 数据模型

表 4-5 概括了这些消息。

表 4-5 配置审核消息概要
当发生此事件时...
WebLogic Server 生成具有此 ID 的消息...
此消息的内容为...
授权用户创建资源。
159900
USER username CREATED MBean-name
其中 username 标识已登录并创建了资源的 WebLogic Server 用户。
未经过授权的用户尝试创建资源。
159901
USER username CREATED MBean-name
FAILED weblogic.management.
NoAccessRuntimeException:

exception-text stack-trace
其中 username 标识该未经过授权的 WebLogic Server 用户。
授权用户删除资源。
159902
USER username REMOVED MBean-name
其中 username 标识已登录并删除了资源的 WebLogic Server 用户。
未经过授权的用户尝试删除资源。
159903
USER username REMOVE MBean-name
FAILED weblogic.management.
NoAccessRuntimeException:

exception-text stack-trace
其中 username 标识该未经过授权的 WebLogic Server 用户。
授权用户更改资源的配置。
159904
USER username MODIFIED MBean-name
ATTRIBUTE
attribute-name
FROM old-value TO new-value
其中 username 标识已登录并更改了资源配置的 WebLogic Server 用户。
未经过授权的用户尝试更改资源的配置。
159905
USER username MODIFY MBean-name
ATTRIBUTE
attribute-name
FROM old-value TO new-value

FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace
其中 username 标识该未经过授权的 WebLogic Server 用户。
授权用户调用资源的操作。
例如,用户部署应用程序或启动服务器实例。
159907
USER username INVOKED ON
MBean-name

METHOD
operation-name

PARAMS
specified-parameters
其中 username 标识已登录并调用了资源的操作的 WebLogic Server 用户。
未经过授权的用户尝试调用资源的操作。
159908
USER username INVOKED ON
MBean-name

METHOD
operation-name

PARAMS
specified-parameters

FAILED weblogic.management.
NoAccessRuntimeException:
exception-text stack-trace
其中 username 标识该未经过授权的 WebLogic Server 用户。
授权用户启用配置审核。
159909
USER username, Configuration Auditing is enabled
其中 username 标识已启用配置审核的 WebLogic Server 用户。
授权用户禁用配置审核。
159910
USER username, Configuration Auditing is disabled
其中 username 标识已禁用配置审核的 WebLogic Server 用户。

注意: 每当授权用户添加、修改或删除资源时,无论是否已启用了配置审核,管理子系统也会生成一条 ID 为 140009Info 消息。例如:
注意: <Sep 15, 2005 11:54:47 AM EDT> <Info> <Management> <140009> <Configuration changes for domain saved to the repository.>
注意: 虽然该消息可通知您域的配置已发生更改,但它不提供配置审核消息所提供的详细信息。此外,在调用资源的操作时,管理子系统也不会生成该消息。

表 4-6 列出了配置审核消息的其他消息特性。所有配置审核消息都为这些特性指定相同的值。

表 4-6 常用消息特性和值
消息特性
特性值
严重程度
Info
子系统
Configuration Audit
用户 ID
kernel identity
无论是哪位用户修改了资源或调用了资源的操作,此值始终为 kernel identity
服务器名
AdminServerName
由于管理服务器维护域中所有资源的配置数据,所以此值始终是管理服务器的名称。
计算机名
AdminServerHostName
由于管理服务器维护域中所有资源的配置数据,所以此值始终是管理服务器的主机名。
线程 ID
execute-thread
此值取决于管理服务器上当前运行的执行线程数。
时间戳
生成消息时的 timeStamp

审核事件和审核提供程序

审核事件是审核提供程序可按特定方式读取和处理的对象。审核提供程序是一个可插入组件,安全领域使用它来收集、存储和分发有关操作请求及其请求结果的信息(出于非否认目的)。

如果启用域来发送审核事件,则该域将发送表 4-7 中所描述的事件。为该域配置的所有审核提供程序都可以处理这些事件。

所有事件的严重程度级别都是 SUCCESS,它们描述了启动操作的安全委托人、是否已授予权限以及所请求操作的对象(MBean 或 MBean 特性)。

表 4-7 配置审核的审核事件概要
当发生此事件时...
WebLogic Server 生成此审核事件对象...
已允许或禁止创建新配置工件的请求。
weblogic.security.spi.
AuditCreateConfigurationEvent
请参阅 Javadoc
已允许或禁止删除现有配置工件的请求。
weblogic.security.spi.
AuditDeleteConfigurationEvent
请参阅 Javadoc
已允许或禁止修改现有配置工件的请求。
weblogic.security.spi.
AuditInvokeConfigurationEvent
请参阅 Javadoc
已允许或禁止对现有配置工件操作的调用。
weblogic.security.spi.
AuditSetAttributeConfigurationEvent
请参阅 Javadoc

如果启用默认的 WebLogic Server 审核提供程序,它会将所有审核事件作为日志消息写入自己的日志文件中。

您创建或购买的其他审核提供程序可以筛选这些事件,并将它们写入诸如 LDAP 服务器、数据库或简单的文件之类的输出仓库中。另外,其他类型的安全提供程序还可以向审核提供程序请求审核服务。请参阅“开发 WebLogic Server 的安全提供程序”中的审核提供程序

 


配置 WebLogic 凭据映射提供程序

凭据映射是指,远程系统(例如,旧式系统或应用程序)的身份验证和授权机制通过获取适当的凭据集来对远程用户进行身份验证以确定是否允许其访问目标 WebLogic 资源的过程。WebLogic 凭据映射提供程序会将 WebLogic Server 主题映射到要在访问此类资源时使用的用户名/密码对。

默认情况下,WebLogic 凭据映射提供程序的大多数配置选项已经过定义。但是,可以设置“已启用凭据映射部署”,以指定该凭据映射提供程序是否将资源适配器的部署描述符(weblogic-ra.xml 文件)中的凭据映射导入到安全领域中。默认情况下启用此设置。

为支持“已启用凭据映射部署”,凭据映射提供程序必须实现 DeployableCredentialProvider SSPI。凭据映射信息存储在嵌入式 LDAP 服务器中。

有关详细信息,请参阅:

 


配置 PKI 凭据映射提供程序

WebLogic Server 中包含的公钥基础结构(Public Key Infrastructure,简称 PKI)凭据映射提供程序将 (a) WebLogic Server 主题(发起方)和目标资源(以及可选的凭据操作)映射到 (b) 可由应用程序用于访问已定位资源的密钥对或公共证书。PKI 凭据映射提供程序使用主题和资源名从密钥库中检索相应的凭据。

要使用 PKI 凭据映射提供程序,需要:

  1. 使用适当的密钥配置密钥库,并在 WebLogic Server 群集中的所有计算机上分发此密钥库。WebLogic Server 不具备设置密钥库的功能。有关设置密钥库的信息,请参阅 help for the Java keytool utility,访问网址为 http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/keytool.html。另外,有关 WebLogic Server 中的密钥库和密钥的信息,请参阅配置标识和信任
  2. 配置 PKI 凭据映射提供程序。在默认安全领域 (myrealm) 中,PKI 凭据映射提供程序尚未得到配置。请参阅“管理控制台联机帮助”中的 PKI 凭据映射特性配置凭据映射提供程序
  3. 创建凭据映射。请参阅“管理控制台联机帮助”中的创建 PKI 凭据映射

PKI 凭据映射特性

要配置 PKI 凭据映射提供程序,请设置下列特性的值。请参阅“管理控制台联机帮助”中的配置凭据映射提供程序

  • 密钥库提供程序 - Java 安全性 API 的密钥库提供程序。如果未指定任何值,则使用默认提供程序类。
  • 密钥库类型 – JKS(默认值)或 PKCS12。
  • 密钥库密码 – 用于访问密钥库的密码。
  • 密钥库文件名 – 密钥库相对于服务器启动目录的位置。

另外,还有两个可选的特性,可在确切的资源或主题不可用时,用于确定 PKI 凭据映射提供程序将如何查找凭据映射:

  • 使用资源层次 – 通过遍历每种资源的资源层次来查找凭据。在搜索所有可能的 PKI 凭据时,将从特定的资源开始遍历资源层次,以查找所有可能的匹配项。默认情况下启用此特性。
  • 使用发起方组名 – 在将某个主题传递给 PKI 凭据映射提供程序时,将通过检查发起方所属的组来查找凭据。默认情况下启用此特性。

凭据操作

也可以通过凭据操作来标记凭据映射。可在创建凭据映射时通过管理控制台来完成此操作。凭据操作是一个用于区分在不同环境中使用的凭据映射的任意字符串。例如,一个凭据映射可以解密来自远程资源的消息,另一个凭据映射可以签署要发送到同一资源的消息。主题发起方和目标资源不足以区分这两个凭据映射。可以使用凭据操作将这两个凭据映射中的一个标记为类似 decrypt 的内容,而将另一个标记为 sign。然后,调用该 PKI 凭据映射提供程序的应用程序可以在传递给该提供程序的 ContextHandler 中提供所需的凭据操作值。

有关向 PKI 凭据映射中添加凭据操作的信息,请参阅“管理控制台联机帮助”中的创建 PKI 凭据映射

 


配置 SAML 凭据映射提供程序

SAML 凭据映射提供程序充当 SAML 安全声明的生成程序,它允许 WebLogic Server 充当源站点以便使用 SAML 进行单一登录。SAML 凭据映射提供程序会基于目标站点或资源的配置为经过身份验证的主题生成有效的 SAML 1.1 声明。可以将 SAML 凭据映射提供程序配置为 SAML 站点间传输服务。请参阅“管理控制台联机帮助”中的配置凭据映射提供程序

WebLogic Server 中的 SAML 凭据映射提供程序

本版本的 WebLogic Server 包含两个 SAML 凭据映射提供程序。SAML 凭据映射提供程序版本 2 提供了显著增强的配置选项,建议在新部署中使用此提供程序。WebLogic Server 9.1 中不赞成使用 SAML 凭据映射提供程序版本 1。一个安全领域最多只能有一个 SAML 凭据映射提供程序,如果安全领域中同时包含 SAML 凭据映射提供程序和 SAML 标识声明提供程序,则两者必须属于同一版本。请勿在使用版本 2 SAML 提供程序的同一安全领域中使用版本 1 SAML 提供程序。有关配置 SAML 凭据映射提供程序版本 1 的信息,请参阅 WebLogic Server 9.0 文档中的Configuring a SAML Credential Mapping Provider

有关 WebLogic Server 对 SAML 支持的一般信息,请参阅“了解 WebLogic 安全性”中的安全声明标记语言 (SAML)使用 WebLogic 安全框架单一登录。有关如何在 SAML 单一登录配置中使用 SAML 凭据映射提供程序的信息,请参阅使用 Web 浏览器和 HTTP 客户端配置单一登录

配置声明生命周期

SAML 声明的有效性在时间上通常是有限的。SAML 凭据映射提供程序生成的声明的默认生存时间由 DefaultTimeToLive 特性指定。对于为不同的 SAML 依赖方生成的声明,可以替换其默认生存时间。

通常情况下,声明在 NotBefore 时间(默认为生成声明的大致时间)到 NotOnOrAfter 时间(按 NotBefore + TimeToLive 计算)内有效。要允许凭据映射器补偿源和目标站点之间的时钟差异,可以配置 SAML 凭据映射提供程序的 DefaultTimeToLiveDelta 特性。此生存时间偏移值是正整数或负整数,指示应将声明的 NotBefore 值设置为距“现在”之前或之后多少秒。如果设置 DefaultTimeToLiveDelta 的值,则声明生命周期仍然按 (NotBefore + TimeToLive) 计算,但 NotBefore 值将设置为 (now + TimeToLiveDelta)。例如,给定下列设置:

DefaultTimeToLive = 120
DefaultTimeToLiveDelta = -30

声明在生成时的声明周期有两分钟(120 秒),该时间将从生成前的 30 秒开始计算。

依赖方注册表

在将 WebLogic Server 配置为充当 SAML 安全声明的源时,需要注册可能请求并接受 SAML 声明的各方。对于每个 SAML 依赖方,可以指定使用的 SAML 配置文件、有关依赖方的详细信息以及在依赖方的声明中预期使用的特性。有关信息,请参阅:

 


配置凭据查找和验证框架

WebLogic Server 可以将数字证书作为 Web Service 请求、双向 SSL 或其他安全交互的一部分接收。为验证这些证书,WebLogic Server 包含了一个证书查找和验证(Certificate Lookup and Validation,简称 CLV)框架,其功能是查找并验证 X.509 证书链。CLV 框架的关键元素是 CertPathBuilder 和 CertPathValidator。CLV 框架仅需要一个活动的 CertPathBuilder 以及零个或多个 CertPathValidator,前者可在给定对证书链的引用时查找该链并进行验证,后者可在给定证书链时对该链进行验证。

当 WebLogic Server 收到证书时,CLV 框架将使用配置为 CertPathBuilder 的安全提供程序来查找并验证该证书链。如果该证书链被找到并且有效,则该框架将调用每个已配置的 CertPathValidator 对该链执行额外验证,其调用顺序为管理员对它们的配置顺序。仅当生成器和所有验证器都对链成功验证后,该链才是有效的。

仅当满足以下全部条件时,链才有效:

  • 链中的证书相互间已进行适当签名。
  • 该链的终止证书是服务器的可信 CA 之一。
  • 链使用基本约束规则(例如,链中没有证书是由不允许颁发证书的证书颁发的)。
  • 链中的证书尚未过期。

WebLogic Server 包含两个 CLV 安全提供程序:WebLogic CertPath 提供程序(同时充当 CertPathBuilder 和 CertPathValidator,如 CertPath 提供程序中所述)和证书注册表(如证书注册表中所述)。如果需要对整个证书链使用基于可信 CA 的验证,只需使用 WebLogic CertPath 提供程序。如果仅需要验证已注册的证书,只需使用证书注册表。如果要同时使用这两种类型的验证,请在使用时将证书注册表指定为当前生成器。

有关证书查找和验证的详细信息,请参阅配置标识和信任

CertPath 提供程序

WebLogic Server 中的默认安全领域被配置为使用 WebLogic CertPath 提供程序。CertPath 提供程序有两个功能:CertPathBuilder 和 CertPathValidator。CertPath 提供程序接收结束证书或证书链。如有必要,它将使用服务器的可信 CA 列表完成证书链。在生成该链后,CertPath 提供程序将对该链进行验证:检查链中的签名;确保链尚未过期;检查链的基本约束;验证链的结束证书是否是由服务器的可信 CA 之一颁发的。

WebLogic CertPath 提供程序除了其“当前生成器”特性外,不再需要任何其他配置,该特性指示是否应将 CertPath 提供程序用作活动证书链生成器。

证书注册表

证书注册表是一个安全提供程序,通过它可以显式注册允许访问 WebLogic Server 的可信证书列表。如果将证书注册表配置为安全领域的一部分,则只有在证书注册表中注册的证书才会被视为有效证书。证书注册表为执行撤销检查提供了一个廉价的机制。通过从证书注册表中删除证书,可以使证书立即失效。该注册表存储在嵌入式 LDAP 服务器中。

证书注册表既是一个 CertPath 生成器,也是一个 CertPath 验证器。无论在哪种情况下,证书注册表都可以确保链的结束证书存储在注册表中,但不执行其他验证。如果使用证书注册表作为安全领域的 CertPath 生成器,并且还需要使用 WebLogic CertPath 提供程序或其他安全提供程序来执行完整的链验证,则应确保在每个服务器的信任密钥库中注册中间和根 CA,并在证书注册表中注册结束证书。

WebLogic Server 中的默认安全领域不包含证书注册表。在配置了证书注册表后,即可使用 WebLogic 管理控制台在注册表中添加、删除和查看证书。可以使用 Java keytool 实用工具将密钥库中的证书导出到一个文件中。可以使用控制台将文件系统中以 PEM 或 DER 文件表示的证书导入证书注册表。也可以使用控制台查看证书的内容,包括其主题 DN、发行方 DN、序列号、有效日期、指纹等。

请参阅“管理控制台联机帮助”中的配置证书路径提供程序

 


配置 WebLogic 密钥库提供程序

注意: 不赞成使用 WebLogic 密钥库提供程序。它仅用于支持向后兼容性。应改用 Java 密钥库 (JKS)。WebLogic 密钥库提供程序支持的所有功能都可以通过使用 Java 密钥库获得。

有关配置 WebLogic 密钥库提供程序的信息,请参阅“管理控制台联机帮助”中的配置密钥库

文章录入:root    责任编辑:root 
  • 上一个文章:

  • 下一个文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    最新热点 最新推荐 相关文章
    · 面向对象设计与编程核心技术
    · Tomcat系统安全管理与权限管理
    · 雅虎公司C#笔试题
    · 利用Java事件处理机制实现录制、回放功能
    · apache+tomcat+mysql负载均衡和集群
    · Linux 指令大全
    · 应用服务器内存泄露问题诊断一例
    · 追求代码质量: 软件架构的代码质量
    · 对话 UNIX
    · 关于一些算法问题与朋友的讨论
    · 对话 UNIX
    · nmon 性能:分析 AIX 和 Linux 性能的免费
    · 追求代码质量: 谨防紧密耦合!
    · 应用服务器内存泄露问题诊断一例
    · Linux 指令大全
    · C 编程最佳实践
    · LPI 证书 101 考试准备,第2部分 [正则表
    · LPI 证书 101 考试准备,第1 部分 [使用L
    · Linux 究竟是什么?
    · 利用Java事件处理机制实现录制、回放功能
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
    [确保 WebLogic Server 安全
     
     
     
    ======> [CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | 

    Copyright@2007 by CNTester.com 中国测试员网站 桂ICP备07005590

    本站为开源免费网站,非商业赢利性组织。本站文章部分从网络搜索获取,如果您认为某些侵犯了您的权益,麻烦您联系本站,我们会尽快删除相关内容,同时也希望您的谅解,我们的初衷是为了让更多人去学习这方面的知识,让行业有更好的发展。

    联系电话: 15021358905