技术开发 频道

如何设置WAS全局性安全

【IT168 专稿】

    WebSphere Application Server内置丰富的安全性特征,提供了端到端(end-to-end)的安全解决方案。在认证方面,WebSphere既可以采用基于userid/password进行认证,也可以采用基于X.509证书的认证(SSL)。WebSphere Application Server所带的Web服务器(IBM HTTP Server)和应用服务器都支持SSL,保证了数据传输的安全性。WebSphere Application Server还允许应用程序采用LDAP作为用户信息注册表,支持“单点登录,全网漫游”。本文主要介绍设置WAS全局性安全的详细步骤。

配置全局性安全具体步骤

    1. 启动WebSphere Application Server后,通过单击http://yourhost.domain:9060/ibm/console启动WebSphere Application Server管理控制台。
    2. 配置全局性安全之前,需要配置认证机制和用户注册表等,其配置顺序并不重要。
    3. 配置用户注册表。通过“全局安全性”面板上“用户注册表”下的链接配置,用户注册表有三种选择,包括本地操作系统、LDAP和定制用户注册表。
    (1)选择本地操作系统,则服务器用户标识中输入本地操作系统已经具有的用户,并且在服务密码中输入该用户的密码。
    (2)如果选择LDAP,请参考“内容配置轻量级目录访问协议用户注册表”一节。
    (3)选择定制用户注册表,请参考“配置定制用注册表”一节。
    4. 配置认证机制。WAS存在两个认证机制:第一,简单WebSphere认证机制(SWAM,单个服务器需求使用SWAM选项);第二,轻量级第三方认证(LTPA,多服务器分布式需求使用LTPA选项)。配置认证机制可以从“全局安全选项”中根据环境进行选择。选择SWAM不需要设置什么参数;如果是分布式环境需要选择LTPA,点击“认证协议”->“LTPA”,输入密码后生成密钥文件,并将该文件导入到分布式环境涉及到的不同机器的WAS中。
    注:SWAM凭证不能转发到其他机器,由于这个原因,所以不会到期。LTPA的凭证可转发到其他机器,出于安全原因,所以它有到期限制,此截止时间是可配置的。
    5. 如果有需要,则配置来自Java客户机的特殊安全需求的认证协议。此任务需要选择协议Common Secure Interoperability V2(CSIv2)或安全认证服务(SAS)。SAS协议仍然提供与先前产品发行版的向后兼容,但是不推荐使用。要获得有关配置CSIv2或SAS的详细信息,请参阅“配置Common Secure Interoperability V2和安全性认证服务认证协议”一节。
    6. 单击“安全性”->“全局安全性”,配置安全设置的剩余部分,选中“启用全局安全性”,点击确定。
    7. 重启应用服务器,启动管理控制台。如果当前启用安全性,则使用预定义的管理标识和密码(这通常是您在配置用户注册表时指定的服务器用户标识)登录。到此,全局性安全已经启用。

