XXXXXX安全解决方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

XXXXXX 网络安全解决方案
、系统的开发背景
随着计算机技术和通讯技术的飞速发展,网络正逐步改变着人们的工作方式和生活方式,成为当今社会发展的一个主题。

网络的开放性、互连性、共享性程度的扩大,特别是高校中计算机网络得到广泛的应用,无论是科研和教学中都离不开它,WEB艮务、数据库服务、电子邮件服务等涉及秘密材料,由于开放性的要求,In ternet 与内部网没有完全物理隔离,因此在操作系统和服务系统不能完全保证没有安全隐患和漏洞的情况下,难以保证内部系统的安全,同时内部网用户也可能涉及违反网络安全的事件,缺乏有效身份认证是内部管理的主要问题。

无论是有意的攻击,还是无意的误操作,都将会给系统带来不可估量的损失。

攻击者可以窃听网络上的信息,窃取用户的口令、数据库的信息;还可以篡改数据库内容,伪造用户身份,否认自己的签名。

更有甚者,攻击者可以删除数据库内容,摧毁网络节点,释放计算机病毒等等。

黑客的威胁见诸报道的已经屡见不鲜,在整个网络中任何一个环节出现问题,都有可能造成整个系统处于不安全的状态,而保证每个主机都处于高度安全是不可能的,现有的操作系统和服务系统都发现过漏洞,特别是人为因素造成的管理问题更难以避免。

1. 1网络安全的具体需求
在整个网络中,最主要的是保证关键数据库和专门服务器的安全。

保证内部
服务集群的安全性是最基本的,也是最重要的需求。

系统的主要需求指标有:
管理安全性:
完善的网络访问控制列表,禁止非授权用户非法访问数据。

为防止黑
客获得某个主机的控制权后造成安全漏洞。

不应该简单采用主机信
任。

保密性:
为了防止黑客等的非法破解,通信应该提供保密性,防止恶意的网络监听,
由于采用系统总体加密,因此无需担心内部的口令字等关键信息的泄漏。

兼容性:
对于现有的各种操作系统和服务系统应该兼容,避免升级等复杂问题和新的
缺陷的引入。

透明性:
解决方案应对用户提供透明的安全网络管理,除要求客户端使用专用的安全
网络服务组件和USB钥匙外,不应该要求用户提供应用层的额外修改,这
将是一项复杂的工作。

1. 2安全策略的原则:
充分比较安全策略的安全性与方便性。

通常,网络的方便性会因安全措施而降低。

例如增加了用户身份验证的措施,用户就不得不在获得网络服务之前先输入用户名和口令,从方便性角度看,这就比
直接获得网络服务方便性差。

充分比较网络的安全性与性能。

安全措施的完成必然要消耗一定的网络资源。

或是占用主机CPU和内
存,或者是占用网络带宽,或者是增加信息处理的过程。

所有这些都可以导致整体性能降低。

充分比较网络的安全性与成本。

采用网络安全措施本身会增加建网的成本,包括进行安全方面的系统设计和实施的费用,购买硬件和软件的费用,管理和维护的费用等。

优秀的网络安全策略必须是建立在对网络安全需求与环境的客观分析评估
基础上,在网络的应用性能及价格和安全保障需求之间确定一个“最佳平衡点”,
使得网络安全保障引入的额外开销与它所带来的效益相当
1、系统的工作原理和总体结构
2. 1工作模式
本系统采用对服务集群采用软件网桥,统一完成加/脱密、验证、审计的功能。

客户端通过纯软件的网络服务驱动及USB钥匙(兼作USB存储磁盘)实现客户端的身份认证和加脱密。

外网路由器
局域网客户端网络服务组件+USB钥匙互联网客户端网络服务组件+USB钥匙
安全认证数据数







W
E
B


丿




图中涂色部分为本系统的服务端。

在实际使用中认证服务器可以和安全管理器集中在同一台机器上,也可以使用多个安全网桥,但此时认证数据库必须存在同一机器上。

