本设计是使用Win2000 DDK中提供的Filter-Hook Driver来实现数据包的过滤。过滤钩子驱动程序是一个用于过滤网络包的核心模式驱动程序,它扩展了系统提供的IP过滤驱动程序的功能。
过滤钩子驱动程序完成一个过滤钩子回调函数并在系统提供的IP过滤驱动程序中注册这个回调函数。这个回调函数被看作一个过滤钩子。当有数据包需要通过时,IP过滤驱动程序会调用这个过滤钩子以决定怎样处理到达和输出的包。
2 相关理论技术基础
2.1.1 防火墙简介
Internet的发展给政府,企事业单位带来了革命性的改革和开放,也给个人的工作和生活带了前所未有的改变。人们享受着互连网带来的种种方便,同时也面临着Internet的开放带来的关于数据安全的新挑战和新危险:企事业单位商业机密的泄露,个人隐私以及私秘信息的窃取。这就需要人们给网络加一道安全之门,而这道门的重要守护者就是防火墙。
防火墙是指设置在不同网络或者网络安全域之间的一系列部件的组合。它是不同网络或者网络安全域之间的唯一出口,所有进出这出口的访问都得经过它的审核。用户可以根据自己的情况来设置访问规则实现对所有访问的控制,用来达到对安全的保证。
在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器。它有效地监控了内部网络与外部网络之间的所有活动,其基本目的是阻止未被邀请的客户进入内部网络,保证了内部网络的安全。
2.1.2防火墙分类
根据对限制传输机制的不同,把防火墙大致分成以下三种:封包过滤、代理服务器和应用程序网关:
1.包过滤防火墙截获网络上的所有传输信息,这些信息都是以包的形式进行传输的,数据包中包含发送方的IP地址,接收方的IP地址,端口,链路状态等信息。防火墙的工作就是把这些信息读取出来,再根据用户自定义的规则来进行过滤。那些不符合规则的数据包将被过滤掉,以保证网络的安全。
2.代理服务器接收客户请求后会检查验证其合法性,如果合法,代理服务器向一台客户机取回所需的信息在转发给客户。它将内部系统与外界隔离开来,从外面只能看到代理服务器而看不到任何内部资源。代理服务器只允许有代理的服务通过,而其他所有服务都完全被封锁住。这一点对系统安全是非常重要的,只有那些被认为“可信赖的”服务才允许通过防火墙。另外代理服务还可以过滤协议,如可以过滤FTP连接,拒绝使用FTP put(放置)命令,以保证用户不能将文件写到匿名服务器。代理服务器具有信息隐藏,保证有效的认证和登陆,简化了过滤规则等优点。网络地址转换服务可以屏蔽内部网络的IP地址,使网络结构对外部来讲是不可见的。