IBM Security Access Manager:通过基于上下文的访问保护网站

IBM Security Access Manager for Mobile(ISAM for Mobile)允许安全设计师通过IBM Security Access Manager for Web(ISAM for Web)对Web访问执行基于上下文的授权(CBA)决策(也称为基于风险的访问决策)。或WebSEAL)安全设备。 此设计中的一个重要考虑因素是,开发了一种Web安全体系结构,该体系结构在保持上下文相关的Web环境的同时最大程度地减少了风险计算的次数。

在本文中,我们描述了将ISAM for Web和ISAM for Mobile一起配置所需的体系结构和配置,以允许用户身份验证的CBA风险决定来保护Web资源(或整个站点)的集合。 该体系结构确保仅在必要时执行风险计算,而不是为每个后续访问请求执行风险计算。

图1概述了此体系结构。

图1.此解决方案的体系结构

解决方案设计

为了配置此解决方案,必须具有以下组件:

  • Web设备的IBM Security Access Manager。 可以是硬件设备也可以是软件设备,最低要求是V8.0 Fixpack 1。 该设备应安装有配置有可用的运行WebSEAL反向代理实例的网络接口。
  • 用于移动设备的IBM Security Access Manager。 这可以是硬件或软件设备。 应在配置了网络接口的情况下安装和激活设备,而不进行进一步的配置。
  • 运行您要保护的站点的应用程序服务器。 该应用程序服务器还应具有某种形式的活动服务器页面,因为它将用作集成的一部分。 WebSphere,Tomcat或IIS是合适的。
  • 客户端浏览器和智能手机。 能够运行HMAC OTP生成器(例如Google Authenticator)以生成一次性密码的一种。

在这种情况下,我们有一个需要强身份验证的Web应用程序。 该Web应用程序将受到ISAM设备上的WebSEAL的保护。

样品申请

本文中使用的示例应用程序是一个名为Your Bank的模拟互联网银行网站。 该站点内有一个页面设计用于未经身份验证的访问,而页面仅用于身份验证的访问。 此设计在许多联机Web应用程序中很常见,并且使其成为适当的示例应用程序,以展示ISAM for Mobile的更强身份验证功能。

图2.银行网站首页
图3.银行保护页面

该网站的URL结构大致如表1所示。