注意,图中安全服务器以下部分(内部各种服务器)对系统是不安全的因素,要注意保护,同时它们之间也无法使用安全认证。

因此本系统并不能完全避免合法的用户通过供给授权的服务器已有的安全漏洞达到控制其它服务器的目的。

系统管理员经尽可能管理好各自的权限配置,及时更新各种服务系统的补丁程序。

系统采用IP隧道(tunnel)技术,通过扩展网络协议/服务实现了VPN,当前所有
TCP/IP 数据使用协商好的密钥加密后重新包装成特定目标端口(0x5555)的UDP 数据包(原来的目的端口等信息被包含在加密包中),由于基于标准IP 承载信息,因此可以穿过多层各种路由器和防火墙(某些设备需要设置允许此端口数据通过,不要特定限制UDP 包)。

不但可以实现局域网内部的安全访问,同时可以适合于通过In ternet访问局域网,如移动IP用户或合法外单位用户。

数据帧使用了128比特的AES 算法进行加密,结合了时间戳和摘要验证算法, 避免了重放攻击等危害系统安全。

由于本系统安全网桥处于重要地位,推荐使用防火墙被设置在被保护网络和外部网络之间的一道屏障,以抵御发生不可预测的、潜在破坏性的侵入和重复攻击等。

2.2 身份认证
用户身份认证是一个完善的安全策略方案中必不可少的模块,特别是在存在着通过远程访问方式访问系统资源的情况下。

对用户进行身份认证可以了解谁试图访问特定资源,这对于保护资源是必需的。

除了认证用户身份以外,用户验证还可以定义了每个用户能够访问的资源,这就为多种资源并存的环境提供了增强的控制和更好的安全性。

当今使用的一些比较流行的先进认证装置叫做一次性口令系统。

一次性口令。

即“询问-应答系统”。

这种口令即使被入侵者获得,也不可能被入侵者重新使用来获得某一账户,就非常有效地保护了INTRANET 网络.。

本系统采用USB 钥匙。

用户只需插入即可自动与安全网桥经多次握手后获
取自己的实际工作密钥(128bit)。

合法用户有权力随时更换新的密钥。

USB钥匙
的安全十分重要,是确定用户的重要标志,用户应妥善保管。

2.3 安全网桥
该设备是为了满足对多种类UNIX 系统的安全防护,特别是数据中心的各种数据服务器,采用同一的安全路由设备既方便维护,又避免在多个操作系统上进行修改或扩充所产生的不稳定性。

该部分设备采用双千兆网卡,利用Windows2003 Server的网桥功能,实现对当前子网的安全防护和验证。

系统基本适应的客户端类型为Windows2000以上系列,包括Windows2000, WindowsXP,Windows Server 2003 等。

不支持Windows9x 和Windows NT 。

2.4 数据库审计由于入侵手段的日益复杂和常用系统出现的安全缺陷,分析网络系统对破坏的抵抗能力有助于保障安全。

完成对数据库应用对象访问的扫描日志。

然后根据扫描结果向系统管理员提供安全性分析报告,为提高网络安全整体水平产生重要依据。

该部分实现对Oracle和Sql-Server服务器特殊的安全审计,可检测非法盗用用户和口令的行为,通过和网桥的联动达到阻断非法访问的目的。

通过日志功能增强安全审计。

当前系统一个路由器支持以下的指标:允许同时监测最多32 个数据服务,可以在一个主机上存在多个数据服务。

每个数据库可以监测用户指定的账号64 个
支持多大30000个用户的分级权限实时阻断非法的越权登录,避免数据损失。

提供登录日志功能,记录登录用户,账号,数据库,时间等内容。

方便日后审核。

三、系统的主要指标该系统的一些主要指标和技术参数如下:安全指标:
基于TCP 协议的连接进行安全认证。

