计算机网络安全中的防火墙技术和端口扫描技术毕业设计.docx
《计算机网络安全中的防火墙技术和端口扫描技术毕业设计.docx》由会员分享,可在线阅读,更多相关《计算机网络安全中的防火墙技术和端口扫描技术毕业设计.docx(33页珍藏版)》请在冰豆网上搜索。
![计算机网络安全中的防火墙技术和端口扫描技术毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-4/28/e5903c65-58c7-4df1-9b90-60aa045a094b/e5903c65-58c7-4df1-9b90-60aa045a094b1.gif)
计算机网络安全中的防火墙技术和端口扫描技术毕业设计
计算机网络安全中防火墙技术和端口
扫描技术
摘要
进入21世纪,随着Internet的发展,以Internet为平台的信息技术进入了新的时代,而网络安全技术作为网络技术中的重要组成部分也迎来了新的挑战。
网络安全技术是伴随着网络的诞生而出现的,90年代在国外获得了飞速的发展,近几年频繁出现的安全事故引起了各国计算机安全界的高度重视,计算机网络安全技术也因此出现了日新月异的变化。
本文主要针对计算机网络安全中的各种技术作了初步探讨,特别是防火墙技术和端口扫描技术。
并在相关理论的指导下自行开发了一个由本地监视,端口扫描,Ping主机等功能组成的程序。
此程序是在VB6.0的环境下开发的,主要应用了WINDOWS操作系统下的网络编程接口和VB6.0里的Winsock控件,程序中调用了大量的WINDOWSAPI。
在文中具体描述了实现过程中采用的有关的技术,并给出了程序中的各个功能模块以及设计思路和重要代码。
关键词:
网络安全端口扫描防火墙网络协议WINSOCKWINDOWSAPI
TheTechnologyOfFirewallandPorts-scan
inComputerNetworkSecurity
Abstract:
Entering21stcentury,withthedevelopmentofInternet,TheinformationtechnologytakingInternetasplatformenterednewera,andnetworksafepracticemeetandbringthenewchallengeasimportantcomponentofnetworktechnologytoo,Thetechnologyofnetworksecurityhascomeforthwiththenetworkborn.Itdevelopedrapidlyoverseasinthe1990’s.Thesecureaccidentcamerecentlycausedtobeplacedimportancebycomputesecurefiled.Sothetechnologyofnetworksecurityhastakenanewlook.Thispapermainlydiscussesallkindsoftechnologyofnetworksecurityatfirst,especiallyaboutthetechnologyoffirewallandports-scan.BasedoncorrelativetheoryIdevelopsasimpleprogramaboutlocallistening,ports-scan,PingHost-computer.thisProceduredevelopundertheenvironmentofVB6.0,UseWINDOWSnetworkprogramminginterfaceandWinsockcontrollingpartofVB6.0ofoperatingsystemmainly,havetransferedalargeamountofWINDOWSAPIsintheprocedure.Relevanttechnologyadoptedinthecourseofdescribeddingandrealizesconcretlyinthearticle,andprovideeachfunctionmoduleandthementalityofdesigningandimportantcodeintheprocedure.
Keywords:
Networksecurity;Ports-Scan;Firewall;NetworkProtocol;Winsock;WindowsAPI
1前言
进入21世纪,随着Internet的发展,以Internet为平台的信息技术进入了新的时代,人们在享受网络给人们带来便利的同时,也在为越来越多的入侵,病毒等而烦恼。
网络的安全问题日渐突出而且情况也越来越复杂,网络安全问题已威胁到国家的政治,经济,军事,文化,意识形态等领域[1]。
网络安全技术是伴随着网络的诞生而出现的,但直到80年代末才引起关注,90年代在国外获得了飞速的发展。
网络安全需要“攻、防、测、控、管、评”等多方面的基础理论和实施技术。
国际上网络安全研究起步早,力度大、积累多、应用广。
80年代,美国国防部基于军事计算机系统的保密需要,在70年代的基础理论研究成果计算机保密模型(Bell&Lapadula模型)的基础上,制订了“可信计算机系统安全评价准则”(TCSEC),随后又制订了关于网络系统、数据库等方面的系列安全解释,形成了安全信息系统体系结构的最早原则。
至今美国已研究出达到TCSEC要求安全系统(包括安全操作系统、安全数据库、安全网络部件)的产品多达100多种。
网络安全技术真正出现在中国始于20世纪90年代中后期,经过四到五年的发展以及融合国际先进的技术,在一定的程度上安全技术已趋向于成熟。
然而网络的安全技术一直处于"滞后"状态,这里所说的"滞后",只是针对于"黑客"技术而言,也就是说新的"黑客"技术的出现之后才有相应的安全技术。
所以相比而言,中国的计算机网络的安全水平和管理水平不高(除了一些重要的部门外),网络建立时安全方面的问题考虑得较少,投资也少,而对那些拥有大量敏感信息和机密的部门来说,又不宜直接采用国外现有的网络安全技术与产品,因而研制自己的网络安全技术和产品,增强全民的网络安全意识都势在必行[3]。
互联网已经日渐融入到人类社会的各个方面中,网络防护与网络攻击之间的斗争也将更加激烈。
这就对网络安全技术提出了更高的要求。
未来的网络安全技术将会涉及到计算机网络的各个层次中。
2网络协议与网络安全中的主要技术简介
2.1网络协议
2.1.1TCP/IP协议
TCP/IP协议指的是传输控制协议(TCP)和互联网协议(IP),它们是两个用在因特网上的网络协议(或数据传输的方法)。
这两个协议属于众多的TCP/IP协议族中的一部分[2]。
TCP/IP协议层次结构模型如图2-1所示:
图2-1TCP/IP协议层结构模型
TCP/IP协议组中的协议保证因特网上的数据的传输,提供了几乎上网所用的所有服务。
TCP/IP通过使用协议栈工作。
这个栈是所有用来在两台机器间完成一个传输的所有协议的集合。
2.1.2PPTP协议
点到点隧道协议(PPTP)是由PPTP论坛开发的点到点的安全隧道协议,为使用电话上网的用户提供安全VPN业务,1996年成为IETF草案。
PPTP是PPP协议的一种扩展,提供了在IP网上建立多协议的安全VPN的通信方式,远端用户能够通过任何支持PPTP的ISP访问企业的专用网络。
PPTP提供PPTP客户机和PPTP服务器之间的保密通信[2]。
PPTP客户机是指运行该协议的PC机,PPTP服务器是指运行该协议的服务器。
通过PPTP,客户可以采用拨号方式接入公共的IP网。
拨号客户首先按常规方式拨号到ISP的接入服务器(NAS),建立PPP连接;在此基础上,客户进行二次拨号建立到PPTP服务器的连接,该连接称为PPTP隧道,实质上是基于IP协议的另一个PPP连接,其中IP包可以封装多种协议数据,包括TCP/IP,IPX和NetBEUI。
对于直接连接到IP网的客户则不需要第一次的PPP拨号连接,可以直接与PPTP服务器建立虚拟通路。
2.1.3L2F协议
L2F(Layer2Forwarding)是由Cisco公司提出的,可以在多种介质(如ATM、帧中继、IP)上建立多协议的安全VPN的通信方式。
它将链路层的协议(如HDLC、PPP、ASYNC等)封装起来传送,因此网络的链路层完全独立于用户的链路层协议。
L2F远端用户能够通过任何拨号方式接入公共IP网络。
首先,按常规方式拨号到ISP的接人服务器(NAS),建立PPP连接;NAS根据用户名等信息发起第二次连接,呼叫用户网络的服务器。
这种方式下,隧道的配置和建立对用户是完全透明的。
L2F允许拨号服务器发送PPP帧,并通过WAN连接到L2F服务器[5]。
L2F服务器将包去封装后,把它们接入到企业自己的网络中。
与PPTP和PPP所不同的是,L2F没有定义客户。
2.1.4L2TP协议
L2TP结合了L2F和PPTP的优点,可以让用户从客户端或接人服务器端发起VPN连接。
L2TP定义了利用公共网络设施封装传输链路层PPP帧的方法。
目前用户拨号访问因特网时,必须使用IP协议,并且其动态得到的IP地址也是合法的。
L2TP的好处就在于支持多种协议,用户可以保留原来的IPX、AppleTalk等协议或企业原有的IP地址,企业在原来非IP网上的投资不致于浪费[7]。
另外,L2TP还解决了多个PPP链路的捆绑问题。
L2TP主要由LAC(接入集中器)和LNS(L2TP网络服务器)构成。
LAC支持客户端的L2TP,用于发起呼叫,接收呼叫和建立隧道。
LNS是所有隧道的终点。
在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸到LNS。
在安全性考虑上,L2TP仅仅定义了控制包的加密传输方式,对传输中的数据并不加密。
因此,L2TP并不能满足用户对安全性的需求。
如果需要安全的VPN,则依然需要IPSec协议。
2.1.5IPSec协议
利用隧道方式来实现VPN时,除了要充分考虑隧道的建立及其工作过程之外,另外一个重要的问题是隧道的安全。
第二层隧道协议只能保证在隧道发生端及终止端进行认证及加密,而隧道在公网的传输过程中并不能完全保证安全。
IPSec加密技术则是在隧道外面再封装,保证了隧道在传输过程中的安全性。
IPSec可用两种方式对数据流进行加密:
隧道方式和传输方式。
隧道方式对整个IP包进行加密,使用一个新的IPSec包打包。
这种隧道协议是在IP上进行的,因此不支持多协议。
传输方式时,IP包的地址部分不处理,仅对数据净荷进行加密[10]。
2.1.6GRE协议
通用路由协议封装(GRE),GRE规定了如何用一种网络协议去封装另一种网络协议的方法。
GRE的隧道由两端的源IP地址和目的IP地址来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。
通过GRE,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互连,或者对公网隐藏企业网的IP地址。
GER只提供了数据包的封装,并没有加密功能来防止网络侦听和攻击,所以在实际环境中经常与IPSec在一起使用,由IPSec提供用户数据的加密,从而给用户提供更好的安全性。
2.1.7SSL协议
Securesocketlayer(SSL)协议最初由Netscape企业发展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。
它能够对信用卡和个人信息提供较强的保护。
SSL是对计算机之间整个会话进行加密的协议。
在SSL中,采用了公开密钥和私有密钥两种加密方法,主要用于提高应用程序之间的数据的安全系数。
SSL协议的整个要领可以被总结为:
一个保证任何安装了安全套接层的客户和服务器间事务安全的协议,它涉及所有TCP/IP应用程序。
SSL是对计算机之间整个会话进行加密的协议[13]。
在SSL中,采用了公开密钥和私有密钥两种加密方法。
2.2网络安全中的主要技术
2.2.1防火墙技术
防火墙有许许多多种形式,有以软件形式运行在普通计算机之上的,也有以固件形式设计在路由器之中的。
还有专业的硬件防火墙。
防火墙发展史如图2-2所示:
图2-2防火墙发展史
2.2.1.1包过滤防火墙
在互联网这样的TCP/IP网络上,所有往来的信息都被分割成许许多多一定长度的信息包,包中包含发送者的IP地址和接收者的IP地址信息。
当这些信息包被送上互联网络时,路由器会读取接收者的IP并选择一条合适的物理线路发送出去,信息包可能经由不同的路线抵达目的地,当所有的包抵达目的地后会重新组装还原。
包过滤式的防火墙会检查所有通过的信息包中的IP地址,并按照系统管理员所给定的过滤规则进行过滤[15]。
如果对防火墙设定某一IP地址的站点为不适宜访问的话,从这个地址来的所有信息都会被防火墙屏蔽掉。
包过滤防火墙的优点是它对于用户来说是透明的,处理速度快而且易于维护,通常做为第一道防线。
包过滤路由器通常没有用户的使用记录,这样就不能得到入侵者的攻击记录。
而攻破一个单纯的包过滤式防火墙对黑客来说还是有办法的。
"IP地址欺骗"是黑客比较常用的一种攻击手段。
黑客们向包过滤式防火墙发出一系列信息包,这些包中的IP地址已经被替换为一串顺序的IP地址,一旦有一个包通过了防火墙,黑客便可以用这个IP地址来伪装他们发出的信息;在另一种情况下黑客们使用一种他们自己编制的路由攻击程序,这种程序使用动态路由协议来发送伪造的路由信息,这样所有的信息包都会被重新路由到一个入侵者所指定的特别地址;破坏这种防火墙的另一种方法被称之为"同步风暴",这实际上是一种网络炸弹。
攻击者向被攻击的计算机发出许许多多个虚假的"同步请求"信息包,目标计算机响应了这种信息包后会等待请求发出者的应答,而攻击者却不做任何的响应。
如果服务器在一定时间里没有收到响应信号的话就会结束这次请求连接,但是当服务器在遇到成千上万个虚假请求时,它便没有能力来处理正常的用户服务请求,处于这种攻势下的服务器表现为性能下降,服务响应时间变长,严重时服务器完全停止甚至死机。
图2-3,2-4分别显示了静态包过滤防火墙和动态包过滤防火在OSI七层模型中的位。
图2-3静态包过滤防火墙
图2-4动态包过滤防火墙
2.2.1.2状态监测防火墙
这种防火墙具有非常好的安全特性,它使用了一个在网关上执行网络安全策略的软件模块,称之为监测引擎。
监测引擎在不影响网络正常运行的前提下,采用抽取有关数据的方法对网络通信的各层实施监测,抽取状态信息,并动态地保存起来作为以后执行安全策略的参考。
监测引擎支持多种协议和应用程序,并可以很容易地实现应用和服务的扩充。
当用户访问请求到达网关的操作系统前,状态监视器要抽取有关数据进行分析,结合网络配置和安全规定作出接纳、拒绝、身份认证、报警或给该通信加密等处理动作。
一旦某个访问违反安全规定,就会拒绝该访问,并报告有关状态作日志记录。
状态监测防火墙的另一个优点是它会监测无连接状态的远程过程调用(RPC)和用户数据报(UDP)之类的端口信息,而包过滤和应用网关防火墙都不支持此类应用。
这种防火墙无疑是非常坚固的,但它会降低网络的速度,而且配置也比较复杂。
2.2.1.3代理服务器防火墙
代理服务器作用于应用层,它用来提供应用层服务的控制,起到内部网络向外部网络申请服务时中间转接作用。
内部网络只接受代理提出的服务请求,拒绝外部网络的其他接点直接请求。
具体地说,代理服务器是运行在防火墙主机上的专门的应用程序或者服务器程序,防火墙主机可以是具体有一个内部网络接口和一个外部网络接口的双重宿主主机,也可以是一些可以访问Internet并被内部主机访问的堡垒主机。
这些程序接受用户对Internet服务的请求(如FTP,Telnet等),并按照一定的安全策略转发它们到实际的服务,代理提供代替连接并且充当服务的网关[14]。
图2-3显示了包过滤防火墙和代理防火墙的优缺点。
图2-3包过滤防火墙和代理防火墙的比较
2.2.1.4屏蔽主机防火墙
屏蔽主机防火墙强迫所有的外部主机与一个堡垒主机相连接,而不让它们直接与内部主机相连,屏蔽主机防火墙由包过滤路由器和堡垒主机组成。
这个防火墙系统提供的安全等级比包过滤防火墙系统要高,因为它实现了网络层安全(包过滤)和应用层安全(代理服务)。
所以入侵者在破坏内部网的安全性之前,必须首先渗透两种不同的安全系统,堡垒主机配置在内部网络上,而包过滤路由器则放置在内部和因特网之间。
在路由器上进行规则配置,使得外部系统只能访问堡垒主机,去往内部系统上其他主机的信息全部被阻塞。
由于内部主机与堡垒主机处于同一个网络,内部系统是否允许直接访问因特网,或者是要求使用堡垒主机上的代理服务来访问因特网由机构的安全策略来决定。
对路由器的过滤规则进行配置,使得其只接受来自堡垒主机的内部数据包,就可以强制内部用户使用代理服务,在采用屏蔽主机防火墙的情况下,过滤路由器是否正确配置是这种防火墙安全与否的关键,所以过滤路由器的路由表应当受到严格的保护,如果路由表遭到破坏,则数据包就不会被路由到堡垒主机上,使堡垒主机被越过。
屏蔽主机防火墙的实现过程如图2-4所示。
图2-4屏蔽主机防火墙
2.2.1.5双宿网关防火墙
双宿网关防火墙又称双重宿主主机防火墙,双宿网关是一种拥有两个连接到不同网络上的网络接口的防火墙,例如,一个网络接口连到外部的不可信任的网络上,另一个接口网络连接到内部的可信任的网络上。
这种防火墙的最大特点是IP层的通信是被阻止的,两个网络之间的通信可通过应用层数据共享或应用层代理服务来完成。
双宿网关防火墙的实现过程如图2-5所示[15]。
图2-5双宿网关防火墙
2.2.2文件加密和数字签名技术
与防火墙配合使用的安全技术还有文件加密与数字签名技术,它是为提高信息系统及数据的安全性和保密性,防止秘密数据被外部窃取、侦听或破坏所采用的主要技术手段之一。
随着信息技术的发展,网络安全与信息保密日益引起人们的关注。
目前各国除了从法律上、管理上加强数据的安全保护外,从技术上分别在软件和硬件两方面采取措施,推动着数据加密技术和物理防范技术的不断发展。
按作用不同,文件加密和数字签名技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。
2.2.2.1数据传输加密技术
目的是对传输中的数据流加密,常用的方针有线路加密和端对端加密两种。
前者侧重在线路上而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。
后者则指信息由发送者端通过专用的加密软件,采用某种加密技术对所发送文件进行加密,把明文(也即原文)加密成密文(加密后的文件,这些文件内容是一些看不懂的代码),然后进入TCP/IP数据包封装穿过互联网,当这些信息一旦到达目的地,将由收件人运用相应的密钥进行解密,使密文恢复成为可读数据明文。
目前最常用的加密技术有对称加密技术和非对称加密技术,对称加密技术是指同时运用一个密钥进行加密和解密,非对称加密方式就是加密和解密所用的密钥不一样,它有一对密钥,称为“公钥”和“私钥”两个,这两上密钥必须配对使用,也就是说用公钥加密的文件必须用相应人的么钥才能解密,反之亦然。
2.2.2.2数据存储加密技术
这种加密技术的目的是防止在存储环节上的数据失密,可分为密文存储和存取控制两种。
前者一般是通过加密法转换、附加密码、加密模块等方法实现。
它不仅可以为互联网上通信的文件进行加密和数字签名,还可以对本地硬盘文件资料进行加密,防止非法访问。
这种加密方式不同于OFFICE文档中的密码保护,用加密软件加密的文件在解密前内容都会作一下代码转换,把原来普通的数据转变成一堆看不懂的代码,这样就保护了原文件不被非法阅读、修改。
后者则是对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据,这种技术主要应用于NT系统和一些网络操作系统中,在系统中可以对不同工作组的用户赋予相应的权限以达到保护重要数据不被非法访问[13]。
2.2.2.3数据完整性鉴别技术
数据完整性鉴别技术的目的是对介入信息的传送、存取、处理的人的身份和相关数据内容进行验证,达到保密的要求。
一般包括口令、密钥、身份、数据等项的鉴别,系统通过对比验证对象输入的特征值是否符合预先设定的参数,实现对数据的安全保护。
这种鉴别技术主要应用于大型的数据库管理系统中,因为一个单位的数据通常是一个单位的命脉,所以保护好公司数据库的安全通常是一个单位网管、甚至到领导的最重要的责任[11]。
数据库系统会根据不同用户设置不同访问权限,并对其身份及权限的完整性进行严格识别。
2.2.2.4密钥管理技术
数据的加密技术通常是运用密钥对数据进行加密,这就涉及了一个密钥的管理问题。
因为用加密软件进行加密时所用的密钥通常不是平常所用的密码那么仅几位,至多十几位数字或字母,一般情况这种密钥达64bit,有的达到128bit,一般不可能完全用脑来记住这些密钥,只能保存在一个安全的地方,所以这就涉及到了密钥的管理技术。
密钥的保存媒体通常有:
磁卡、磁带、磁盘、半导体存储器或IC卡中等,但这些都可能有损坏或丢失的危险。
所以现在的主流加密软件都采取第三方认证(这第三方可以是个人,也可以是公证机关)或采用随机密钥来弥补人们记忆上的不足,还是如PGP加密软件,不过现在的WIN2K系统以及其它一些加密软件都在慢慢地往这个方向发展。
2.2.3杀毒软件技术
杀毒软件肯定是人们见的最多,也用得最为普遍的安全技术方案,因为这种技术实现起来最为简单。
但人们都知道杀毒软件的主要功能就是杀毒,功能十分有限,不能完全满足网络安全的需要。
这种方式对于个人用户或小企业或许还能满足需要,但如果个人或企业有电子商务方面的需求,就不能完全满足了。
可喜的是随着杀毒软件技术的不断发展,现在的主流杀毒软件同时对预防木马及其它的一些黑客程序的入侵。
还有的杀毒软件开发商同时提供了软件防火墙,具有了一定防火墙功能,在一定程度上能起到硬件防火墙的功效,如KV300、金山防火墙、Norton防火墙等。
3计算机网络攻击中端口扫描技术
3.1端口扫描
根据计算机提供服务类型的不同,端口也分为了两大类,一种是TCP端口,另一种是UDP端口。
而计算机间相互通信也分为两大类,一种是发送方发送信息后需要接受方响应这个信息并给与应答,及有应答方式;另一种则是发送方在发送信息后不去理会接受方是否收到信息,及无应答方式。
这两种计算机通讯方式与上边的两大类端口一一对应,即有应答(TCP端口)与无应答(UDP端口)。
而端口扫描有如下几种方式:
(1)对某一特定端口进行指定IP段的检测,以了解该端口在该域段的使用情况。
通常使用这种扫描方式是在没有指定目标而针对某一已知存在漏洞的服务所进行的整域段的搜索。
(2)对某一特定主机进行全端口或指定端口区间的检测以了解该主机的端口使用情况。
通常使用这种扫描方式是在指定目标的前提下,对目标主机服务开放情况进行的检测分析,这将有助于尽快了解目标主机,并展开入侵。
(3)前两者的综合。
通常进行这种扫描也是盲目的,没有具体攻击目标。
3.2常用的端口扫描技术介绍
扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标给予的回答,通过这种方法,可以搜集到很多关于目标主机的各种有用的信息。
3.2.1TCP/IP相关问题
(1)连接端及标记
IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。
为了获得TCP
服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。
TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。
连接端互相发送数据包。
一个TCP
数