表1.示例应用程序站点的URL结构
网址格式 目的
/银行/* 此文件夹下的URL设计用于常规银行客户的经过身份验证的访问。
/ * 网站核心的URL通常设计用于未经身份验证的用户访问。

在“ 下载”部分中,我们包括了两页等效的银行业务示例Web应用程序。 它适合在Tomcat上运行,也可以部署到WebSphere环境。

样本安全策略

您的银行具有以下安全政策要求:

  • 所有希望访问在线互联网银行功能的银行客户都必须使用用户名和密码进行身份验证。
  • 如果客户以前从未从注册的设备/浏览器访问该站点,则他们还必须使用一次性密码进行身份验证。
  • 用户通过OTP进行身份验证后,便会注册浏览器实例。

从本质上讲,此安全策略始终提高了银行客户的安全性,因为它始终需要使用二次身份验证的形式登录。在用户与站点的首次交互中,要求用户输入用户名和密码。一次性密码。

在此初始交互过程中,将对用户的浏览器进行指纹识别并注册。

在后续交互中,在用户输入用户名和密码之后,ISAM for Mobile中的CBA模块将用户的浏览器指纹与以前的交互进行比较。 如果指纹相同,则为用户提供第二因素身份验证。

这种方法为客户提供了更大的易用性,在这种情况下,他们只需要在注册新的浏览器或设备时提供OTP。 此步骤可以通过减少管理和交付OTP SMS策略的成本来节省组织资金。

配置步骤

现在,我们将详细介绍配置ISAM设备以满足安全方案所采取的步骤。

网络接口

使用这些设备,我们介绍了管理接口和应用程序网络接口的概念。 管理任务通过管理界面执行,而运行时通信通过应用程序界面执行。 这会在设备上创建逻辑网络隔离,并通过网络隔离提供更好的安全状态。

图4.网络接口端点
ISAM设备

配置ISAM设备以使用本地策略服务器和本地注册表。 您可以使用远程LDAP和策略服务器,但是本文提供的示例假定使用的是本地服务器。

图5.配置了本地策略服务器和LDAP目录的ISAM设备

使用在应用程序网络接口上侦听的活动反向代理实例为ISAM设备配置。

图6.配置了WebSEAL反向代理实例的ISAM设备
ISAM for Mobile基本配置

在本节中,我们将提供配置ISAM设备(外部授权服务插件)和ISAM移动设备(授权服务)之间连接的步骤。

主机名解析

由于此示例使用虚拟主机联结,因此需要使ISAM设备的应用程序接口的主机名localhost在网络DNS中可用,或者在MGA设备的主机文件中进行设置以进行配置。 为了在主机文件中设置值,请在MGA设备上导航至“ 管理系统设置”>“主机文件”并添加以下值:

  • 地址:10.166.1.14
  • 主机名:bank.test
图7.主机文件配置

isamcfg配置工具

第二个配置步骤需要运行isamcfg工具。 该工具可以从ISAM移动设备运行,也可以从/ mga / tools / isamcfg下的“ 管理系统设置”>“文件下载”页面下载 。 对于此配置,我们将通过SSH命令行在ISAM for Mobile设备上本地运行它。

首先,使用PuTTY或等效于ISAM for Mobile管理界面的SSH。

图8.移动设备到ISAM的PuTTY终端会话

接下来,一旦出现菜单提示,请导航至配置工具:

isam8> isam
isam8:isam> mga
isam8:mga> config
Security Access Manager Autoconfiguration Tool Version 8.0.1.0 [20141203-1958]

配置工具启动后,首先选择同时配置Context-based AuthorizationAuthentication Service 。 这转化为使WebSEAL实例能够为CBA决策和OTP更强的身份验证调用用于移动设备的ISAM。

按照提示进行操作。 (您可以使用适合您的环境的详细信息替换粗体变量。)确保在配置工具中将Context-based AuthorizationAuthentication Service选择为[ X ]

isam8> isam
Select/deselect the capabilities you would like to configure by typing its number. 
Press enter to continue: 
   [ X ] 1. Context-based Authorization
   [ X ] 2. Authentication Service
   [ X ] 3. API Protection
Enter your choice: 
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1

提供有关ISAM设备的ISAM for Mobile管理界面的信息,并提供管理凭据。

Security Access Manager for Mobile Local Management Interface hostname: 10.150.27.149
Security Access Manager for Mobile Local Management Interface port [443]: 443
Security Access Manager for Mobile Appliance administrator user ID [admin]: admin
Security Access Manager for Mobile Appliance administrator password:  
Testing connection to https://10.150.27.149:443/.
SSL certificate information: 
   Issuer DN: CN=isam4m 
   Subject DN: CN=isam4m
SSL certificate fingerprints: 
   MD5: 7A:93:EB:F4:65:EA:F3:A2:10:37:CD:88:C3:52:FC:3D
   SHA1: 2A:A2:29:DB:E9:38:C5:0E:ED:27:35:95:0E:F1:B3:06:C6:E2:0D:E9
SSL certificate data valid (y/n): y
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
Web Gateway Appliance Local Management Interface hostname: 10.150.27.149
Web Gateway Appliance Local Management Interface port [443]: 443
Web Gateway Appliance administrator user ID [admin]: admin
Web Gateway Appliance administrator password: 
Testing connection to https://10.150.27.149:443/.
SSL certificate information: 
   Issuer DN: CN=isam4w
   Subject DN: CN=siam4w
SSL certificate fingerprints: 
   MD5: 7E:88:5C:FA:F6:E3:5C:12:D5:72:64:EF:F3:4C:AA:83
   SHA1: BB:EA:97:55:25:DC:67:64:01:35:79:F7:E6:27:E0:97:90:A9:1A:84

SSL certificate data valid (y/n): y
Instance to configure: 
   1. wga 
   2. Cancel
Enter your choice [1]: 1
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
Security Access Manager administrator user ID [sec_master]: sec_master
Security Access Manager administrator password: 
Security Access Manager Domain Name [Default]: 
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1

提供有关ISAM for Mobile设备的应用程序界面的信息,包括CBA授权决策Web服务(我们之前测试的同一Web服务)的用户名和密码。

Security Access Manager for Mobile application interface hostname: localhost
Security Access Manager for Mobile application interface port: 443
Select the method for authentication between WebSEAL and the Security Access Manager for Mobile application interface:
   1. Certificate authentication 
   2. User-id/password authentication
Enter your choice [1]: 2
Security Access Manager for Mobile application interface user ID: easuser
Security Access Manager for Mobile application interface password: passw0rd 
Testing connection to https://localhost:443.
Connection completed.
SSL certificate information: 
   Issuer DN: CN=isam, O=ibm, C=us 
   Subject DN: CN=isam, O=ibm, C=us
SSL certificate fingerprints: 
   MD5: 79:23:E3:5D:27:DC:66:2B:D2:C5:43:93:10:C4:3E:3F
   SHA1: F8:08:49:4A:47:CF:92:C2:54:29:EF:24:59:DD:7A:9E:D6:E0:1F:81

SSL certificate data valid (y/n): y
Automatically add CA certificate to the key database (y/n): y
Restarting the WebSEAL server...
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
The following files are available on the Web Gateway Appliance. Choose one for the '400 Bad Request'
response page.
1. oauth_template_rsp_400_bad_request.html
2. oauth_template_rsp_401_unauthorized.html
3. oauth_template_rsp_502_bad_gateway.html
Enter your choice [1]: 1
The following files are available on the Web Gateway Appliance. Choose one for the '401 Unauthorized'
response page.
1. oauth_template_rsp_400_bad_request.html
2. oauth_template_rsp_401_unauthorized.html
3. oauth_template_rsp_502_bad_gateway.html
Enter your choice [1]: 2
The following files are available on the Web Gateway Appliance. Choose one for the '502 Bad Gateway'
response page.
1. oauth_template_rsp_400_bad_request.html
2. oauth_template_rsp_401_unauthorized.html
3. oauth_template_rsp_502_bad_gateway.html
Enter your choice [1]: 3
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
The junction /mga contains endpoints that require Authorization HTTP header to be forwarded to the backend
server.
Do you want to enable this feature? [y|n]? y

isamcfg工具现在将配置WebSEAL ACL和EAS POP。

URLs allowing unauthenticated access: 
   https://localhost/mga/sps/static
URLs allowing all authenticated users access: 
   https://localhost/mga/sps/ac 
   https://localhost/mga/sps/xauth 
   https://localhost/mga/sps/mga/user/mgmt/html 
   https://localhost/mga/sps/mga/user/mgmt/device 
   https://localhost/mga/sps/mga/user/mgmt/otp
Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1
-----------------------------------------------
Planned configuration steps:

A junction to the Security Access Manager server will be created at /mga.

The POP oauth-pop will be created.
The POP rba-pop will be created.

ACLs denying access to all users will be attached to:
   /WebSEAL/isam8-wga/mga

ACLs allowing access to all users will be attached to:
   /WebSEAL/isam8-wga/mga/sps/authsvc
   /WebSEAL/isam8-wga/mga/sps/xauth
   /WebSEAL/isam8-wga/mga/sps/authservice/authentication
   /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/authorize
   /WebSEAL/isam8-wga/mga/sps/static
   /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/session
   /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/token

ACLs allowing access to all authenticated users will be attached to:
   /WebSEAL/isam8-wga/mga/sps/auth
   /WebSEAL/isam8-wga/mga/sps/ac
   /WebSEAL/isam8-wga/mga/sps/xauth
   /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/html
   /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/clients
   /WebSEAL/isam8-wga/mga/sps/common/qr
   /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/device
   /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/questions
   /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/otp
   /WebSEAL/isam8-wga/mga/sps/mga/user/mgmt/grant

EAI authentication will be enabled for the endpoints:
   /WebSEAL/isam8-wga/mga/sps/oauth/oauth20/session
   /WebSEAL/isam8-wga/mga/sps/auth
   /WebSEAL/isam8-wga/mga/sps/authservice/authentication
   /WebSEAL/isam8-wga/mga/sps/authsvc

Certificate authentication will be disabled.

HTTP-Tag-Value header insertion will be configured for the attributes:
   user_session_id=user_session_id

Press 1 for Next, 2 for Previous, 3 to Repeat, C to Cancel: 1

Beginning configuration...

Attaching ACLs.
Creating ACL isam_mobile_nobody.
Creating ACL isam_mobile_unauth.
Creating ACL isam_mobile_rest.
Creating ACL isam_mobile_anyauth.
Creating junction /mga.

Editing configuration file...
Disabling BA authentication.
Enabling forms authentication.

Restarting the WebSEAL server...
Configuration complete.

注意:请确保等待大约30秒以使WebSEAL服务器重新启动,然后再进行下一步。

配置完成后,ISAM设备上的WebSEAL将具有:

  • 带有ACL的CBA和OTP组件的联结/ mga,允许适当的访问
  • 称为rba-pop的POP,可以附加到需要基于上下文的访问策略的资源上
  • 在HTTPS上配置了表单和EAI身份验证

配置ISAM移动版和ISAM Web策略服务器之间的通信。 这是将基于上下文的访问策略附加到ISAM的Web资源所必需的。 通过ISAM for Mobile控制台可以看到WebSEAL上定义的资源。 导航到“ 安全移动设置”>“访问控制” 。 单击资源 ,然后单击添加图标。

图9.查看并添加WebSEAL资源

控制台将提示您输入策略服务器管理凭据。 输入sec_master用户名及其密码。

图10.策略服务器登录详细信息

再次单击添加图标; 现在应该可以浏览WebSEAL对象空间中的资源。

图11.浏览WebSEAL资源
IBM Security Access Manager用户创建

在本节中,我们将提供在ISAM设备本地注册表中创建样本用户的步骤。

从先前步骤中使用的PuTTY终端,启动ISAM管理实用程序。 对于熟悉ISAM早期版本的用户,这也称为pdadmin 。 使用策略服务器管理员sec_master和配置的密码登录。

isam8> isam
isam8:isam> admin
pdadmin> login
Enter User ID: sec_master
Enter Password: 
pdadmin sec_master>

在本地ISAM设备注册表中创建测试用户testuser

pdadmin sec_master> user create testuser cn=testuser,dc=iswga testuser testuser passw0rd 
pdadmin sec_master> user modify testuser account-valid yes

注意:使用板载LDAP服务器时,后缀为dc=iswga 。 此后缀不能更改。

用于Web联结创建的ISAM

在本节中,我们将描述配置与示例应用程序的联结的步骤。 有多种替代机制可用于创建到Your Bank服务器的联结。 在示例环境中, 您的Bank Java™WAR文件已被部署为Tomcat上的ROOT应用程序。

ISAM设备通过此处显示的逻辑管理接口(LMI)引入了联结创建:

图12.通过LMI界面进行连接管理

使用LMI,通过导航到Secure Reverse Proxy Settings> Reverse Proxy来配置到应用程序服务器的虚拟主机联结。 选择要添加结点的实例,然后单击管理>结点管理 。 在显示的页面上,单击New> Virtual Junction 。 在“ 交汇点”选项卡下,在“ 交汇点名称”字段中输入标签

图13.创建一个虚拟主机联结,第1部分

在“ 服务器”选项卡下,添加托管“ 您的银行”站点的联结服务器(Tomcat或等效服务器)。 在测试环境中,Tomcat正在侦听位于10.166.1.14的服务器上的端口8080。 使用的虚拟主机将是localhost,在应用程序接口10.150.27.215上的WebSEAL端口80上侦听。 请注意,如果您使用的是支持Virtualhost的后端服务器,则应确保WebSEAL前端和后端服务器配置上的主机名和端口均匹配。

图14.创建一个虚拟主机联结,第2部分

配置联结以向用户名iv-user发送属性作为“ 身份”选项卡上的标头。

图15.创建一个虚拟主机联结,第3部分

完成后保存结。 现在,LMI应该显示为ISAM设备实例列出的两个联结。

图16.创建一个虚拟主机联结,完成

另外,仍然可以通过传统的admin( pdadmin )命令行界面来创建虚拟主机连接,该界面先前已用于用户创建步骤。

pdadmin sec_master> server task  virtualhost create -t tcp -h 10.166.1.14 -p 8080 -v localhost -c iv-user -p 8080 bank
Created Virtual Host Junction at bank

此命令创建一个与我们的应用程序服务器的连接,并基于主机名localhost进行映射,并在iv-user标头中提供用户名。

主机文件或DNS配置

将条目添加到DNS服务器或本地测试客户端计算机的hosts文件中,以将ISAM设备应用程序接口映射到您定义的主机名localhost。

图17.主机文件示例
ISAM for Web配置步骤

这种情况下需要对缺省WebSEAL配置文件进行许多更改。 请按照本节中的步骤更新配置。

首先,编辑配置文件:导航到Secure Reverse Proxy Settings> Reverse Proxy 。 单击反向代理实例,然后导航到管理>配置>编辑配置文件

图18.配置反向代理实例

这将打开传统的WebSEAL配置文件。

图19. WebSEAL配置文件

接下来,设置以下参数以启用此方案中使用的HTTP身份验证:

  1. 设置此选项可在HTTP上启用表单身份验证。
[forms]
#----------------------
# FORMS
#----------------------
# Enable authentication using the forms authentication mechanism
# One of 
forms-auth = both
  1. 设置此选项可在HTTP上启用EAI身份验证。
[eai]
#----------------------
# EXTERNAL AUTHENTICATION INTERFACE
#----------------------
# Enable EAI authentication.
#
# One of 
eai-auth = both

现在设置以下参数以启用此场景中使用的标准和虚拟主机联结的混合处理:

  1. 设置此选项以允许无需身份验证即可访问pkmslogout URL。
[acnt-mgt]...
#-----------------------------
# ALLOW UNAUTHENTICATED LOGOUT
#-----------------------------
# Set this parameter to 'yes' to allow unauthenticated users to be able
# to request the pkmslogout resource. If this parameter is set to 'no'
# an unauthenticated user will be requested to authenticate before the
# pkmslogout resource is returned.
allow-unauthenticated-logout = yes
  1. 设置此选项以允许通过虚拟主机联结访问标准联结/ mga。
[junction]
...
# Two separate junction tables are managed by WebSEAL, one for virtual host
# junctions, and the other for standard junctions. When a request is
# received the VHJ table is searched first, and if no match is found the
# table which manages the standard junctions is then searched. The following
# configuration item is used to reverse the search order so that the table
# which manages the standard junctions is searched before the VHJ table.
match-vhj-first = no
  1. 设置此选项可启用在标准联结和虚拟主机联结之间共享经过身份验证的会话。
[session]
...
# Enable a cookie based session to be shared across all standard and virtual
# host junctions on a single WebSEAL instance. This is achieved through
# enabling the WebSEAL instance to store a single session key as an
# independent value in a multi-valued domain cookie, indexed by the instance
# name. The domain cookie itself is shared across all participating WebSEAL
# instances, but the session values are specific to each instance.
#
# If WebSEAL exists in an environment where SMS already handles single
# sign-on across domains, do not enable this configuration item.
shared-domain-cookie = yes

最后,将更改保存到配置文件,部署更改,然后重新启动反向代理实例。

ISAM for Web安全策略

缺省情况下,WebSEAL将要求认证以访问受保护网站的任何部分。 以下命令将修改安全策略,以启用对应用程序根目录的未经身份验证的访问,并要求对受保护的银行页面进行身份验证的访问。 它还将允许未经身份验证的访问权限来访问CBA风险计算浏览器指纹的属性收集过程。

此外,我们还将经过身份验证的ACL附加到名为@bank的虚拟主机连接上的/ stepup /资源上,这是我们将用作CBA设计一部分的应用程序,稍后将进行详细介绍。

isam8> isam
isam8:isam> admin
pdadmin> login
Enter User ID: sec_master
Enter Password:  
pdadmin sec_master> acl attach /WebSEAL//@bank/ isam_mobile_unauth
pdadmin sec_master> acl attach /WebSEAL//@bank/bank/ default-webseal
pdadmin sec_master> acl attach /WebSEAL//@bank/stepup/ default-webseal
pdadmin sec_master> server replicate

使用此基本安全策略,如果我们导航到ISAM设备应用程序界面,则应显示Your Bank网站,而无需任何身份验证凭据,并且/ bank文件夹下的任何内容都将受到基于表单的身份验证的保护。

图20.通过WebSEAL连接的银行应用程序

接下来,我们将定义一个安全策略,该策略要求认证级别为2才能访问/ bank文件夹。 第一步是定义需要2级身份验证的受保护对象策略(POP)。

pdadmin sec_master> pop create level2
pdadmin sec_master> pop modify level2 set ipauth anyothernw 2

现在,我们将此附加到我们的银行资源中。

pdadmin sec_master> pop attach /WebSEAL//@bank/bank level2
升压应用

通过配置访问银行站点所需的2级身份验证,我们现在必须配置一种机制,用户可以通过该机制获得2级证书。 为此,我们将使用一个非常简单的EAI JSP页面,该页面仅返回2级身份验证,而无需用户交互。


<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Enumeration"%>


Stepup


<% 
	String URL = request.getParameter("URL");
	String username = request.getHeader("iv-user");
	/* This is where the EAI returns the authenticated user, 
	 * and the higher level authentication credential. 
	 */ 

	response.setHeader("am-fim-eai-user-id", username);
	response.setHeader("am-eai-auth-level", "2");
	if (URL != null) 
		response.setHeader("am-fim-eai-redir-url", URL);
 %> 
	 
	