128bit的AES算法保证数据的安全性.
加密的摘要和时间戳的验证保证免受重复攻击
兼容性指标:
适用于Windows2000以上的客户端。

支持Windows2003Serve。

支持通过互联网
安全访问内部网。

带宽利用率不低于80%。

支持所有类型的网卡。

由于采用安全网桥统一进行安全认
证。

服务端的操作系统和服务类型不受限制,只要能够访问SQL Server即可进行对
当前TCP连接的用户身份的认证。

处理指标:
加脱密速率不低于200Mb/s。

最多可支持30000个客户端身份。

支持Oracle的登录审计。

最多32个数据库,每个数据库不超过64个用户。

安全网桥最多可同时支持40 万个连接的认证。

在遭受恶意重复攻击超过此数后可能造成认证不成功。

但不会被欺骗。

四、系统的客户端
客户端的程序文件如下:
4. 1 USB钥匙开发库
SecUSBFIash.dll
SecUSBFIash.lib
FlashDisk.h
其提供的接口函数有:
调用USB钥匙进行加密
int USBFlashE ncrypt
(
char *pEdata, 〃加密结果数据
con st char *pData, 〃明文数据
int length //数据字节长度,必须为8的倍数
);
返回为状态。

ERR_OK为成功。

读取USB钥匙中的数据区
int USBFIashGetData
(
char *pData,
int offset,
int len gth
);
返回值:操作状态
设置USB钥匙的数据区内容
int USBFIashPutData
(
const char *pData,
int offset,
int len gth
);
烧制USB钥匙的主密钥。

为8个字节
int USBFIashSetKey(co nst char *pKey);
加密算法
fastdes.h uni xpass.cpp
该程序提供了USB钥匙使用的加密算法。

在服务端需要使用,客户端可以辅助验证。

同时为了克服USB加密钥匙速度慢的缺点。

在需要大量加密时使用
硬件获取参数,软件加密算法
4.2 客户端组件:
客户端适用于Win2000 以上版本的操作系统。

采用协议驱动模式,保证对用户和应用程序透明。

USB 钥匙提供了保密和标识的作用,存储密钥不可以读出。

提供的主要安装包有:
4.2.1 网络服务组件包基本的系统文件有如下:netsf.inf netsf_m.inf melianet.sys melianet.dll 设备名: \\.\melianet
该服务组件负责对涉及安全服务的网络访问的IP 数据进行VPN 封装和加脱密,其加密参数是由客户端USB 钥匙和安全验证服务器经多次握手后获得的。

其基本原理和步骤如下:1)客户端产生一个随机向量V1(1024 位),使用USB 钥匙加密后,封装在请求密钥包内发给服务器。

2)服务端对接收到的请求密钥包中的向量脱密后,与分配给此用户的网络加密密钥按特定格式混合封装,以客户端密钥加密后发给客户
3)客户端接收到后,进行脱密,确认其格式中向量和网络密钥正常后。

产生一个随机向量V2,使用服务器分发的网络加密密钥和算法进行加密产生测试包。

发给服务器。

4)服务器对测试包进行脱密后,使用用户密钥进行加密后发给客户端进行二次握手,服务器向安全网桥设置本用户的加密密钥。

5)客户收到二次握手信息后,确认后,初始化网络加密组件中的加/脱密密
注意:在Win dows2000以上操作系统中,用于使用“设备驱动签名”管理,可能造成安装过程中出现在的类似如下的提示框。

请单击“我的电脑”右键健菜单中的属性,首先选择使用系统属性管理中设备管理器“驱动程序签名”项,选择忽略-安装软件,不用征求我的同意”。

4. 2. 2 USB 钥匙
该钥匙需要经过注册方可使用。

兼具有64M的移动存储盘功能。

使用硬件加密,密钥不可读出保护。

用户的信息被写入到USB-KEY中,使用客户登陆程序可以查看用户的身份
信息。