配置轻量级目录访问协议用户注册表

    1. 在管理控制台中,单击“安全性”->“全局安全性”。
    2. 在“用户注册表”下,单击LDAP。
    3. 在“服务器用户标识”字段中输入有效用户名。根据“高级LDAP”设置面板中的“用户过滤器”定义,您可以输入用户的完整专有名称(DN)或用户的短名。例如,为Netscape输入用户标识。
    4. 在“服务器用户密码”字段中输入用户的密码。
    5. 从“类型”列表中选择使用的LDAP服务器类型。LDAP服务器的类型确定WebSphere Application Server所使用的缺省过滤器。这些缺省过滤器将类型字段更改为定制,它表明使用定制过滤器。单击“高级LDAP”设置面板中的确定或应用后,将发生此操作。从列表选择定制,如果需要,修改用户和组过滤器,以使用其他LDAP服务器。如果选择IBM Directory Server或iPlanet Directory Server,则还需要选择“忽略大小写”字段。
    6. 在“主机”字段中输入LDAP服务器的标准主机名。
    7. 在“端口”字段中输入LDAP服务器端口号。主机名和端口号表示WebSphere Application Server单元中此LDAP服务器的域。因此,如果不同单元中的服务器使用轻量级第三方认证(LTPA)标记互相通信,则这些域必须在所有单元中完全匹配。
    8. 在“基本专有名称”字段中输入基本专有名称(DN)。基本DN表明在此LDAP目录服务器中用于搜索的开始点。例如,对于DN为cn=John Doe, ou=Rochester, o=IBM, c=US的用户,将基本DN指定为以下任一选项(假定后缀为c=us):ou=Rochester, o=IBM, c=us或o=IBM c=us或c=us。此字段区分大小写,与您目录服务器中的大小写匹配。此字段是除Domino Directory外所有LDAP目录所必需的。“基本DN”字段对于Domino服务器来说是可选的。
    9. 必要的话,在“绑定专有名称”字段中输入绑定DN名。如果在LDAP服务器上不可能执行匿名绑定,则需要绑定DN来获取用户和组信息。如果 LDAP服务器设置为使用匿名绑定,则保留此字段为空白。
    10. 必要的话,在“绑定密码”字段中输入相应于绑定DN的密码。
    11. 如果需要,修改“搜索超时”值。此超时值是LDAP服务器在放弃请求前等待发送响应到产品客户机的最大时间量。缺省值是120秒。
    12. 仅当使用路由器将请求发送到多个LDAP服务器时,如果路由器不支持亲缘关系,则取消选择重用连接选项。
    13. 如果需要,选择忽略权限的大小写选项。启用此标志后,授权检查不区分大小写。通常,授权检测涉及检查用户的完整DN(其在LDAP服务器中是唯一的),并区分大小写。然而,当使用IBM Directory Server或iPlanet Directory Server LDAP服务器时,此标志需要启用。这是因为从LDAP服务器获取的组信息在大小写方面不一致。此不一致仅影响授权检查。
    14. 如果与LDAP服务器的通信是通过SSL的,则启用安全套接字层(SSL)。
    15. 如果要将安全套接字层通信与LDAP服务器协同使用,则选择启用SSL选项。 如果选择启用SSL选项,则从“SSL 配置”字段中的列表选择适当的SSL别名配置。
    16. 单击确定。此面板中不发生用户、密码和设置的验证。仅当您在全局安全性面板中单击确定或应用时才进行验证。如果您是第一次启用安全性,完成剩余的步骤,并转至全局安全性面板。选择LDAP作为活动用户注册表。如果安全性已启用,但此面板上的信息已更改,则转至全局安全性面板,并单击确定或应用验证您的更改。如果您的更改未验证,服务器可能无法启动。

配置定制用注册表

    1. 单击“安全”->“全局安全性”。
    2. 在“用户注册表”下单击“定制”。
    3. 在“服务器用户标识”字段中输入有效用户名。
    4. 在“服务器用户密码”字段中输入用户的密码。
    5. 以点分隔的文件名格式输入定制注册表类名字段中实施类文件的位置全名。该文件名的样本是com.ibm.websphere.security.FileRegistrySample。该文件存在于WebSphere Application Server类路径中(最好是install_root/lib/ext目录中)。该文件存在于所有产品进程中,因此,如果您正在Network Deployment环境中操作,则该文件存在于单元类路径和所有节点类路径中。
    6. 选择授权的“忽略授权的大小写”选项来执行不区分大小写检查。仅当您的注册表不区分大小写,并且在查询用户和组未提供一致的大小写时,启用此选项。
    7. 如果您有任何其他要输入的注册表初始化属性,单击“应用”。否则,单击“确定”,并完成所需的步骤以打开安全性。
    8. 如果您需要输入其他属性以初始化您的实施,单击“定制属性”->“新建”,输入属性名和值,最后单击“确定”。重复此步骤以添加其他属性。为样本输入以下两个属性。假设users.props和groups.props文件在产品安装目录下的customer_sample目录中,您可以将这些属性放入任何您通过定制属性选择和引用其位置的目录中。然而,需要确保该目录有适当的访问许可权。

属性名 属性值
usersFile $USER_INSTALL_ROOT/customer_sample/users.props
groupsFile $USER_INSTALL_ROOT/customer_sample/groups.props

 
    9. 可以在 users.props 文件 和 groups.props 文件 文章中获得这两个属性的样本。
    10. 不使用描述、所需和验证表达式字段,您可以将其保留为空。
    注:在多个WebSphere Application Server 进程(单元和不同机器中的多个节点)存在的Network Deployment环境中,这些属性可用于每个进程。由于该名称扩展到产品安装目录,使用相关名称USER_INSTALL_ROOT以找到任何文件。如果不使用该名称,确保文件存在于所有节点的相同位置中。