下载部分提供了一个包含此JSP页面的示例WAR文件。

通过将ISAM移动版的配置配置到ISAM设备中,已经为这些目的部分配置了WebSEAL EAI界面。 剩下两个步骤。

首先,将此应用程序URL设置为WebSEAL EAI触发器URL。 在ISAM设备管理界面上,导航到反向代理实例:

  1. 导航到安全反向代理设置>反向代理 。 选择反向代理实例,然后单击“ 编辑”
  2. 在“ 身份验证”选项卡上,为EAI应用程序添加新的触发器URL。
http://bank.test/stepup/*
图21.将触发URL添加到ISAM Appliance反向代理配置
  1. 单击保存以保存更改。

现在配置逐步HTML模板以重定向到逐步应用程序:

  1. 在仍然从上一步中选择反向代理实例的情况下,单击管理>管理根以查看模板页面。
图22.编辑stepup.html模板页面
  1. 找到stepuplogin.html文件管理> C> stepuplogin.html
  2. (可选)通过单击管理>导出备份到现有页面以保存到本地计算机。
  3. 编辑文件,并替换为以下HTML。



Fingerprinting Browser...

 
	 
		

该页面将加载属性集合JavaScript文件:

http://bank.test/mga/sps/ac/js/info.js

属性集合根据所选的风险概况对浏览器进行指纹识别。 在基于上下文的授权策略定义部分中对此进行了详细说明。