如果该USB-KEY没有被注册过或内容被恶意修改,登陆程序将提示信息格式非法
4. 2. 3客户登录程序
该程序在安装时被设置为系统启动时自动执行。

在托盘中显示为一个钥匙图标。

红色表示
当前USB-KEY没有插入。

当用户插入合法的USB-KEY时,
转变为白色,并且弹出信息框显示相关信息,约三秒后自动关闭。

注意:在使用时不要快速的拔插U
盘。

本系统在5秒内一般可以完成检测。

否则可能造成设备锁定,需
要重新启动才能恢复。

根据用户拔插USB钥匙的情况自动进行用户的登录和注销。

该程
序负责与服务器的密钥交换,以及向网络组件设置新的密钥、不使用
时及时清除组件中的敏感参数。

如果退出此程序,以后的拔插钥匙不会被自动监测到。

鼠标右键单击图标,出现如图所示的菜单。

可以选择执行:
当选中时,重新启动系统将自动执行,否则不执行,需要从自动启动执行:
“开始>程序〉美菱安全USB钥匙”手工执行。

登陆安全管理网:对于特权用户可以进行某些权限管理工作。

重新检测钥匙:当Usb-KEY先于客户监控程序启动前插入,可以使用此命令强制检测,不
需要重新插入USB-KEY。

正常情况下,当USB-KEY插入时自动会被检测到,但有时可能会
遗漏,同样需要强制检测。

注销当前钥匙:在不拔出USB-KEY的情况下,禁止USB-KEY的安全验证作用,图标变
为红色。

连接服务器:与安全服务器握手交换密钥,只有在使用过程中由于特定情况才需要(例如服务端进行维护重新启动)。

可能出现“网络不通”和“握手超时错误。

检查相关的情况。

在图标位置单击鼠标左键,系统显示本用户的有关信息,以及当前可访问的安全网络地址群。

如下图:
本显示页面可以由用户订制,
只要修改本程序目录中的keyweb.mod.htm文件即可。

涉及到用户可以引用的参数有
%姓名% 文本
%编号% 文本
%单位% 文本
%照片% 图像文件名
修改此文件时不要使用恶意脚本代码。

下表中列出了系统默认的HTML文档,当没有上述文件时自动使用它
服务器组指明需要经过安全保护的IP地址群,安全网桥必须设置为第一个地址。

修改后按”重新设定”按钮。

客户将于服务器重新交换密钥。

网络可能临时断开。

设置后报存在注册表中,下次启动时用上次默认值。

关闭本窗口可以使用ESC键或窗口标题栏上的关闭按钮。

四、系统的服务端
系统的服务端主要如下两个部分:
服务管理程序钥匙注册程序
4 .1服务端程序文件列表
4. 2安全服务管理程序
服务端的安装过程:
1)服务端必须安装SQL Server 数据库,并时刻安装最新的补丁程序,保证 系统信息的安
全。

超级用户的密码不对外泄漏。

创建一个本系统使用的数据库,名称为 safe net 用户和密码可以自主设
安装扩展存储过程
将MeliaESP.dll 拷贝到SQL 安装目录下的binn 子目录,如果重新安装需 要停
止SQL Serve 。

该扩展存储过程接收诸如 “ 192.168.1.8:5566-192.168.1.1:80形式的字符 串,返回的值为该当前连接的用户 ID,如果返回负值,表明无法判定该连接
的真正用户。

该字符串格式为
客户端IP 地址:客户端Port-服务端IP 地址:服务端PORT 关于扩展存储过程的使用,请参见相关的数据库开发资料。

4) 创建验证存储过程的代码:
在自定义的数据库中创建一个如下的存储过程。

在单网桥情况下可以直接
定义在SafeNet 数据库中。

其他情况下 NetUserList 表要加上数据库域限定。

或 者使用
DATASOURCE 指定到公用的验证数据库。

2)
3)
为了方便用户的验证操作,建立一个进行验证的专门用户,例如用户名字和口令都为key,该用户只有执行KeyVerify存储过程的权力,不能对其他表进行读写。

