首页 > 范文大全 > 正文

网页防火墙研究与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇网页防火墙研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:随着Internet的发展,基于B/S(浏览器/服务器)方式的信息管理平台逐渐成为企业信息化建设的一个新的热点。但是,网络的方便性同时也带来了非法的恶意访问和黑客攻击,造成信息的破坏和通讯的故障,给企业造成了极大的损失和威胁。网页作为Web程序的基本元素,实现它的安全性,将是最简洁和高效的解决方案。本文研究了如何在网页上加强安全的手段,提出了切实可行的新方法,进一步提高了信息系统的安全性。

关键词:网页防火墙;MAC地址;IP地址;角色

中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30709-03

Study and Realize for Firewall of Web Pages

WANG Zhen-hui1, WANG Han-bin1,WANG Zhen-duo2

(1. College of Information Engineering, Xi'an Fanyi University,Xi'an 710105, China; 2 Xi'an Technological University North Institute of Information Engineering, Xi'an 710025, China)

Abstract: With the rapid development of the Internet, the information system based on the B/S(Browse/Server) software architecture has become a style. But the convenience of network also brings illegal visit and attack by hackers, which cause data lose and communication failure. Web pages, the element of web program, if its safety comes true, all web programs can be safe too. This is a shortcut solution. In this paper, studies show how to enforce safety upon web pages. It also come up with a new and practicable way to improve the secure of information system.

Key words:Web page firewall; MAC address; IP address; Role

1 引言

政府、银行、大企业等机构都有自己的内网资源。从这些组织的网络办公环境可以看出,行政结构是金字塔型,但是局域网的网络管理却是平面型的,从网络安全的角度看,当前这些组织内部系统时常被入侵、破坏与泄密,由此引发的更多有关网络安全的问题应该引起我们的高度重视。据统计,全球80%以上的入侵来自于内部。此外,不太自律的员工对网络资源无节制的滥用对企业可能会造成巨大的损失。

由于Internet的迅速发展,同时由于B/S体系软件部署维护的简便性使得该体系结构逐渐成为时尚和主流的软件开发运行模式,但操作系统和浏览器的漏洞使得网络病毒和随意访问无处不在,对入侵的检测与防范、保障计算机系统、网络系统及整个信息基础设施的安全已经成为刻不容缓的重要课题。

2 网页防火墙相关概念

网页防火墙,顾名思义,就是在构建基于网页的软件防火墙,通过提高对网页访问者的访问限制和合法性检查增强系统的安全性。由于网页是Web的基本元素,是网站的主要数据来源和用户操作的接口,所以能够直接的从根本上解决网络程序的安全问题。目前,硬件技术安全应用广泛,但成本高,升级速度慢,随着用户对软件安全性要求的逐步提高,软件自身的安全设计自然摆到了议事日程,连微软公司也由于用户对其产品安全性的抱怨而放慢了新产品的研发,网页防火墙作为网页的安全屏障作用不言而喻。

IP地址:为了唯一标示网络上的每一台计算机,使得用户可以方便共享信息和资源。

MAC地址即网卡物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。

IP地址相当于你的姓名,MAC地址相当于身份证号码,你可以去派出所把你的姓名改了,但是你的身份证号却不能随着你自己的姓名更改而更改。MAC地址与IP地址绑定如同我们在日常生活本人携带自己的身份证去做重要事情一样的。MAC地址与IP地址绑定可以强化对人们操作行为的约束,保障计算机系统的安全。

角色,是指一个或几个相关的权限的集合,角色之间可以进一步组合而成为一棵层次树,以对应现实世界中的行政职位或工作岗位。通过授权,人们只能做自己份内的工作,从而避免了越权操作。

3 网页防火墙原理

网页防火墙的原理是基于不信任原则,首先认为所有访问Web主机的客户机和用户都是待审核的,只有通过机器地址,用户名的合法性检验,用户才能访问授权的网页。基于此原理,网页防火墙具有以下特点:

3.1 对访问计算机的限制,做到专机专用

为了防止操作员,从任意一台电脑就能访问Web主机,采用网卡MAC地址绑定IP地址,建立用户计算机资源信息,通过硬件与软件技术的结合,做到操作员只能从指定计算机进行操作,从而避免用户的随意访问。

3.2 对用户的限制,做到按业务访问页面

限制访问系统的人员和页面,它是访问控制的基础。方法一是对用户身份的合法性验证,要求用户输入合法的用户名及对应口令。方法二是根据用户的部门和业务分工,设定用户存取权限,通过限制进入系统的用户所能执行的操作,来保证数据的安全。

3.3 建立操作日志,及时发现系统安全隐患。

建立完善的审计系统和日志管理系统,利用日志和审计功能对系统进行安全监控,建立用户操作日志,管理员可随时查询某一时段用户的操作情况,并且记录不明机器和用户的访问,将其定义为非法用户,不允许其再次访问系统。

4 网页防火墙的应用

4.1 项目背景

某单位,采用B/S结构设计了内部办公系统网站和外部客户查询网站,按照分级管理的原则,网页目录按照部门,业务等分层组织为树型结构,叶子节点为具体的功能页面。要求实现,一人一机制,按照人员岗位定义角色和可以访问的页面。外部客户要求为单位授权的用户,可以查询本单位产品、新闻和填写订单等工作。

4.2 网站规划与建设

管理信息系统建设的第一步是作好规划。规划的好坏对系统建设的成败有着至关重要的影响。凡是认真做规划的企业其系统建设的效果往往比不做规划或不认真做规划的企业的效果好得多。全局设计按照从上到下的原则,层次化的组建网站目录结构,具体实施按照平行运作方法逐层实现部门网页建设,再建立全局应用网页和外部客户访问页面。具体网站目录设计如图1所示。