注意:为了让您看到此页面在浏览器中的加载,有意的延迟了3秒。

属性收集完成后,它将重定向到/ stepup /文件夹下的应用程序服务器上部署的逐步升级应用程序。 下载模板中已包含此模板文件的版本。

最后,配置完成后,保存并部署更改并重新启动反向代理实例。

安全策略测试

现在尝试访问/bank资源,WebSEAL现在应该提示您输入基于用户名和密码形式的认证,该认证会将用户认证为1级认证。 然后,WebSEAL将强制执行POP安全策略,该策略要求对用户进行2级认证,然后重定向到提升模板页面。 进阶模板页面将重定向浏览器以访问进阶EAI,这将把凭证升级到2级凭证,然后重定向回/ bank站点-满足安全策略。

图23.安全策略测试的序列图

获取二次因素一次性密码凭证

ISAM移动设备引入了一系列用于OTP生成和交付的功能。 对于此演示环境,最容易演示的是基于HMAC的一次性密码(HOTP)机制。 有关其他OTP凭据,请参阅ISAM移动信息中心以获取配置详细信息。

使用您的手机下载并安装具有TOTP或HOTP功能的移动应用程序。 在此测试中,我们使用了Google Authenticator [ 下载iOS版 | 下载Android版 ]。

接下来,通过受ISAM设备保护的应用程序界面,导航到MGA连接以获取测试用户的HOTP秘密共享密钥。

