专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程思想 » setupapplication:Websphere Application Server 安全系列 第 1 部分: Websphere Application Server 安全体系架构概述 »正文

setupapplication:Websphere Application Server 安全系列 第 1 部分: Websphere Application Server 安全体系架构概述

来源: 发布时间:星期四, 2009年12月10日 浏览:0次 评论:0
  WebSphere Application Server 简称 WAS, 是 IBM WebSphere 家族系列中重要成员处于 Web 解决方案领域领导性地位其值得称道方面除了其高可靠用性和扩展性等的外其强大安全性更是无可替代本系列文章以 Web 安全中 3大问题即认证、授权和传输为出发点对 WAS 安全进行阐述和整理总结;在顺序上按照 WAS 体系结构自下而上层级结构顺序进行展开对每个层次提供安全功能分别进行分析和整理总结;对些使用性普遍安全层次如 JAVA 安全层、操作系统安全层、网络安全层等结合安全管理和开发例子突出相应安全层次上安全管理特点以加深对 WAS 该层次安全性理解和对相关安全领域内容介绍从而推动对于基础安全性问题研究和学习

  Web 安全问题概述

  对于网络方面安全问题区别开发者和设计者有区别认识和见解本文采用和 JAVA 探索者:JAAS 和 JSSE JAVA 安全相同分类思路方法将 Web 系统安全问题分为 3个类别:认证、授权和传输认证和授权是任何个应用系统中基本安全问题认证过程是首先通过各种形式认证表单或途径获得使用者认证数据然后根据认证数据确定对方身份过程对于 Web 认证安全数据提交形式包括普通表单、证书等;授权过程则是对确认了认证身份主体进行判断过程判断认证了主体是否有对客体实施某种操作权限;相对于传统 C/S 应用系统Web 应用系统采用 B/S 结构B/S 得以广泛使用和迅速发展很大程度上依赖于其瘦客户端标准化脚本解析和传输标准化然而标准化 HTTP 协议传输方式方面使得开发网络应用快速而简单方面 HTTP 协议网络传输问题也暴露很明显因此传输过程中安全问题成为亟待解决 Web 3大安全问题的


图 1. 网络安全问题
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  上图 1 详细刻画了 Web 安全 3个方面问题 3者的间关系可以表述如下:

  首先服务器端需要确认客户端用户身份;其次当客户端请求访问服务器端某受限访问资源时服务器端需要根据客户端提交身份确认其是否有足够权限访问该受限资源;最后客户端和服务器端交互访问方式需要通过网络完成传输过程中数据可能被非法获取、篡改当然也存在不能确认传输双方身份等问题

  WebSphere Application Server(WAS)结合计算机安全近 40 年成果在网络安全、操作系统安全、J2EE 安全等方面提供了坚如磐石般安全体系同时还保持了极其灵活特点成为 Web 领域解决方案重要利器本文接下来章节将从以上描述 3个方面为出发点对 WAS 安全机制进行概述包括 WAS 整体安全架构和各个层次上安全解决方案由于每个层次上安全问题都是个安全领域独特知识本文对每个层次安全方案进行介绍并探讨其和其它层次的间关系更深入讨论将在本系列文章其它文章中进行阐述

  WAS 安全体系架构

  对于 WAS 管理常用管理方式包括管理控制台、JMX、Java JNDI 等 管理内容相应包括命名、用户注册表、JMX 管理资源以及常见 Web 资源包括 Html、JSP、Servlet 等按照上节中对于 Web 中安全阐述观点这些资源为受保护服务器资源而对于这些资源访问控制则为 Web 安全管理对象在图 2 中统称为 WAS 资源在本节下面篇章将依次介绍各个安全层次对于这些受保护资源控制


