1、计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙1Ourfirewall2004防火墙系统开发小组:李 骞 计算机科学与技术 2000 级 2班李 琳 计算机科学与技术 2000 级 2班王重英 计算机科学与技术 2000 级 2班郭金巧 计算机科学与技术 2000 级 3班指导老师:吴振强 副教授张 莉 老师摘要:本文着重介绍“OurFirewall2004” 防火 墙系统:该 OurFirewall2004 是一个基于 TCP/IP 协议的网络应用系统,它提供了一个网络实时监控、数据包过滤、日志记录、安全级别设置等功能, 为网络安全的控制提供了重要手段。关键字:
2、 网络监控 包过滤 API(应用程序编程接口) 动态链接库(DLL) 网络侦听 日志记录 安全级别Abstract:In this paper ,we present our firewall system which is“OurFirewall2004”: it is a network application system based on TCP/IP, it supplies many functions such as network monitor , Packet filtering, the daily recording, the grades of security an
3、d so on.It gives out an important method for the control of network security. Key word :The network supervises and control The data pack filtering Dynamic Link LibraryAPI(Application Programming Interface)Network Listening Daily record Security Grade计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙2目录摘要 1防火墙简介
4、 3 前 言 3 网络安全状况 3防火墙是什么3防火墙能干什么4防火墙采用哪些技术4第一部分 系统说明6一、 系统简介 6二、系统基本功能 7第二部分系统开发环境与工具的选择 8第三部分 系统设计 9一、系统概要设计 9二、系统详细设计 91、系统流程图的设计 102、功能实现的设计 10第四部分 各部分的技术和关键代码 12一、 实时监控 12二、 过滤 22三、 安全日志 22四、 安全级别 22第五部分 使用说明 22一 、安装与卸载 22二、具体使用说明 23第六部分:系统测试 24第七部分:系统维护 25第八部分:结束语 25参考资料 26附录 26防火墙简介:软 件 名 称 : O
5、urFirewall2004 防 火 墙计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙3软 件 分 类 : 网 络 安 全 工 具 -2004 防 火 墙出 版 日 期 : 2004-05-26版 本 : V1.0 版操 作 系 统 : Windows 2000/NT(sp6)/98/ME/XP语 言 界 面 : 简 体 中 文原 创 单 位 : 陕 西 师 范 大 学 计 算 机 科 学 学 院 2000 级学 校 网 址 : http:/ 火 墙 个 人 版 是 一 款 由 2000 级 学 生 毕 业 设 计 制 作 的 网 络 安 全 程 序 。它 根 据
6、 系 统 管 理 者 设 定 的 安 全 规 则 ( Security Rules) 把 守 网 络 , 提供 强 大 的 包 过 滤 、 网 络 实 时 监 控 、 安 全 级 别 设 置 、 日 志 审 计 等 功 能 。 目前 的 版 本 是 v1.0 版 本 。 由 于 时 间 仓 促 , 该 防 火 墙 在 许 多 方 面 还 有 待 于进 一 步 改 善 。前 言网络安全状况随着计算机网络的发展,以 Internet为代表的全球性信息化浪潮日益深刻,信息网络技术的应用正日益普及和广泛,计算机网络的资源共享进一步加强,应用层次正在深入,应用领域从传统的、小型业务系统逐渐向大型、关键业
7、务系统扩展,但是在提高信息利用率的同时,也给计算机网络系统的安全性和保密性带来了前所未有的挑战。事实上 internet存在严重的安全漏洞,2000 年初,黒客大规模袭击雅虎、亚马逊等电子商务网点,网站一度陷入瘫痪;国内新浪、163 等网站也曾遭遇黒客的攻击。据估计,目前 Internet的 600多万台主机大约有半数以上经受着入侵的威胁,这是因为 Internet网络属于公共服务的网络系统,以Unix操作系统为主,任何人都能非常容易地在网络上漫游并实施入侵。原本安全的企业网络连入 Internet后,如不加防范措施,将极易遭受到入侵者的侵犯,造成专有资源的流失甚至网络的瘫痪。由此网络安全问题
8、很现实地摆在我们面前.即网络安全需要能针对各种不同的威胁和脆弱性提供全方位的解决方案,确保网络的保密性、完整性、可行性。迫于这种情况,各大网站、企业纷纷加筑安全的“战壕“,而这个“战壕“就是防火墙。那么到底什么是防火墙?防火墙能干什么?它采用了哪些技术?什么是防火墙?防火墙技术是建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,越来越多地应用于专用网络与公用网络的互联环境之中,尤其以接入 Internet 网络为最甚。在逻辑上,防火墙是隔离器、限制器、分析器,有效地监控了内部网和外部网的任何活动。在物理上,防火墙即可以是单纯的硬件设备路由器、主计算机,也可以是软件产品,还可以是路由器
9、、计算计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙4机和配有软件的网络的组合。防火墙逻辑位置示意图防火墙能干什么? 防火墙是网络安全的屏障 防火墙可以强化网络安全策略 对网络存取和访问进行监控审计 防止内部信息的外泄防火墙有哪些技术?防火墙技术从原理上主要分为三种:信息包过滤技术(Packet filter) 、代理技术(Proxy) 、状态分析技术(Sstateful inspection) 。 包过滤技术分为静态包过滤和动态包过滤技术。静态包过滤技术是根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配。计算机科学学院 2000 级毕业设
10、计 OurFirewall2004 防火墙5静态包过滤技术示意图 动 态 包 过 滤 技 术 是 采 用 动 态 设 置 包 过 滤 规 则 的 方 法 , 对 通 过其 建 立 的 每 一 个 连 接 都 进 行 跟 踪 , 并 且 根 据 需 要 可 动 态 地 在 过 滤规 则 中 增 加 或 更 新 条 目 。动 态 包 过 滤 技 术 示 意 图 代 理 技 术 分 传 统 代 理 技 术 和 自 适 应 代 理 技 术 传 统 代 理 技 术 的 防 火 墙 是 将 代 理 技 术 参 与 到 一 个 TCP 连 接的 全 过 程 。 从 内 部 发 出 的 数 据 包 经 过 这
11、 样 的 防 火 墙 处 理 后 , 就 好象 是 源 于 防 火 墙 外 部 网 卡 一 样 , 从 而 可 以 达 到 隐 藏 内 部 网 结 构 的作 用 。传统代理技术示意图自适应代理技术结合了代理型防火墙的安全性和包过滤防火墙的高速度等优点,在毫不损失安全性的基础上将代理型防火墙的性能提高十倍以上。计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙6传统代理技术示意图 状态检测技术,它克服了包过滤技术和应用代理技术的局限性,状态检测防火墙根据协议、端口及源、目的地址的具体情况决定数据包是否可以通过。对于每个安全策略允许的请求,状态检测防火墙启动相应的进程,可
12、以快速地确认符合授权流通标准的数据包,这使得本身的运行非常快速。这种防火墙的优点是一旦某个访问违反安全规定就会拒绝该访问,并报告有关状态作日志记录。状态监测防火墙的另一个优点是它会监测无连接状态的远程过程调用和用户数据报之类的端口信息,而包过滤和应用网关防火墙都不支持此类应用。 状态检测技术示意图 第一部分:系统说明一、系统简介我们所开发的“OurFireWall2004”防火墙系统是一个基于 TCP/IP协议的网络应用系统,它提供了网络实时监控、数据包过滤、日志记录、安全级别设置等功能,在系统底层、网络层和应用层对系统进行双重保护,有效地保护内部网络,使其免受来自外部的攻击。为个人 PC 提
13、供强有力安全屏、为网络安全的控制提供了重要手段。“OurFirewall2004”采用了包过滤技术,有效地实现了基于 IP地址的过滤、远程以及本地端口的过滤. “OurFirewall2004”能够强制日志记录(LOG) 。由于该防火墙上具有日志服务功能,用户或安全管理员可以监视所有从外部网或互联网的访问,日志记录是全面掌握网络安全状况、衡量防火墙性能和作用的重要手段。“OurFirewall2004”提供不同级别的安全设置。由于不同的对象对安全级别的要求有所不同,本系统为用户提供了四个安全等级。“OurFirewall2004”能够对当前网络与本机的通讯状况进行侦听、监控,由此可分析网络性能
14、、排除网络故障。“OurFirewall2004帮助”能够系统引导用户安装、使用、卸载防火墙,为用户提供便利。二、系统基本功能计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙71、过滤远程 IP、远程端口(remote port) 、本地端口(local port) 包过滤是在网络层对数据包的目标地址、以及包所使用的端口确定是否允许该类数据包通过。如果防火墙设定禁止访问某一 IP或端口的话,从这个 IP地址或端口而来的所有信息都会被防火墙阻断。换句话讲,利用数据包的头信息(源 IP地址、封装协议、端口号等)判定与过滤规则相匹配与否来决定舍取。2、添加需要拦截的 IP
15、、远程端口、本地端口由于一些不良网站、不受欢迎的网络地址(IP)或木马端口(PORT)的存在,用户可根据需要灵活添加过滤规则,来屏蔽网络地址和端口。3、删除 IP、远程端口、本地端口 用户可根据个人需要来取消一些过滤规则。4、记录并显示访问时间、对方 IP、对方端口、本地端口、访问方法。用户可以通过日志来查看和监视所有从外部网或互联网的访问,分析安全隐患,查证攻击来源。5、清除日志用户或网络管理人员将一些繁冗、无分析价值的日志信息删除,以便观察近期日志信息。6、设置安全级别本系统针对不同的对象对网络安全级别的要求有所不同,为用户提供了四个安全等级,用户可根据需要通过滑杆(Slider 控件)灵
16、活设置四个安全级别(由高到低依次为高、中、中低、低。 )以达到不同程度地保护用户安全的目的。高:所有应用程序初次访问网络时都将询问,已经被认可的程序则按照设置的相应规则运作。禁止局域网内部和互联网的机器访问自己提供的网络共享服务(文件、打印机共享服务) ,局域网和互联网上的机器将无法看到本机器。除了是由已经被认可的程序打开的端口,系统会屏蔽掉向外部开放的所有端口。中:安全浏览,具有安全功能,下载潜在的不安全内容之前给予提示,不下载未签名的 ActiveX控件,实用于大多数 internet站点。中低:除了没有提示外,其它和中级安全级基本相同,大多数内容运行时都没有提示,不下载未签名的 Acti
17、veX控件,适用于本地网络(INTERNET)上的站点。低:提供最小的安全措施和警告提示,下载大多数内容且无提示运行,下载大多数内容且无提示运行,可以运行所有所有的活动内容,通用于绝对信任的站点。7、智能警告当安全级别设置为“高”时,系统会出现提醒:计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙8 阻隔 IP 阻隔远程端口 阻隔本地端口 禁止访问当前站点所有内容 允许访问当前站点8、系统默认安全级别设置由于一般用户对计算机网络安全没有概念,也没有较高的要求,默认安全级别是最好的选择。9、局域网内的连接用户可根据需要,选择是否接受局域网内的连接。10、实时监控能够监
18、控本地 tcp通讯端口状态,显示本地主机开放的端口号,远程主机的端口号,远程主机的 IP地址等信息。具体功能如下: 监控远程 IP、远程端口(remote Port) 、本地端口(local port) 监控网络状态第二部分 系统开发环境与工具的选择设计一个系统时,首先需要确定它的开发环境和开发工具,现在网上系统的开发可以采用各种各样的环境和工具,他们相互之间进行比较都有各自的长处,我们对系统开发的环境、工具及底层数据库都进行了仔细的比较,最后确定用以下的开发环境和工具完成本系统的开发:一、开发环境:软件环境:中文 windows98以上环境硬件环境:PC 兼容机 Intel x86至少 32
19、MB RAM,建议 64M至少 4MB磁盘空间,建议 16M二编程工具的选择 在进行系统开发工具的选择时,根据自身对技术的掌握程度以及接受能力,我选择了微软公司开发的 Visual Basic作为主要的开发工具,用它开发系统有如下诸多的好处和特点:1界面设计简单2面向对象编程,比较容易实现3很容易调用 Windows自身的函数4后台存取规则容易5所见即所得 计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙9在开发的过程中,我们还用到的其他的一些软件,如 Photoshop处理一些图片,加载到我们的界面中美化视觉。第三部分 系统设计一系统概要设计通过可行分析,我们确定
20、了系统的可实现性,而通过需求分析后,我们更进一步的明确系统必须实现的功能,接下来要完成的工作就是根据系统的需求分析把要实现的功能结构化,具体化,也就是设计系统的结构,进行模块的划分,确定各个模块的功能,接口。由于时间的关系我们不能很好地完成 Firewall的所有功能,所以该系统在设计之初便定义七个模块,以后再逐步扩展和根据网络的需要逐渐更新,而且几个模块各个部分的实现功能都比较简单: 1、基本功能(见 页系统说明部分的基本功能)2、增强功能21 代理服务: 为其他主机提供 Http,ftp,telnet,代理服务22 用户可以自己选择本地代理服务器的端口号及服务类型:HTTP,FTP,TEL
21、NET等23 实时监控使用此代理服务的客户机的状态:“XX客户机的 XX端口正在跟远程 XX主机的 XX端口建立连接“XX客户机正在跟远程 XX主机 XX端口断开连接“24 用户可以手动停止和开启各种代理服务功能。二系统详细设计我们的设想是需要一套全面的、重要的适合我们自己的的网络安全系统。它根据系统管理者设定的安全规则(Security Rules)把守企业网络,提供强大的、应用选通、信息过滤、流量控制、网络侦听等功能。其他的诸如访问控制虚拟专网(VPN) 、身份认证、虚拟网桥、网络地址转换(Network Address Translation) 、提供完善的安全性设置,通过高性能的网络核
22、心进行访问控制的功能我们决定进一步来实现。我们采用了 VB管理界面,通过直观、易用的界面管理强大、复杂的系统功能。系统采用中国化的设计,界面全中文化,操作简单直接,真的是量身定做。在概要设计中,我们已经粗略分析了本系统的设计,在此我们将详细的分析系统的实现方案,详细设计阶段的任务就是把解法具体化,设计出程序的详细规格说明。开发本系统时可以跟据它有条理的编写程序。在得到了解决方案之后,我们即开始了流程图和功能实现的设计。 1、系统流程图的设计2、功能实现的设计确定系统的流程图后,就要开始着手底层功能实现的设计,只有完成功计算机科学学院 2000 级毕业设计 OurFirewall2004 防火墙
23、10能的架设后才能在以后的编程中对信息的操作有所依据。在进行本系统功能的架设时我们选择的是 VB。因为它使用方便、界面简单且在各方面能满足系统的要求。在进行功能架构时,一般要遵循以下的规则:(1) 尽量减少手动操作次数按钮个数以及功能的分配的选择当然要处于最合理状态,整体功能的实现也要尽量使用户很容易找到所需资源,并且着手操作。(2) 结构设计与操作设计相结合在设计系统时,有时为了编程实现的简洁和思路的清晰,往往故意增加一些代码的冗余。这虽然有悖于传统的编程理论,但是考虑到显示与阻隔的方便,对功能的实现有很大的好处,往往采用这种方法。(3) 使各种信息详尽化管理员要根据日志列表分析有可能是攻击本级计算机的地址,所以我们要在获取信息是使其尽可能的详尽化,当然我们也可以对访问超过一定次数的地址进行记录然后自动阻隔,这样既方便用户,也方便管理员查看。但由于时间的紧迫性作为下一步的目标来实现,在这里仅仅将日至一个不漏的显示出来。(4) 、界面的风格化主界面安全级别界面