https://bank.test/mga/sps/mga/user/mgmt/html/otp/otp.html

出现提示时进行身份验证,并使用您的手机捕获HOTP条形码。 请注意,显示了两个条形码,因此请确保使用一个标记为HOTP的条形码。 HOTP是基于计数器的软件令牌,由于不需要时钟同步,因此在虚拟化测试环境中很有用。

图24.使用Google Authenticator扫描HOTP QR码

基于上下文的授权策略定义

在本节中,我们将引导您完成设置静默设备注册和逐步身份验证的步骤,这些步骤将使用HMAC一次性密码身份验证。

首先,打开ISAM for Mobile管理逻辑管理界面。

接下来,修改风险配置文件以用于计算风险评分。 对于这种情况,我们将使用浏览器配置文件:

  1. 导航到“ 安全移动设置”>“风险配置文件”
图25.配置活动风险配置文件
  1. 单击浏览器配置文件,然后单击设置活动
图26.将浏览器配置文件设置为活动
  1. 一旦将其设置为Active ,将出现提示以部署更改。 立即部署更改。
图27.部署更改

注意:这需要一些时间,因为此更改需要重新启动运行时。

下一步是导航到“ 安全移动设置”>“访问控制”

之后,通过单击“策略”表上的+图标来创建新策略。