图 2. 自底向上安全体系结构
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  从安全技术使用范畴角度将 WAS 安全体系结构自底向上划分方式分为平台安全、Java 安全、WAS 安全详细架构体系层次关系如图 2 所示

  平台安全包括两部分即操作系统安全和网络安全网络安全解决网络传输中安全问题包括网络传输中完整性交验机密性保证等网络传输中存在问题在 WAS 中通常通过配置对 SSL 和 VPN 安全配置解决传输中安全问题对于操作系统层次上安全除了通常意义上依赖于区别平台本身安全特点对于 WAS 文件系统和进程等进行安全访问控制WAS 提供了基于操作系统帐户 WAS 安全控制管理大大提高了 WAS 安全管理便捷性和易用性;此外在区别操作系统平台上提供了具有平台相关性安全特点在影响着 WAS 安全管理

  对于网络安全中 SSL 安全和操作系统上安全机制在以后篇章中将进行介绍

  JAVA 安全由于 WAS 是 J2EE 认证服务器因此 WAS 遵从 JSR 社区 JAVA 安全规范标准从 JDK 到 Java2 安全体系结构JAAS再到 J2EE 安全模型等等因此 JAVA 中安全管理也适用于 WAS 中对于 Web 安全 3个问题中认证和授权 JAVA 探索者:JAAS 和 JSSE JAVA 安全认为JAVA2 安全体系结构主要解决授权问题而 JAAS 主要解决认证问题J2EE 也提供了 级别安全授权模型并提供了对上层 J2EE 资源安全管理规范标准因此对于 Web 安全认证和授权问题本文主要介绍 Java2 安全体系结构、JAAS 和类级别安全授权模型

  对于这层次安全本文着重于 JAVA2 安全架构、JAAS 和 J2EE 安全角色 3个安全层次介绍这 3个安全层次安全策略为属区别领域可以相互补充使用本文在其后章节予以介绍

  WAS 安全:对于图 2 中 WAS 安全层上安全主要是强制使用统安全访问控制方式对 Web 资源、企业 Bean 和 JMX 管理资源可以理解为对于 WAS 服务器资源访问时WAS 安全层强制自顶向下依次安全架构中各安全层次进行访问控制从而保证了任何种资源访问都采用了统完整安全控制此外配备了对于区别安全层次管理具体控制选项设置这些设置可以被运用于管理当中在访问控制内容上安全访问控制内容包括 JMX BeanWeb 资源等;在访问控制方式上则包括JMX 访问、控制台、WSadmin、纯 JAVA JNDI 访问等等;在访问控制层次上则对于区别访问方式WAS 安全提供了从传输到上层用户角色等自底向上访问控制方式

  从上下层关系看WAS 提供了自底向上安全管理模型在实际应用中使用者可以根据具体需求对安全层次选取进行设定和管理图 3 所示为在 WAS 管理控制台中对于区别层次安全管理控制设置如 Administrative Security 中则主要应用 J2EE 角色安全方式进行控制;Java2 Security 则是 JAVA2 安全体系;User Account Repository 则可选操作系统安全或者其他安全方式;Java Authentication and Authorization Service 为 JAVA 安全层次中认证机制

  从 Web 安全 3大问题角度看如图 3 介绍对于 Web 安全授权分别由 JAVA 安全层次中 J2EE 安全模型 Java2 安全模型来完成;对于 Web 认证则由操作系统用户认证方式、JAAS 认证模型以及 WAS 统 LTPA 等认证机制;而对于 Web 传输则主要由图 4 中展示 SSL 传输安全机制来完成


图 3. WAS 中安全认证和授权
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

图 4. WAS 中传输安全
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  WAS 安全体系中各层次安全介绍

  在本章中将分小节对 3个安全层次中主要安全领域问题进行重点介绍主要介绍内容包括平台安全中操作系统安全和网络;JAVA 安全中 JAVA2 安全、J2EE 角色安全和 JAAS 安全

  SSL 安全介绍

  SSL 安全属于 WAS 安全体系中平台安全层 在 WAS 中对于网络传输安全主要采用是 SSL 协议在 WAS 安全控制启动后不论以 Web 控制台方式、JMX 方式访问 MBean 还是对于 wsadmin 方式管理 WAS启动访问进程都必须遵从 SSL 协议进行通信

  对于浏览器访问 WAS 管理控制台方式WAS 会完成自动跳转启用 Https 协议进行传输;对于 wsadmin 和 JMX 则在正常管理控制用户认证开始前进行 SSL 握手过程握手过程完成后整个交互过程采用 SSL 握手时建立安全通道进行通信

  SSL(Secure Socket Layer)即安全套接字协议SSL 协议结合了对称加密算法和非对称加密算法进行传输过程中数据加密、解密保障了数据传输过程中通信双方身份认证、数据机密性和完整性等问题

  对称加密算法是较为最为经典且古老加密算法加密算法最大特点是在实际加密、解密过程中加密、解密运算互为逆运算这两个运算过程中用到密钥相同过程可用图 5 予以解释由于对称加密算法要求通信双方使用相同密钥并约定加密算法因此在实际网络传输应用中对称加密算法面临着密钥传输和算法约定等问题降低了这种加密算法使用可用性但是这种经典加密算法执行效率高加密快