图1 网站系统目录结构图

4.3 数据库建设

按照用户的业务需求,结合具体的数据库管理系统建立高效,简洁的数据结构,在数据库建设过程要依据“先基础数据,后业务数据”,同时实现数据的标准化,减少数据库的重复建设。根据网页防火墙的功能,除用户业务数据表外,其次需要建立如下约束和审计表。

(1)内部用户数据结构

机器表:部门编号+部门名+机器编号+ MAC地址+IP地址;

用户表:机器编号+用户编号+姓名+密码+操作权限;

权限表:人员编号+操作权限+具体操作项;

操作日志表:机器编号+人员编号+姓名+密码+访问日期+页面名称;

其他业务数据表(略)。

(2)外部用户数据结构

用户表:用户编号+姓名+单位+电话+Email;

外部操作日志表:操作序号+用户编号+访问日期+页面名称。

5 程序设计说明

5.1 程序设计和软件运行环境

微软公司视窗2000服务器版;

Visual Studio .Net正式版;

Microsoft SQL Server2000企业版;

MDAC2.6 (Microsoft Data Access Component)以上版本。

5.2 程序流程说明

在每个页面的page_load事件中校验机器与用户身份及许可权限,如正确用户可以执行,否则,导航到用户登陆界面,且用户输入错误超过三次,不允许访问网站页面。为了避免合法用户反复输入,在应用的session中保留机器的MAC地址和IP地址信息,用户信息,操作身份等信息,使得用户不必重复在每个界面输入登陆信息。具体程序操作流程如图2所示。

5.3 核心代码说明

5.3.1 引用命名空间

5.3.2 连接数据库

图2 系统内部运作流程图

SqlConnection myConnection//声明一个数据库连接对象

myConnection=NewSqlConnection("server=localhost";uid=sa;pwd=;database=oa");//建立库连接

myConnection.Open();//打开数据库

5.3.3 获得用户的MAC地址和IP地址

remoteip=request.servervariables("remote_addr")

//获得浏览用户的IP地址

//获得浏览用户的MAC地址

[DllImport("Iphlpapi.dll")]

private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);

[DllImport("Ws2_32.dll")]

private static extern Int32 inet_addr(string ip);

static private Int64 getRemoteMAC(string localIP, string remoteIP)

{ Int32 ldest= inet_addr(remoteIP); //目的主机的IP地址

Int32 lhost= inet_addr(localIP);//本机的IP地址

try

{ Int64 macinfo = new Int64();

Int32 len = 6;

int res = SendARP(ldest,0, ref macinfo, ref len);

return macinfo; //返回MAC地址信息 }

catch(Exception err)

{ Console.WriteLine("Error:{0}",err.Message);}

return 0; }

5.3.4 验证机器信息,获得机器编号和部门编号

SqlDataSetCommand MydataSetCommand=new SqlDataSetCommand("select 机器编号,

部门编号 from 机器表 where mac='" +macinfo +" and ip='" +remoteip +"");

5.3.5 获得用户权限,以进入相应的业务操作界面

SqlDataSetCommand MydataSetCommand=new SqlDataSetCommand("select 权限名称 from 用户表 where 用户编号='" + username +" and 密码='" +password +"");

5.3.6 通用页面权限校验代码

void page_load(object scr,EventArgs e)

{ 校验机器代码……

IF ROWCOUNT=0 THEN

//外部用户

in_user=0

ELSE

//内部用户

in_user=1

END IF

校验用户代码……

IF ROWCOUNT1=0THEN

IF in_user=0 THEN

//外部未校验用户,重新校验

Page.Navagate 外部用户\Login.aspx

ELSE

//内部未校验用户,重新校验

Page.Navagate 内部用户\Login.aspx

END IF

ELSE

IF in_user=0 THEN

//外部校验用户

Page.Navagate 外部用户\main.aspx

ELSE

//内部校验用户

//根据权限,进入部门功能界面

Page.Navagate 内部用户\部门名\权限名称\main.aspx

END IF

END IF }

5.3.7 记录用户操作行为

pc_bh =Session(“机器编号”);

man_bh=Session(“人员编号”);

man_name=Session(“姓名”);

pass=Session(“密码”);

cdate=DateTime.Today;

page_name=Session(“网页名称”);

String insertCmd = "insert into操作日志表(机器编号, 人员编号, 姓名, 密码, 访问日期, 页面名称) values ('" + pc_bh + "','" + man_bh+ "','" + man_name+ "','" + pass + "','" + cdate + "','" + page_name + "')";

SqlCommand myCommand = new SqlCommand(insertCmd, myConnection);

myCommand.Connection.Open();

try

{ myCommand.ExecuteNonQuery(); }

finally

{ myCommand.Connection.Close();} }

6 结束语

通过对网页防火墙的研究,用软件结合硬件参数的方法,很好的满足了系统的需求,实现了系统的可用性和安全性。但是总的来说,“三分技术,七分管理”,一方面要加强软硬件设计安全的研究,同时也要加强日常运行的管理,及时发现问题,及时解决,统筹安排,优化设计方法,才能使信息系统在一定的条件下满足用户的需要,通过解决用户日常工作中的难点问题引领技术的发展。

参考文献:

[1]孙建华,杨煦,陈磊. 网络系统管理――Linux篇[M]. 北京:人民邮电出版社,2002.

[2]陈庆章,林建明. WWW与数据库集成系统的用户权限管理[J]. 计算机工程与应用,2001(6):93-97.

[3]范剑波,张晓云. 网络数据库技术与应用[M]. 西安:西安电子科技大学出版社,2004.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。