图28.创建一个新策略

现在创建触发HOTP和设备注册的策略:

  1. 给策略命名,例如“ 通过HOTP进行静默设备注册”和描述。
图29.输入策略名称和描述
  1. 单击添加规则,然后创建该策略的第一部分,如下图所示。
图30.策略编写,第1部分

在规则的第一部分中,我们定义了一个策略,该策略处理已使用用户名和密码进行身份验证但之前从未使用此浏览器访问过该网站的用户。 这被标识为低身份验证级别(级别1),并且它们的riskScore大于或等于55。由于我们已经配置了基于浏览器的风险配置文件,因此该riskScore是基于浏览器指纹来计算的。 通过此访问,我们将使用HOTP身份验证将它们重定向到HOTP进程。

单击确定以完成规则的第一部分。

  1. 单击添加规则,然后创建策略的第二部分,如下图所示。
图31.策略编写,第2部分

在规则的第二部分中,我们定义了一个策略,该策略处理使用用户名和密码进行身份验证,使用未注册浏览器并已完成其OTP流程的用户。 这被标识为他们的authenticationTypes ,它没有成员urn:ibm:security:authentication:asf:hotp ,并且他们的riskScore仍然很高(> 55)。 通过此访问,我们将允许通过“静默设备注册”进行访问。