图 5. 对称加密算法
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  非对称加密算法也称作公钥加密算法包含对密钥分别称作公钥和私钥在加密和解密过程中这对密钥互为反运算密钥即假设用公钥对明文进行加密密文则只能用私钥密钥进行解密得到明文非对称密钥特性可以用图 6 予以解释在实际运用中非对称加密算法这种特性得到了很好运用将公钥公布、私钥个人保留解决了传输网络过程中身份认证问题同时解决了公钥物理传输问题不足的处在于非对称加密算法较为复杂计算过程较慢效率不及对称加密


图 6. 非对称加密算法
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  基于这两种算法特点SSL 协议安全网络传输协议应运而生利用非对称加密解决身份认证问题、密钥传输、算法协商等问题过程也称作握手过程握手过程结束后通信双方得到了协商好对称加密算法和加密钥从而建立了条安全通信信道;安全通信信道建立成功后正常通信过程开始进行过程中通信双方请求和应答内容都采用对称加密算法完成后进行网络传输

  在 WAS 管理过程中WAS 服务器强制客户端(浏览器或者 JAVA )和 WAS 服务器采用 SSL 协议进行安全通信当然这过程中涉及了网络传输安全中认证授权、机密性、完整性以及不可否认性采用算法除了本节所讨论对称加密算法和非对称加密算法外还采用了不可逆加密算法对于非对称加密算法引入了证书和证书授权机构等概念这些不在本文进行阐述将会在以后篇章中进行较为详细阐述并结合 WAS 对于证书和算法管理进行阐述

  操作系统安全

  操作系统安全也属于 WAS 安全层次平台安全层作为底层操作系统为 WAS 提供了安全基础设施操作系统定义并管理着后台启动任务建立启动概要文件并是访问底层基础系统资源例如文件、安全套接字等基本设施除此的外底层操作系统为 WAS 提供了可信认证服务用户注册表部分内容将在本文后边章节有所介绍对于授权服务本地底层操作系统提供了 SAF( Authorization Facility)服务为运行在 WAS 内控制台、应用等提供了授权服务

  由此可以看出对于 WAS 运行管理甚至于 WAS 使用时认证授权都必须协调操作系统安全配置管理来完成例如对于使用本地操作系统用户注册表时候则需要登录用户或者启用用户具有相应得操作系统管理权限来完成否则会造成 WAS 不能正常运行进而应用不能正常运行因此对于 WAS 管理部分工作实际上是对于操作系统管理工作

  对于 WAS 管理在区别情况下可能需要本地受限用户进行管理工作因此对于本地受限用户操作 WAS 管理工作就涉及到操作系统限制和 WAS 限制充分了解操作系统安全认证、和授权是管理 WAS 安全工作部分从某种程度上讲操作系统安全在 WAS 整个安全管理体系中相当于为其他安全和 WAS 本身正常运转创造个正常有序、合理安全运行环境而维系这中正常运行环境在以 WAS 启动、运行、停止为周期过程为基本指导原则在充分考虑 WAS 运行声明周期中各个环节安全特性结合操作系统安全认证、和授权特点前提下来最终完成

  JAVA 2 安全架构及在 WAS 中应用

  JAVA2 安全属于 WAS 安全架构中 JAVA 安全层上JAVA 语言发展迅速除了其本身面向对象强大特点的外其坚如磐石架构设计理念也不容忽视强大安全设计架构使其能够适用于企业级安全需求JAVA 安全模型主要保护功能是保证系统资源不被非法所接触这些系统资源包括文件、网络等资源和此同时提供较为完善访问控制模型使得得到授权可以正确访问资源因此 J2EE 探索者观点认为 JAVA2 在 Web 应用安全中解决授权问题

  JAVA2 安全架构模型相对于 JAVA1 安全模型提供了更为强大安全管理模型如图 7 所示 JAVA2 和 JAVA1 安全对比模型JAVA1 安全模型认为本地是安全可以自由通过 JVM 访问受限系统资源而对于远程则要对远程进行签名验证可信签名可以和本地样正确访问本地资源而对于没有得到认证或者没有签名则会进入沙箱进行运行进入沙箱对本地资源访问受限只能运行普通功能


图 7. Java1 安全模型和 Java2 安全模型
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  JAVA2 安全模型在对可信方面做了调整对于本地同样要进行签名验证和管理对于不可信本地资源同样进行首先控制使得本地非法仍旧不能访问本地资源

  JAVA2 提供了更为灵活安全控制模型开发者可以通过定制安全策略、安全类装载器从而保证了开发人员可以动态定制开发出更为灵活安全管理架构比如开发出使用时间受限应用

  JAVA2 提供了更多域概念除了可信和进入沙箱JAVA2 安全模型提供了更为细分安全域区别应用根据区别应用签名和安全策略制定相适应安全域JVM 通过调度使得应用进入进入相应安全域访问受到约束部分本地资源在保证了安全前提下提供了更为细分权限分配满足了对于企业级应用安全需求

  从可信任层次上看 JAVA2 安全模型认为可信 JAVA 代码是 JVM 本身 JAVA 代码;从控制方式角度来看JAVA2 安全模型以交验 JAVA 代码运行路径、JAVA 代码本身签名因此 JAVA2 模型更多强调代码所有权从而保证系统安全性

  基于 J2EE 角色安全介绍

  J2EE 安全属于 WAS 安全架构中 JAVA 安全层上J2EE 提供了基于角色安全授权控制模型基于角色安全授权模型主要是提供基于角色安全控制检查确保只有足够权限安全角色能访问相应受限资源角色是组权限逻辑集合这组逻辑集合可以被赋予真实用户注册表环境中个或者多个合法用户或者组在系统运行时通过检查某个真实用户所属角色或者真实用户组所属角色来完成相应安全检查

  对于授权检查方式上J2EE 提供了声明型和型授权性安全检查策略由于 J2EE 安全保护对象为 J2EE 资源因此声明型授权模式对区别保护资源通过区别声明文件进行控制常用 J2EE 资源般通过 web.xml进行控制控制标签为 <security-role-ref> 和 <security-role-ref> 等协作完成对于 EJB 控制则通过配置 ejb-jar.xml 来完成通过这种配置方式从而达到保护指定受限资源

  值得是 WAS 本身控制台安全管理角色授权机制就是基于 J2EE 安全模型管理机制如表 1 中所示列出为基本 WAS 控制台角色以及相应权限这些用户角色可以根据区别真实用户注册表情况映射到区别用户和用户组


表 1. WAS 控制台角色
角色 权限
监视员 监视员可以查看 WAS 中各种配置信息运行状态但是不能做任何更改
操作员 操作员可以触发运行时状态改变例如启动、停止服务器但是不能做任何配置改变
配置员 配置员可以修改配置信息但是不能更改运行状态
管理员 管理员具有操作员和配置员权限除此的外还能修改敏感安全配置信息和服务器安全策略等例如服务器 ID 和密码启动和禁用管理安全JAVA2 安全等等



  除了 WAS 控制台使用安全角色模型正常 J2EE 应用自然适用于这种安全控制模型如图 8 所示该应用中定义了 3 个角色WAS 提供了机制对这些在应用中预定义角色从用户注册表里进行分配管理通过应用预定义抽象角色在实际应用中对这些抽象角色进行用户分配大大提高了应用灵活性

  应用在实际运行过程中通过声明型和型管理方式直接或间接操纵这些抽象对象这部分安全管理工作可以通过声明方式进行管理这样 WAS 可以来处理这部分角色级别安全认证、授权管理;当然有时候基于角色不能解决实际问题那么需要更为灵活型安全授权管理方式J2EE 资源可以直接操纵这些委托 WAS 容器进行认证用户

  对于 Servlets:

  isUserInRole 用来检查登录用户是不是在某个角色中

  getUserPrincipal 用来得到登录用户例子通过例子可以获得姓名等

  对于 EJBs:

  isCallerInRole 用来检查登录用户是不是属于某个角色

  getCallerPrincipal 用来得到登录用户例子通过操纵例子完成相应动作


图 8. 应用安全模型角色
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  基于 JAAS 安全认证介绍

  JAAS 属于 WAS 安全架构中 JAVA 安全架构层上全称 JavaTMAuthentication and Authorization ServiceJAVA 认证和授权服务故名思义用来解决安全认证和授权问题

  PAM(Pluggable Authentication Module)可插拔认证模块PAM 是种认证授权框架这种框架提供了种认证机制使得上层业务应用开发使用不依赖于底层认证授权机制JAAS 正是 PAM JAVA 版应用框架

  JAAS 认证机制是通过检查 JAVA 代码执行者身份这些 JAVA 代码包括 Servlet

  、应用、Applet 等等;JAAS 授权机制主要是用来检查并确保执行者有足够权限进行相应动作JAAS 可插拔认证模型关系如图 9 所示


图 9. JAAS 可插拔认证模型
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  根据 JAAS 运行机理本文将 JAAS 认证授权模型分为 4个层次自上向下依次为应用层、授权层、通用认证对象层、认证层由于授权层是外部和内部结合控制方式因此跟上层业务应用本身的间没有直接耦合和关系按照分层架构模型设计原理在运行时授权层通过访问安全控制策略只能访问通用认证对象模型而通用对象层认证对象凭证是在运行势态动态生成跟底层认证层没有依赖关系因此上层应用对底层也没有依赖关系从而达到了上层商业业务逻辑和下层认证模块的间没有直接耦合关系

  JAAS 机制和 JAVA2 安全模型相比两者解决区别问题面向侧重点区别从保护对象角度来看JAVA2 安全模型提供内嵌系统资源保护模型当然开发者可以开发更多面向业务保护对象而对于 JAAS 则提供更灵活认证授权控制除了保护业务对象也可以面向业务操作进行保护;从授权检查机制角度JAVA2 安全模型更多强调安全代码所有权而 JAAS 则强调是代码使用权;从检查形式来看JAVA2 安全模型属于声明型管理模式而 JAAS 管理模型可以声明型和型相结合;从安全检查级别来看JAVA2 安全模型属于角色级别检查控制而 JAAS 可以提供基于角色和基于例子安全授权控制因此两种安全认证模型可以结合使用保证更为安全和灵活管理控制

  WAS 开放认证授权架构介绍

  前面介绍了 WAS 安全架构中自底向上安全层次区别安全层次有着区别安全管理控制方式然而这些安全层次的间如何交互则需要从交互关系来看WAS 开放认证授权架构如图 10 所示个 WAS 中对于认证、授权是相应 Security Server 和 Access Manager 两个模块来完成而其中对于认证模块又包括两部分 JAAS 登录和 User 注册表两部分组成因此常规安全登录实际过程是首先采用某种机制通过 JAAS 登录模块进行登录认证JAAS 登录模块利用得到用户登录数据到相应选定用户注册表里进行验证从而完成相应认证工作当然对用户进行系列映射动作完成映射动作后用户如果要访问相应受限访问资源则 WAS 对其角色进行验证从而完成授权检查等动作


图 10. WAS 开放认证授权架构
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  对于 JAAS 常规实现是每个 JAAS 是个认证方式从而保证了业务高层和登录模块分离因此大部分认证实现直接完成了对于某个用户注册表认证而 WAS 对于这问题进行了较为灵活设计对于每种 JAAS 登录模块都是种登录机制和映射机制每种登录机制会控制登录 Cookie/taken 等格式以及多个 WAS 间共享登录信息格式等等这些机制对于各种登录机制是区别但是对于同个用户注册表管理方式可能会使用同种登录机制因此 WAS 灵活认证架构设计在对于认证机制和用户注册表的间采用桥模式进行设计如图 11 所示保证了认证机制和用户注册表选取的间组合方式


图 11. 灵活 WAS 认证机制
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  WAS 安全体系认证机制

  认证在 Web 安全中主要解决是谁问题而对于授权则是解决有没有权限进行某种操作问题如图 12 所示对于 WAS 中认证和授权的间关系WAS 作为 Web 容器是应用运行管理和调度者对于应用认证则不能局限于 WAS 本身内部因此对于认证问题委托给了用户注册表同样对于授权方式每个应用有着区别授权方式对于声明型授权管理工作WAS 通过读去应用授权声明进行调度和监控;对于授权管理应用通过和 WAS 进行交互得到登录用户信息进行授权管理因此应用对于授权工作都要最终依托于相应应用进行授权工作WAS 作为容器提供管理和调度交互工作最终认证和授权方式和具体内容细节则交由应用来管理和控制方面降低了开发难度对于应用保证自底向上安全性开发工作是复杂和庞大;另方面在使用 WAS 提供强大安全控制时保证了安全性同时提高了开发效率


