管理,在前面已经做过介绍。因此这里主要介绍行政管理,即安全管理体制与管理制度。
11.12.1 安全管理职能建设
为了保证各项安全技术的实施与管理,数据中心必须具备以下四种职能:
● 认证中心和密钥管理中心职能,除了应用服务器签发证书外,还统一管理用于各种网络设备的密码算法和密钥;
● 网络安全管理职能,保障网络的安全可靠运行 ;
● 用户系统安全管理职能,负责应用系统的安全可靠运行,并负责用户的授权和维护工作;
● 网络安全监控职能,实时监视网络的各种活动,并与以上三个职能部门协作,发现和弥补安全隐患,检测、终止和跟踪入侵行为和犯罪行为,增强网络的安全性。
11.12.2 安全管理基本原则
安全管理的基本原则
● 分离与制约原则,包括内部人员与外部人员分离、开发人员与用户分离、用户机与分离、权限分级管理等;
● 有限授权原则; ● 预防为主原则; ● 可审计原则。
11.12.3 安全管理制度
为保证各项安全措施的实施并真正发挥作用,必须制定以下各项规章制度;
● 人员安全管理制度,包括安全审查制度、岗位安全考核制度、安全培训;
制度、安全保密契约管理、离岗人员安全管理制度;
● 文档管理制度,各种文档(包括书面和电子等各种形式)必须有清晰的密级划分,妥善管理;
● 系统运行环境安全管理制度,包括机房出入控制、环境条件保障管理、自然灾害防护、防护设施管理、电磁波与磁场防护等;
● 软硬件系统的选购、使用与维护制度,设备选型、设备购置、安全检测、设备安装、设备使用、设备维护、设备保管等过程中必须有明确的规章制度作指导。对软件选型与购置审查、软件安全检测与验收、软件安全跟踪与报告、软件版本管理、软件使用与维护、软件安全稽核也必须做出明确的规定;
● 应用系统运营安全管理制度,包括操作安全管理、操作权限管理、操作规范管理、操作责任管理、操作监督管理、操作恢复管理;系统启用安全审查管理、应用软件稽核管理、应用软件版本管理、应用软件更改安全管理,应用系统备份管理、应用软件维护安全管理;
● 应用系统开发安全管理制度,包括开发平台安全管理,开发环境安全管理、开发人员安全管理、开发系统安全规范管理、开发系统安全检测、开发系统安全移交管理;
● 应急安全管理制度,制订应急案例制定和应急实施计划、应急备用管理、应急恢复管理、应急后果评估管理。
11.12.4 用户的教育与培训
管理员和用户的安全意识和所掌握的技术是整个网络和信息系统安全保障体系运行维护的前提。建立相应的用户培训制度,成立相应的安全培训机构,是整个网络安全实施的最重要的重要保障。
11.12.5 基于J2EE安全体系统的内外部身份验证
1.验证模式
身份验证是用户或组件调用者向系统证明其身份的过程。用户通过某种方式向系统提交验证信息(通常是用户名和密码或者是用户的数字证书),系统用用
户提供的验证信息和系统的安全策略来验证用户的身份。(图11-6)
(图11-6)
图例关键名词说明: ACC 访问控制 JMS Java 消息服务 MDB 消息驱动 Bean
用户的验证根据其客户端类型不同分为两种:外部用户和内部用户。 1)外部用户用户验证通常也是WEB客户端验证。
Web客户端通常通过http协议来请求web服务器端的资源,这些web资源通常包括html网页、jsp(java server page)文件、java servlet和其他一些二进制或多媒体文件。在企业环境中,企业的某些资源往往要求只允许某些人访问,有些资源甚至是机密的或安全敏感的。因此对企业中各种web资源进行访问控制是十分必要的。为了满足企业中的不同安全级别和客户化的需求,J2EE提供了三种基于web客户端的验证方式:
● HTTP基本验证(HTTP Basic Authentication)
HTTP基本验证 HTTP协议所支持的验证机制。这种验证机制使用用户的用户名和密码作为验证信息。Web客户端从用户获取用户名和密码,然后传递他们给web服务器,web服务器在指定的区域(realm)中验证用户。但需要注意的是,这种验证方法是不够安全的。因为这种验证方法并不对用户密码进行加密,而只是对密码进行基本的base64的编码。而且目标web服务器对用户来说也是
非验证过的。不能保证用户访问到的web服务器就是用户希望访问的。可以采用一些安全措施来克服这个弱点。例如在传输层上应用SSL或者在网络层上使用IPSEC或VPN技术。
● 基于表单的验证(Form-Based Authentication)
基于表单的验证 使系统开发者可以自定义用户的登陆页面和报错页面。这种验证方法与基本HTTP的验证方法的唯一区别就在于它可以根据用户的要求制定登陆和出错页面。基于表单的验证方法同样具有与基本HTTP验证类似的不安全的弱点。用户在表单中填写用户名和密码,而后密码以明文形式在网路中传递,如果在网路的某一节点将此验证请求截获,在经过反编码很容易就可以获取用户的密码。因此在使用基本HTTP的验证方式和基于表单的验证方法时,一定确定这两种方式的弱点对你的应用是可接受的。
● 基于客户端证书的验证(Client-Certificate Authentication) 基于客户端证书的验证方式要比上面两种方式更安全。它通过HTTPS(HTTP over SSL)来保证验证的安全性。安全套接层(Secure Sockets Layer)为验证过程提供了数据加密,服务器端认证,信息真实性等方面的安全保证。在此验证方式中,客户端必须提供一个公钥证书,你可以把这个公钥证书看作是你的数字护照。公钥证书也称数字证书,它是被称作证书授权机构(CA)-一个被信任的组织颁发的。这个数字证书必须符合X509公钥体系结构(PKI)的标准。如果你指定了这种验证方式,Web服务器将使用客户端提供的数字证书来验证用户的身份
2)内部用户验证
内部用户大部分也走WEB验证模式、只有少数系统管理模块采用Application客户端的验证。
Application客户端的验证主要根据用户名和密码验证,密码采用加密方式。
2.授权模式(业务权限定制)
系统根据Java Servlets 2.3 规范和 EJB 2.0 规范定义了如何建立访问控制规则,来限制对不同 J2EE 应用资源的访问。
J2EE 访问控制是基于规则的。限制访问指定的 JSP 页面,Servlets,EJB 组
件,不同的用户及用户组访问不同的模块及菜单,同时对同一个页面还作了查看、修改、增加和删除等功能权限的划分,我们这样划分主要是根据**房产局不同的人具有受理、初审、复批等权限来定制。同时对房产大市场业务不同、区域不同等来限制区域定制。
● 用户和组:管理员根据用户从事的业务,地位,部门性质来定制不同的用户了权限。用户权限可只接使用角色来赋予。
● 角色定制:管理员定制(赋予或撤消)用户角色以及哪个角色被授权访问被限制区域
● 限制区域:不同的区域有不同的访问限制,管理员根据业务不同可以很方面的自己定制这些区域。
用户可以被赋予多种角色,但是为了验证,他们至少被分配一种角色,他们被允许访问相应的区域。角色的名称在应用层的范围内有效。所以,即使多个模块使用相同的角色名称,名称将被映射到应用中的相同角色。