单击“ 确定”完成规则的第二部分。

  1. 单击添加规则,然后创建策略的第三部分,如下图所示。
图32.策略编写,第3部分

在规则的第三部分中,我们定义了一个策略,该策略处理通过用户名和密码以及注册的浏览器进行身份验证的用户。 低于55的低riskScore标识了这一点。在这种访问方式下,我们仅允许访问。

单击确定以完成规则的第三部分。

  1. 单击保存以保存策略。

完整的策略应类似于以下屏幕截图:

图33.完整策略

下一步是创建新资源并附加新策略:

  1. 单击资源 ,然后单击+图标以添加可用资源。
图34.创建一个新的资源点
  1. 定义一个映射到虚拟主机上的逐步EAI应用程序的资源。
图35.定义提升资源点
  1. 选择升级资源后,单击“ 附加”以将“ 无声设备注册” 附加HOTP策略。 选择策略,然后单击“ 确定”
图36.将无声设备注册附加到HOTP策略,第1部分
图37.将无声设备注册附加到HOTP策略,第2部分
  1. 单击发布以部署策略。
图38.发布策略

在建立此策略,配置ACL和POP之后,现在应该使用真正的两因素身份验证来保护站点。 下表描述了流程。

图39.用于保护/ bank网站的CBA两步验证

管理注册设备

最终用户和系统管理员都可以管理注册的设备。

Web / REST界面

通过WebSEAL认证后,用户可以导航到以下URL以查看其注册的设备。

http://bank.test/mga/sps/mga/user/mgmt/html/device/device_selection.html
图40.设备列表

该页面的外观和功能可以通过ISAM移动版模板页面进行修改。 该页面上的数据由JavaScript从REST接口填充。

这样,演示中包含的示例银行网站可以列出已注册的设备。

图41.集成到“ 您的银行”站点中的设备列表

管理界面

管理员可以通过ISAM移动LMI管理用户注册的设备。

  1. 导航对安全移动设置>设备
图42.用户注册设备的管理
  1. 搜索用户; 可以使用通配符*。
图43.列出和管理用户的设备

结论

我们已经向您展示了如何通过集成和配置Web的IBM Security Access Manager和Mobile的IBM Security Access Manager来在受WebSEAL保护的站点上安全地保护两因素身份验证。 我们还演示了如何将ISAM用于Mobile的基于上下文的访问和一次性密码(OTP)界面,以使您能够在整个组织的网站上应用更强大的智能身份验证访问决策。 本节中的简短视频演示说明了完整的方案。


翻译自: https://www.ibm.com/developerworks/security/library/se-accessmanager/index.html

你可能感兴趣的:(java,linux,大数据,数据库,安全)