Access Manager 策略代理可以保护 Web 服务器和 Web 代理服务器上的内容不受未授权的侵入。它们控制对基于策略(由管理员配置)的服务和 Web 资源的访问。
代理对象定义了“策略代理”配置文件,并允许 Access Manager 存储验证和其他有关保护 Access Manager 资源的特定代理的配置文件信息。通过 Access Manager 控制台,管理员可以查看、创建、修改和删除代理配置文件。
可以在代理对象创建页面定义代理用于通过 Access Manager 进行验证的 UID/密码。如果有多个 AM/WS 设置使用相同的 Access Manager,您可以选择为不同的代理启用多个 ID 并且可以从 Access Manager 单独将其启用和禁用。您也可以集中管理代理的一些首选项值,而不必在每台计算机上都编辑 AMAgent.properties。
单击“代理”选项卡。
单击“新建”。
输入以下字段的值:
名称。输入代理的名称或身份。此为代理将用来登录 Access Manager 的名称。不接受多字节名称。
密码。输入代理的密码。此密码必须与在 LDAP 验证过程中代理所使用的密码不同。
确认密码。确认密码。
设备状态。输入代理的设备状态。如果将状态设置为“活动”,代理将能够通过 Access Manager 进行验证并与之进行通信。如果将状态设置为“不活动”,代理将无法通过 Access Manager 进行验证。
单击“创建”。
创建代理之后,您可以另外编辑以下字段:
说明。输入代理的简短说明。例如,可以输入代理实例名称或此代理保护的应用程序名称。
代理关键字值。使用关键字/值对设置代理属性。Access Manager 使用此属性接收有关用户的证书声明的代理请求。通常仅一个属性有效,所有其他属性都将被忽略。请使用以下格式:
agentRootURL=http:// server_name:port/
默认情况下,当在一个可信赖环境中创建多个策略代理时,这些策略代理包含的 UID 和密码相同。因为 UID 和密码是共享的,所以 Access Manager 不能区分各个代理,这可能导致会话 Cookie 容易被截取。
当“身份提供者”为第三方或企业中未授权组开发的应用程序(或“服务提供者”)提供验证、授权和有关用户的配置文件信息时,这个缺点可能会出现。可能的安全问题包括:
所有应用程序共享同一个 http 会话 Cookie。这可能导致某欺骗应用程序夺取会话 Cookie,然后在另一应用程序中冒充用户。
如果应用程序不使用 https 协议,则会话 Cookie 可能遭受网络窃听。
只要有一个应用程序可被夺取,整个基础结构的安全性就会大打折扣。
欺骗应用程序可使用会话 Cookie 来获取用户的配置文件属性并可能进行修改。如果该用户拥有管理权限,则应用程序将能够造成更多损害。
使用 Access Manager 管理控制台为每个代理设置一个条目。
运行以下有关密码的命令,此密码是在创建代理过程中输入的。此命令应该在安装代理的主机上调用。
AccessManager-base/SUNWam/agents/bin/crypt_util agent123
此时输出以下信息:
WnmKUCg/y3l404ivWY6HPQ==
更改 AMAgent.properties 以反映新值,然后重新启动该代理。示例:
# The username and password to use for the Application authentication module. com.sun.am.policy.am.username = agent123 com.sun.am.policy.am.password = WnmKUCg/y3l404ivWY6HPQ== # Cross-Domain Single Sign On URL # Is CDSSO enabled. com.sun.am.policy.agents.cdsso-enabled=true # This is the URL the user will be redirected to after successful login # in a CDSSO Scenario. com.sun.am.policy.agents.cdcservletURL = http://server.example.com:port /amserver/cdcservlet
更改安装有 Access Manager 的 AMConfig.properties 以反映新值,然后重新启动 Access Manager。示例:
com.sun.identity.enableUniqueSSOTokenCookie=true com.sun.identity.authentication.uniqueCookieName=sunIdentityServerAuthNServer com.sun.identity.authentication.uniqueCookieDomain=.example.com
在 Access Manager 控制台中,选择“配置”>“平台”。
在“Cookie 域”列表中更改 Cookie 域名: