IBM Rational AppScan Enterprise Edition 护驾企业 Web 应用安全企业级 Web 应用安全解决方案实例.docx
《IBM Rational AppScan Enterprise Edition 护驾企业 Web 应用安全企业级 Web 应用安全解决方案实例.docx》由会员分享,可在线阅读,更多相关《IBM Rational AppScan Enterprise Edition 护驾企业 Web 应用安全企业级 Web 应用安全解决方案实例.docx(8页珍藏版)》请在冰豆网上搜索。
IBMRationalAppScanEnterpriseEdition护驾企业Web应用安全企业级Web应用安全解决方案实例
IBMRationalAppScanEnterpriseEdition护驾企业Web应用安全,企业级Web应用安全解决方案实例
前言
我们将从企业中不同的角色,如开发人员、安全管理员、部门经理的角度出发,详细描述在部署了IBMRationalASE企业级Web应用安全平台之后,每个角色的日常工作是如何开展的,该平台又为他们提供了怎样的方便性和统一性。
开发人员Christine的一天
开发人员Christine和往常一样,一天的工作从打开Outlook,收取邮件开始。
ASE有邮件通知功能,当Christine关心的某个应用扫描结束,或者某个事先定义的阀值达到后,系统会自动发送邮件,通知她系统发现了哪些安全隐患。
此时Christine可以直接点击邮件提示的安全隐患,登录系统。
如图1。
图1开发人员Christine接收ASE发来的邮件
通过邮件,Christine打开了如图2的页面。
左上部的“Folders”视图,显示了Christine有权查看的应用或者系统模块,该权限是由管理员事先设定的。
左下部的“RecentlyViewed”视图,体现了Christine最近访问过的报告或者仪表板。
右侧的“RemediationTasks”视图,则列举了该模块或应用所有需要修复的任务。
需要注意的是,修复任务和发现的隐患是不同的概念,它是完全站在开发人员的角度看待问题的。
如图2的方框说明,21个修复任务解决了在25个URL中发现的62个安全隐患。
因此,使用修复任务视图,开发人员可以不用去关注具体的安全漏洞,也就是说,开发人员可以不用是Web安全专家,他只需要根据修复任务中的提示,改正相应代码即可。
图2ASE中开发人员“修复任务”视图
同时,在ASE中还有丰富的分组(Grouping)功能,可以对修复任务进行分类处理,如图3所示,Christine可以按照URL分组,方便她在同一个页面上修复发现的所有隐患。
图3按照URL分组修复隐患
Christine展开某一个链接,并点击具体的修复任务,就可以看到如图4所示的具体修复建议页面。
如果Christine准备着手去修改该问题,她可以将如图4的“Action”,选择为“MarkStatusasInProgress”,表示该安全问题已经处于正在被修改的状态。
在该页面的中部,有四个标签页(Tab),分别是“GeneralInformation”、“Advisory”、“FixRecommendation”和“Request/Response”。
其中,“GeneralInformation”(通用信息)是在扫描中发现隐患的概要描述,在这里Christine还可以加入自己的注释进行特别说明。
“Advisory”(咨询说明)解释了所发现漏洞的WASC分类、对该漏洞的详细解释(使用在线视频方式)和相关的参考链接等。
这里是对开发人员进行培训和教育的地方,通过自我学习,可以容易的将Web安全常识、业界安全漏洞和业界标准等知识融入到日常工作中,有效培养开发人员的安全意识,为最终提高应用的质量打下坚实的基础。
“FixRecommendation”部分详细说明了应该如何修复该安全漏洞。
在本例中,Christine就可以根据该标签页上面的指导,去修改相应的代码。
“Request/Response”则说明为了发现此安全隐患,ASE发送了怎样的HTTP请求,而Web应用给予了怎样的HTTP响应,通过对这些响应的分析,可以判断出存在什么安全漏洞。
Christine可以使用该标签页,深入了解ASE和Web应用之间的HTTP通讯。
图4ASE中安全隐患的详细说明页面
当Christine完成了代码的修改,她可以将该任务的状态改为“Fixed”,表示任务已经被修正。
当然,她也可以根据具体情况,将任务改为其它状态(如“Noise”表示该任务属于误报,本次可以不用修复等),如图5所示。
同时,Christine还可以加入注释,附加说明和修复任务相关的信息。
图5ASE中自带的问题管理流程
Christine完成了任务后,想对刚修复的安全漏洞进行验证,这就用到了ASE中强大的“QuickScan”功能。
QuickScan可以让开发人员方便快速的启动扫描任务,而不需要对应用的整体细节(包括如何部署等)做过多的了解。
这是通过应用管理员事先定制模板实现的。
该模板限制了谁可以扫描哪些应用或应用的哪些模块,使用什么样的测试策略,同时也定义了扫描的URL,如何登录系统等。
如图6所示,点击ASE界面中右上角的“QuickScan”按钮,进入Christine的扫描列表。
可以新建扫描或者使用现有的扫描。
扫描会根据模板在后台执行,结束后自动生成报告。
图6ASE中方便易用的QuickScan功能
至此,作为开发人员,Christine已经完成了从接受任务、根据系统建议修复任务、管理任务状态到再次验证漏洞的整个过程,所有这些动作,都是通过ASE统一的Web界面实现的。
安全管理员Administrator的一天
通常ASE软硬件的部署、系统权限的设置、扫描任务的定义、不同角色扫描模板的配置,都是由安全管理员完成的。
安全管理员登录到ASE中,可以看到企业的完整应用架构。
如图7,Administrator看到的内容比Christine要丰富很多。
在这里左上部的“Folders”视图则是管理员按照一定的逻辑对企业应用的划分,如按照业务部门、按照产品线、按照应用进行划分。
划分之后,就可以进行权限的分配。
图7ASE中Administrator视图
在根据某一逻辑划分好Folder结构并分配权限后,接下来Administrator就需要定义并配置扫描任务。
他可以从创建一个新的扫描开始,如图8,左部是他可以配置的选项列表,右部则是每一选项的详细信息。
如“WhattoScan”需要定义新建的扫描从哪里作为开始点;“SecurityTest”说明了该扫描选择哪种内置的策略(和AppScan标准版中的TestPolicy一致);“ExploreOptions”则详细配置了在扫描中,如何处理Flash、JavaScript和其它动态组件等。
其它选项这里不再详细说明,可以参考ASE的手册得到更丰富的信息。
这些选项都是对该扫描的整体通用配置,如果需要控制用户扫描和他相关的应用,并且强制他使用企业规定的策略和配置,可以在“QuickScanConfig”中进行定义。
通常,在定义好Folder结构、配置好扫描任务之后,强烈建议管理员通过“QuickScanConfig”定义不同的扫描任务,并将其作为模板,方便开发人员的使用。
如上节Christine使用的QuickScan模板,就是Administrator事先定义好的。
如图9所示,管理员在QuickScan中定义好登录过程、测试策略、开始URL等。
当某一用户使用QuickScan进行扫描时,和通用配置重复定义的部分(如扫描初始URL),以QuickScan的配置为准。
图8ASE中Administrator配置扫描任务
图9ASE中QuickScan配置
除了这些对具体应用的配置之外,Administrator还需要配置一些其它的管理员属性。
如License管理、用户类型的划分、服务器组定义等,该工作在“Administration”标签页中定义。
如图10,是对企业中现有的服务器和该服务器需要扫描的应用进行配置和管理。
图10ASE中QuickScan配置
图10ASE中QuickScan配置
从上面可以看到,在ASE中,安全管理员的工作主要是对企业中的所有Web应用进行总体部署和管理,他需要按照某种逻辑划分所有应用、根据这些逻辑进行权限分配、定义企业所有的扫描任务(当然,他也可以将权限开放,让不同部门的管理员自行定义部门内部的扫描任务)、定义扫描模板、定义其它部署逻辑等。
部门经理Ken的一天
在一个企业中,不同的角色需要了解Web应用安全不同级别的信息。
开发人员需要访问安全漏洞的详细情况,包括怎样修改它们;而管理者则需要更高层面的信息,如企业应用安全概览和趋势、企业当前所处的安全水平、相关的法规遵从等等。
在本例中,部门经理Ken在一天的工作中,就需要了解上述信息。
经过Administrator的事先定义,Ken进入ASE后,看到的将不是某个应用的具体细节,而是宏观的报告和仪表板。
如图11,通过仪表板,Ken可以知道:
问题严重等级历史报告(IssueSeverityHistory):
Ken可以看到,随着时间的推移,各种级别的安全隐患总体是呈下降趋势,但是在这中间有一些拐点出现,为什么会出现这种情况?
是在此期间安全管理力度有所减弱,还是开发人员仍然没有总结出针对某一问题的完全解决方案,导致问题一再出现?
Ken可以结合该趋势图,并和相关人员分析后,得出上述问题的答案。
问题管理历史报告(IssueManagementHistory):
从该报告中,Ken看出当前所有的安全隐患中,有多少处于Open、Active或者Fixed?
这些数据可以帮助Ken来判断项目的进度,做出项目是否可以发布,或者是否需要加班赶上进度的决策。
按照报告包组织的问题严重等级(IssueSeveritybyReportPack):
Ken可以按照部门或者应用来组织企业当前所有的安全隐患,这可以帮助他了解哪些部门或者应用需要加大安全管理的力度,或者增加某些培训(如最佳安全编码实践)来减少该部门严重安全问题的反复出现。
这些分类还可以通过点击,得到进一步的详细说明。
上述仪表板所反应的数据,随着扫描的进行实时更新。
并且Ken还可以定义除上述之外的其它仪表板。
可以看出,有了统一的平台,基础数据在日常工作中被详细收集,作为管理者,仅需要登录到ASE中,查看这些数据所展示的宏观信息,在了解企业或部门整体安全情况的同时,也为下一步的决策提供了科学可靠的数据。
图11ASE中管理者关心的仪表板视图
企业中的其它角色,如测试人员或者质量保证人员,可以像开发人员Christine那样,通过系统自动发送的邮件进入ASE,直接使用QuickScan去做扫描,验证安全漏洞的存在;也可以像经理Ken这样,分析他所关心的总体信息。
在这里,我们就不一一叙述。
小结
通过本文两个部分对企业级Web应用安全解决方案的介绍,可以看出,这种战略级方法,已经将Web应用安全提高到了覆盖整个企业、贯穿开发生命周期始终的高度。
这对于Web应用日渐普及、安全问题日益严重的今天,不仅是一种必然趋势,更给企业提供了一种全面的指导。
借助于RationalASE平台,我们可以把这种指导落地生根,通过具体的系统将企业级安全方案贯彻到每个角色的日常工作中,从根本上提高企业的整体应用安全水平,为企业带来更高的投资回报。