配置Common Secure Interoperability V2和安全性认证服务认证协议

    1. 确定如何配置在基础结构中每点的安全性入站和出站。
    例如,您可能有一个与Enterprise JavaBeans(EJB)应用程序服务器通信的Java客户机,此EJB应用程序服务器又依次与下游EJB应用程序服务器进行通信。
    Java客户机利用sas.client.props文件配置出站安全性。纯客户机仅需要配置出站安全性。
    上游EJB应用程序服务器配置入站安全性,以处理来自Java客户机的正确认证类型。当转至下游EJB应用程序服务器时,上游EJB应用程序服务器利用出站安全性配置。
    此认证类型可能不同于您期待从Java客户机到上游EJB应用程序服务器中的类型。这取决于您的基础结构,安全性可能是纯客户机和第一个EJB服务器之间紧密纽带。下游EJB服务器利用入站安全性配置从上游EJB服务器接受请求。这两个服务器还需要具有相似的配置选项。如果下游EJB应用程序服务器与其他下游服务器进行通信,则出站安全性可能需要特殊配置。

    2. 指定认证的类型。
    缺省情况下,指定用户标识和密码的认证。
    缺省情况下,禁用Java客户机证书认证和身份声明。如果您要在每层上执行此类型的基本认证,则照原样使用CSIv2认证协议配置。然而,如果您具有一些服务器认证不同于其他服务器认证的任何特殊需求,则考虑如何将CSIv2配置为其非常好的优势。

    3. 配置客户机和服务器。
    配置纯Java客户机通过属性被修改的sas.client.props文件完成。
    服务器配置总是从管理控制台完成,从单元级别配置的“安全性”导航或从服务器级别配置的应用程序服务器“服务器安全性”。如果您要一些服务器的认证与其他服务器的认证不同,那么修改一些服务器级别配置。当您修改服务器级别配置时,您会覆盖单元级别配置。

附录:全局安全性配置具体参数含义的说明

    启用全局安全性
    指定是否为此WebSphere Application Server域启用全局安全性。
    此标志在WebSphere Application Server信息中通常称为全局安全性标志。启用安全性时,设置认证机制配置并在所选的用户注册表配置中指定有效用户标识和密码。

    执行Java 2安全性
    指定启用还是禁用Java 2安全许可权检查。缺省情况下,禁用Java 2安全性。然而,启用了全局安全性,将自动启用Java 2安全性。您可以选择禁用Java 2安全性,即使是在启用了全局安全性时。
    当启用了执行Java 2安全性选项,并且如果应用程序需要的Java 2安全许可权超出缺省策略授权的,则只有在应用程序的app.policy文件或was.policy文件中授权了必需的许可权时,应用程序才可能正常运行。确实具有所有必需许可权的应用程序生成AccessControl异常。如果您不熟悉Java 2安全性,则查阅WebSphere Application Server文档并查看Java 2安全性和动态策略部分。

    执行细粒度JCA安全性
    启用此选项以限制应用程序访问敏感的Java连接器体系结构(JCA)映射认证数据。
    当以下两种情况都为true时,考虑启用此选项。

    执行了Java 2安全性。
    在应用程序企业归档(EAR)文件中找到的was.policy文件中对应用程序代码授权了accessRuntimeClasses WebSphereRuntimePermission。例如,在was.policy文件中找到以下游时,将授予该应用程序代码许可权:
    permission com.ibm.websphere.security.WebSphereRuntimePermission "accessRuntimeClasses";

    执行细粒度JCA安全性选项将细粒度Java 2安全许可权检查添加到WSPrincipalMappingLoginModule实现的缺省主体映射。启用了Java 2安全性和执行细粒度JCA安全性选项时,必须直接在Java认证和授权服务(JAAS)登录中授权显式的许可权给使用WSPrincipalMappingLoginModule实现的Java 2 Platform, Enterprise Edition(J2EE)应用程序。

    使用域限定的用户标识
    指定方法返回的用户名由这些用户名驻留的安全域限定。对于z/OS,此字段启用或禁用由安全域标识限定用户名。

    高速缓存超时
    为安全高速缓存指定超时值(以秒为单位)。此值是相对超时。

    发出许可权警告
    指定在应用程序部署和应用程序启动时,如果对应用程序授权了任何定制许可权,则安全运行时发出警告。定制许可权是用户应用程序定义的许可权,而不是Java API许可权。Java API许可权是package java.*和javax.*中的许可权。
    WebSphere Application Server提供策略文件管理的支持。此产品中有许多策略文件,其中有些是静态的,有些是动态的。动态策略是某个特殊类型资源的许可权模板。动态策略模板中未定义代码库也不使用相关代码库。实际的代码库是从配置和运行时数据动态创建的。filter.policy文件包含根据J2EE 1.3规范应用程序不应该具有的许可权的列表。要获取有关许可权的更多信息,请参阅Java 2安全性策略文件。

    活动协议
    当启用安全性时,为通过因特网ORB间协议(RMI IIOP)请求的远程方法调用指定活动的认证协议。在前发行版中仅提供安全认证服务(SAS)协议或z/OS上的z/OS安全认证服务(z/SAS)协议。
    称为Common Secure Interoperability V2(CSIv2)的对象管理组(OMG)协议支持增强的供应商互操作性和其它功能。如果安全域中的所有服务器都是V5服务器,则指定CSI为协议。

    活动用户注册表
    启用了安全性时指定活动用户注册表。作为UNIX非root用户运行或在多节点环境中运行时,LDAP或定制用户注册表是必需的。

0
相关文章