图 12. WAS 中认证授权
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  在 WAS 中具体认证过程如图 13 所示Web 客户端在得到服务器认证响应后进行认证数据提交对于认证数据提交方式包括 3种形式Http 基本认证、Https 客户端认证和自定义表单认证自定义表单认证具有自定义界面因此这种模式适用比较多

  认证数据同过网络传输到服务器根据前节对于 WAS 认证架构认识和了解WAS 会使用种在服务器中选定认证机制进行认证管理认证数据通过认证机制进行处理提交到用户注册表进行验证认证后认证凭证存在 WAS 对于 JAAS 扩展中在登录用户访问需要进行授权时即从凭证中取得相应信息进行授权管理

  对于 WAS7 中使用比较多是 LTPA 认证机制LTPA(Light Weight Third Party Authentication) 第 3方轻量级认证对于 SWAM 则将在以后版本中放弃使用

  对于用户注册表目前支持主要为 4种类型本地操作系统如果用户选择本地操作系统认证方式那么用户需要有本地用户才能成功进行认证对于 Windows 域环境这种管理方式更是有其绝对优势方面对于任何本地用户不用分配额外帐号易于使用和管理;另方面由于不使用额外帐号对于授权了访问操作系统本地用户直接可以访问应用降低了管理成本LDAP 轻量级目录访问协议通过 LDAP 控制管理方式保证了对于 LDAP 应用企业应用兼容性大大改善了以往应用对于 LDAP 支持难度联合用户注册表提供了种多种存储方式并存管理模式大大改善了对于多用用户注册表并存系统集成和兼容最后种用户注册表是自定义注册表对于任何个应用如果前面 3种用户注册表策略仍旧不能满足相应需求用户可以通过自定义注册表方式和系统中已有或者新开发登录机制相结合完成特殊登录认证需要


图 13. WAS 中认证过程
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  WAS 安全体系授权机制

  授权主要是用来满足对于受限资源访问控制问题如图 14 所示授权管理工作当用户需要对受限资源进行某种操作时操作请求信息会发送到 WAS 服务器中根据上节中所介绍 WAS 服务器通过认证进程对用户信息进行管理和控制如果用户没有进行认证则按照上节中讨论方式进行认证管理认证后得到用户认证凭证用户认证凭证和请求操作被转发到相应授权管理进程授权管理进程将用户认证凭证和请求操作通过授权矩阵进行评估从而判断用户是否有权限进行请求操作


图 14. 授权逻辑视图
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  对于基于 WAS 应用授权管理工作依照上节中介绍观点WAS 直接或者间接委托于应用WAS 在其中进行管理、协调和监控WAS 对于授权管理工作遵守 J2EE 授权管理模型即基于角色授权声明性授权管理和更为灵活性授权相结合那么对于授权实施过程可以参考图 15 所示

  如图 15 所示为从安装、使用自左向右顺序但是先开发后进行安装部署角度则是从右到左顺序按照 J2EE 安全授权模型设计思想首先对于应用抽象出用户角色然后对于抽象用户角色进行声明性和性授权控制因此具有很强健壮性和兼容性不依赖于任何某种用户注册表进行合理配置可以应用于区别用户注册表以满足区别注册表用户对于需求对于部署阶段则是映射实际用户到 J2EE 中定义用户角色依照 J2EE 安全授权模型定义用户角色实际上是组权限逻辑集合这些集合可以是个用户或者是个用户组因此对于映射工作实际上是角色认定过程

  因此对于个应用从开发到实际运行环境需要至少需要经过开发和部署两个阶段开发阶段应用对抽象用户角色进行依赖和交互而对于部署阶段则是将开发阶段预定义好用户角色实际运行环境中用户注册表进行映射在完成了基于抽象用户角色用户权限控制开发和抽象用户角色到实际用户注册表中映射部署才最终完成了应用授权过程


图 15. 授权实施
Websphere Application Server 安全系列<img src='/icons/25658dou.gif' />第 1 部分: Websphere Application Server 安全体系架构概述

  查看原图(大图)

  结论

  本文首先以介绍 Web 3大安全问题为起点然后参考 WAS 自底向上安全体系架构对于每个层次安全问题进行概述在此基础上对 WAS 认证、授权安全架构从交互关系角度进行分析最后对 WAS 中认证和授权原理分别进行阐述和介绍

  WAS 对于计算机安全领域多年成果予以应用和融合这些技术相互融合形成 WAS 现在这种复杂安全体系从底层 SSL 等保证网络传输安全到借鉴于操作系统对 WAS 文件系统保护以及操作系统本身所独有安全特征再到结合 JAVA 对于安全认证、授权领域灵活架构开发出 WAS 具有自身特点灵活安全架构并结合底层操作系统相适应最后 WAS 最上层提供了统自底向上安全访问控制方式大大提高了 WAS 安全性和稳定性

  由于 WAS 安全内容繁多复杂本文更多是参考了多方面 WAS 材料和线 WAS 使用、管理和开发者经验并结合自身使用感受对安全认证和授权原理进行粗浅概述希望能在以后篇幅中对各个原理进行更多分析和阐述同时也希望能得到更多批评和帮助

标签:setupapplication
0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: