编辑: lqwzrs | 2019-09-18 |
20075596 姓名: 胡振科 学院: 软件学院 专业班级: 07软计四班 指导教师:黄文培 设计时间: 2009年12月23号 指导老师评语: 评定成绩:签名:日期: 目录1概述
3 1.
1 课程设计目的
3 1.2 设计任务与要求
3 1.3 开发环境
3 2 系统设计的基本概念与原理
3 2.1 基本概念与知识
3 2.2 系统设计实现的基本原理与过程
3 3 系统的总体设计与分析
3 3.1 系统功能设计
3 3.2 系统架构设计
3 3.3 子系统与模块设计
4 4 系统详细设计与实现
4 5 系统调试与运行
4 5.1 系统安装与部署
4 5.2 系统运行与测试
4 6 课程设计总结
4 1 概述 1.1 课程设计目的
1、通过本题目的设计,加深对面向对象程序设计技术的理解,了解C++编码规范、掌握Windows图形用户界面编程的基本方法.
2、加深对软件工程的理解,训练编写程序的良好习惯.包括:认真编写需求分析文档、做好系统功能设计、学会自己进行程序的算法、数据结构设计、
3、培养良好的程序设计风格(模块划分、接口设计、函数和变量命名规则)和习惯(程序备份、版本更新与控制),提高软件测试、调试的能力与技巧.
4、了解防火墙实现包过滤的基本原理和实现技术,基于已有的包过滤程序,开发一个图形用户界面的防火墙应用程序,实现基于规则的数据包过滤. 通过本次课程设计,应该达到具有独立完成小型应用设计的能力,具备编写较为规范的软件设计文档的能力. 1.2 设计任务与要求 分析防火墙底层实现包过滤的基本原理和技术,说明本题目采取的技术路线;
完成防火墙的总体设计、功能设计和详细设计,绘制系统总体架构图、每个模块、函数的详细设计流程图,完成对每个模块、函数的分析;
给出程序运行、测试的详细结果. 1.3 开发环境 操作系统:Microsoft Windows XP Professional 开发环境:Microsoft Visual Studio 6.0
2 系统设计的基本概念与原理 2.1 基本概念与知识 防火墙的定义 防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合. 它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况, 以此来实现网络的安全保护. 在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动, 保证了内部网络的安全. 防火墙的作用 保护脆弱的服务 通过过滤不安全的服务,Firewall可以极大地提高网络安全和减少子网中主机的风险.例如, Firewall可以禁止NIS、NFS服务通过,Firewall同时可以拒绝源路由和ICMP重定向封包. 控制对系统的访问 Firewall可以提供对系统的访问控制.如允许从外部访问某些主机,同时禁止访问另外的主机.例如, Firewall允许外部访问特定的Mail Server和Web Server. 集中的安全管理 Firewall对企业内部网实现集中的安全管理,在Firewall定义的安全规则可以运行于整个内部网络系统, 而无须在内部网每台机器上分别设立安全策略.Firewall可以定义不同的认证方法, 而不需要在每台机器上分别安装特定的认证软件.外部用户也只需要经过一次认证即可访问内部网. 增强的保密性 使用Firewall可以阻止攻击者获取攻击网络系统的有用信息,如Figer和DNS. 记录和统计网络利用数据以及非法使用数据 Firewall可以记录和统计通过Firewall的网络通讯,提供关于网络使用的统计数据,并且,Firewall可以提供统计数据, 来判断可能的攻击和探测. 策略执行 Firewall提供了制定和执行网络安全策略的手段.未设置Firewall时,网络安全取决于每台主机的用户. 防火墙的主要分类 防火墙总体上分为包过滤、应用级网关和代理服务器等几大类型. 数据包过滤数据包过滤(Packet Filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑, 被称为访问控制表(Access Control Table).通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、 协议状态等因素,或它们的组合来确定是否允许该数据包通过. 数据包过滤防火墙逻辑简单,价格便宜,易于安装和使用, 网络性能和透明性好,它通常安装在路由器上.路由器是内部网络与Internet连接必不可少的设备, 因此在原有网络上增加这样的防火墙几乎不需要任何额外的费用. 数据包过滤防火墙的缺点有二:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击;
二是数据包的源地址、目的地址以及IP的端口号都在数据包的头部,很有可能被窃听或假冒. 应用级网关应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能. 它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、 登记和统计,形成报告.实际中的应用网关通常安装在专用工作站系统上. 数据包过滤和应用网关防火墙有一个共同的特点,就是它们仅仅依靠特定的逻辑判定是否允许数据包通过. 一旦满足逻辑,则防火墙内外的计算机系统建立直接联系, 防火墙外部的用户便有可能直接了解防火墙内部的网络结构和运行状态,这有利于实施非法访问和攻击. 代理服务代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or TCP Tunnels), 也有人将它归于应用级网关一类.它是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术, 其特点是将所有跨越防火墙的网络通信链路分为两段.防火墙内外计算机系统间应用层的 链接 , 由两个终止代理服务器上的 链接 来实现,外部计算机的网络链路只能到达代理服务器, 从而起到了隔离防火墙内外计算机系统的作用.此外,代理服务也对过往的数据包进行分析、注册登记, 形成报告,同时当发现被攻击迹象时会向网络管理员发出警报,并保留攻击痕迹. 2.2 系统设计实现的基本原理与过程 基本原理: 所有基于Windows操作系统的个人防火墙核心技术点在于Windows操作系统下网络数据包拦截技术.总的来说,要拦截Windows下的网络数据包可以在两个层面进行:用户态(user-mode)和内核态(kernel-mode). 在用户态下进行网络数据包拦截有以下几种方法: 1) Winsock Layered Service Provider (LSP) 2) Windows
2000 包过滤接口 3) 替换系统自带的WINSOCK动态连接库 在用户态下进行数据包拦截最致命的缺点就是只能在Winsock层次上进行,而对于网络协议栈中底层协议的数据包无法进行处理.对于一些木马和病毒来说很容易避开这个层次的防火墙.在内核态下........