注意:必须妥善管理此存储过程的权限,
5)将此存储过程的名称、访问用户/密码,以及访问格式向各个服务开发商
公开。

也可以根据服务开发商的要求定制,由管理员按照权限导入,例如:可以
和用户信息数据库关联获得其它扩展信息。

由于采用开放的数据库访问,任何系统和编程语言都可以容易的实现。

下节列出使用ASP进行身份验证的代码。


于篇幅和访问的不同,这里不再列出使用高级语言(VC等)访问的代码。

6)安装网络的协议组件,每个物理网卡产生一个虚拟网卡,配置相应的ip 地址。

选择掉不需要的虚拟网卡(在原网卡上去掉Melia net Protocol
Driver)。

7)将所需要的安全服务捆绑到虚拟网卡的IP地址上,或者将一个虚拟网卡与另一个物理网卡连成网桥。

(操作方法:在网络连接中选择两个网卡后,右键菜单中选择桥接。

注意不要形成回路)。

规定如下:
8)执行RouterCenter.exe程序,首次执行时自动自动完成库表的创建,可能速度较慢,请等待。

开始进行工作。

如果你需要指定数据库访问的用户/
密码,请修改Router.reg注册表配置文件后导入注册表(双击执行即可)。

注册表内包含数据库登录的DSN和审计的日志文件目录。

9)在增删和修改用户信息后,如果安全服务处在工作状态,请在托盘图标
中选择右键菜单中的“更新用户表”命令
10)在客户端用注册好的USB-KEY登陆到安全管理网站检查系统是否
正常(注册和安装客户见4.4)
下面列出了IIS服务使用ASP脚本对当前网页连接的客户信息进行验证的代码实际使用中应尽可能定义不同名称/权限的存储过程。

EXEC <认证存储过程名称><认证连接串>
认证串的格式如下:
客户地址:客户端口-服务器地址:服务端口
Source = "EXEC master..Key\erify '"+str+"”'
Co nn ect="DRIVER=SQL
Server;SERVER=(local);UID=key;PWD=key;DATABASE=safe net"
Set Rs1 = Server.CreateObject( "ADODB.Recordset")
Rs1.Ope n Source, Conn ect, adOpe nFo rward Only
'如果返回纪录集,则为当前连接用户的身份信息,否则表示无法验证if NOT Rs1.EOF the n Respo nse.Write(用户编号=")
Respo nse.Write(Rs1("CARDNO"))
Respo nse.Write("<BR>")
Resp on se.Write(用户名=")
Respo nse.Write(Rs1("NAME"))
Respo nse.Write("<BR>")
Respo nse.Write(工作单位=")
Respo nse.Write(Rs1("UNIT"))
Respo nse.Write("<BR>"+Chr(10)) else
Response.Write(无法验证<BR>") end if
Resp on se.Write("<BR><BR>")
4. 4钥匙注册程序
在程序目录下有一个子目录PHOTO,,系统管理员可以将用户的照片存放在
此处,以便注册时自动写入到钥匙中。

文件命名格式为
IMG nnnn.JPG
要求必须为jpg格式,文件大小不能超过16K,nnnn为用户证件编号,可以更长些,必须至少包含一个数字。

证件号码为用户的唯一身份标识,也可以输入内部定义的编号,但一定要保持唯一,并且适用于和已有的信息库的关联检索。

此编号必须至少有一个数字。

姓名要求至少4个字节符,不要输入数字。

请妥善处理图片,尽量在保持图形分辨率情况下减少其大小。

以上信息被经过安全处理后保存在usb-key中,该信息可能被损坏,但不能伪造。

如果需要依靠usb-KEY获取更多信息,请通过编号和其他信息数据库关联访问。

在进行注册时,请等待信息提示行中提示已经完成后再正常退出USB-KEY。

相关文档
最新文档