基于路由交换 VPN技术的网络安全问题.docx
《基于路由交换 VPN技术的网络安全问题.docx》由会员分享,可在线阅读,更多相关《基于路由交换 VPN技术的网络安全问题.docx(77页珍藏版)》请在冰豆网上搜索。
基于路由交换VPN技术的网络安全问题
基于路由交换、VPN技术的网络安全问题研究2
1.研究背景2
2.路由安全3
2.1密码安全3
2.2限制远程访问4
2.3日志记录5
2.4禁用不需要的服务或端口6
2.5加强路由协议的安全7
2.5.1RIP认证7
2.5.2OSPF协议验证8
2.5.3BGP协议验证10
2.6控制和过滤网络流量11
3.交换机安全12
3.1二层攻击的分类12
3.1.1MAC层攻击极其防御13
3.1.2VLAN跳转攻击极其防御15
3.1.3欺骗攻击极其防御18
3.1.4ARP欺骗攻击20
3.2网络交换机的安全21
3.2.1交换机访问的安全21
4.VPN(虚拟私有网)技术22
4.1VPN安全性22
4.2隧道技术24
4.2.1数据在隧道中的传输24
4.2.2IPSec技术25
5.实验部分26
实验
(一)路由器、交换机密码恢复实验26
实验
(二)使用SSH构建安全通信通道实验31
实验(三)实现VPN的实验36
实验(四)路由交换综合实验48
参考文献65
基于路由交换、VPN技术的网络安全问题研究
1.研究背景
在网络的管理和实施中,网络安全变得越来越重要。
企业需要开放网络来获取商机,同时,企业也需要保护私有的、个人的和战略性的商业信息。
随着计算机网络规模越来愈大,在工作和生活中发挥着极其重要的作用。
如果网络安全受到威胁,后果可能非常严重,如泄露隐私、信息被窃,甚至还会带来法律责任。
一些潜在威胁始终不断发展变化,这使网络安全变得更有挑战性。
在电子商务和互联网快速增长的今天,寻找网络孤立和开放两者之间的平衡时至关重要的。
路由器、交换机是网络基础骨干节点,这些节点设备只是单纯的为网络发送、接收数据,而不用像服务器那样对普通用户提供各项服务,普通用户在使用网络时,根本就不会感到这些设备的存在。
因此,相对于服务器来说,其被攻击的可能性将大大降低。
但在智能型交换机及路由器中,为了方便管理员对设备远程管理,常会在设备中通过HTTP、SNMP、TELNET等服务实现远程管理功能。
这些服务如果被攻击者所利用,控制或瘫痪路由器、交换机,将使网络面临被控制或瘫痪的危险。
因此,网络管理人员在使用这些管理功能时,必须深入了解这些功能的优缺点,在做好安全防护基础上,使用这些管理功能。
至于虚拟专用网(VPN)技术,是用来解决企业内部网络安全的问题。
互联网是一个世界性的网络,由于其全球性,它已经成为一种受欢迎的互联远程站点的方式。
然而,Internet是一个公共的网络,企业通过Internet来连接远程站点和传输数据,容易对企业内部网络构成安全威胁。
而VPN技术能够让企业在互联网的基础上创建私有网络来提供机密性和安全性。
2.路由安全
路由器在每个网络中起到关键的作用,如果一路由器被破坏或者一路由被成功的欺骗,网络的完整性将受到严重的破坏,如果使用路由的主机没有使用加密通信那就更为严重,因为这样的主机被控制的话,将存在着中间人(man-in-the-middle)攻击,拒绝服务攻击,数据丢失,网络整体性破坏,和信息被嗅探等攻击。
所以在任何网络系统安全部署中,路由器的安全都是一个关键要素。
路由器在网络中主要执行通告网络,提供不同网络间的互访,并控制网络间访问的功能,往往是网络攻击的目标。
因此,在网络安全管理上,必须对路由器进行合理规划和配置,采取必要的安全防护措施,避免因路由器的安全问题给整个网络系统带来漏洞和风险。
路由器经常会受到各种各样的的攻击,网络管理员很难用单一的方法来防范各种攻击,必须使用一定的安全防御策略来加强路由器的安全,这些策略主要包括:
加强路由器的密码安全、限制远程访问、记录日志、禁用有弱点的服务和不使用的端口、加强路由协议的安全、控制和过滤网络流量等。
2.1密码安全
对路由器最直接的攻击方法就是获取路由器的密码。
保护路由器密码安全的方法主要有:
(1)设置一个尽量复杂的密码;
(2)对配置文件中的密码实行加密,使其在网络中以密文形式传输;
(3)对enable密码使用“enablesecret”,而不要使用“enablepassword”;
(4)限制密码的最小长度,如使用配置命令“router(config)#securitypasswordmin-length10”,把密码的最小长度限制到10位;
(5)加强密码的存放安全;
(6)加强对路由器存放位置的保护,不允许外人随便接触,一面他们使用路由器的密码恢复技术来重置路由器密码。
2.2限制远程访问
攻击者可以尝试使用暴力破解密码来获取路由器远程登录的密码,或使用密码嗅探工具来捕获他人的明文密码,这样就可以以“中间人”的身份对路由器进行攻击。
可以用以下两种方法来限制对路由器的远程访问和密码泄露:
1.限制对VTY终端的访问
在默认状态下,路由器允许来自所有IP地址的远程登录。
这是网络管理员可以使用配置命令来控制只有合法用户才能远程登录路由器,如限制只有网络管理员才可以远程登录路由器,则配置命令如下:
Router(config)#access-list1permit192.168.1.1
Router(config)#linevty04
Router(config-line)#access-class1in
2.尽量使用SSH代替Telnet
由于Telnet使用的是明文密码,在网络上传输是非常不安全的,尤其是跨越Internet的访问,所以,对网络的远程访问可用SSH技术,通过使用SSH技术,可以对所有的传输的数据进行加密,这样“中间人”的攻击的范式就不可能实现了,捕获的数据包也是RSA加密后的数据包。
使用SSH要进行服务器端和客户端配置。
配置SSH服务器端的步骤一般主要包括:
配置路由器的名字(路由器的默认名字一定要改变)、配置路由器的域名(必须配置)、产生非对称密钥、配置VTY用户使用SSH方式验证、调整SSH。
(1)配置路由器的名字命令如下:
Router(config)#hostR1
(2)配置路由器的域名命令如下:
R1(config)#ipdomain-name
(3)产生非对称密钥使用命令“cryptokeygeneratersa”,产生的密钥名字是R。
然后可选择密钥的长度,这里选1024。
稍后会显示“SSH1.99hasbeenenabled”,表示路由器现在可以支持SSH了。
密钥的产生、密钥位数选择、路由器提示符如下:
R1(config)#cryptokeygeneratersa
Thenameforthekeyswillbe:
R
Choosethesizeofthekeymodulusintherangeof360to2048foryour
GeneralPurposeKeys.Choosingakeymodulusgreaterthan512maytake
afewminutes.
Howmanybitsinthemodulus[512]:
1024
%Generating1024bitRSAkeys,keyswillbenon-exportable...[OK]
R1(config)#
*?
?
10:
38:
58.855:
%SSH-5-ENABLED:
SSH1.99hasbeenenabled
(4)配置VTY用户使用SSH方式验证的命令如下:
R1(config)#usernamewhutsecretwhut.xxxy2011创建一个用户whut,使用加密的密码whut.xxxy2011。
R1(config)#linevty04
R1(config-line)#transportinputssh允许使用SSH登录,其它方式禁止
R1(config-line)#loginlocal
(5)调整SSH的命令:
R1(config)#ipsshtime-out15//设置SSH窗口的超时时间。
如提示输入密码,若果用户在15秒内未输入,则认为已经超时,需刷新后重新输入
R1(config)#ipsshauthentication-retries3//每次SSH连续允许尝试的次数,三次登录失败后,需再次连接SSH
2.3日志记录
日志可以用来验证路由器工作是否正常,也可以用来判断路由器是否受到威胁。
在某些场合,日志还能显示路由器或受保护的网络受到的攻击或探测。
虚拟终端默认是关闭监控的,登录远程终端后,可以使用下面的命令打开终端监控功能:
Router#terminalmonitor
关闭终端监控功能的命令是:
Router#terminalnomonitor
打开日志消息和关闭日志消息的命令分别是“loggingon”、“nologgingon”。
配置日志缓存功能的命令是:
Router(config)#loggingbufferedinformational
Loggingbuffered可以把日志消息发送到缓存中,informational是发送日志消息的级别。
为了便于查看时间发生的时间,一般使用下面的命令把日志消息打上时间戳:
Router(config)#servicetimestampsdebugdatatimemsec//对debug消息打上时间戳,时间精确到毫秒
Router(config)#servicetimestampslogdatatimemec//对log消息打上时间戳
可以使用“showlogging”命令查看缓存中的记录。
但路由器的缓存空间毕竟有限,且断电或重启后,缓存中的所有日志都会丢失。
故可以配置一台专门的日志服务器,把路由器或交换机的日志发送到日志服务器。
2.4禁用不需要的服务或端口
现在市场上的的思科路由器支持大量的服务,如CDP、TCPsmallservers、UDPsmallservers、Finger、HTTPserver、ProxyARP、IPdirectedbroadcast等。
然而,在实际网络应用中,大量的服务是不需要的,如果开启所有服务,将给路由器带来资源浪费,并可能引起攻击,给路由器带来安全隐患。
所以关闭这些服务是非常必要的,通常实在配置这些路由器时,使用一些命令就可达到关闭特定服务的效果,比如使用命令“nocdprun”就可关闭CDP协议,使用“noiphttpserver”命令关闭HTTP服务。
对于那些确实需要的服务进行严格的用户身份认证,可以使用安全的SNMP管理方案配置和监控路由器。
SNMPV1在穿越公网的管理应用方面,安全性低,不适合使用。
利用访问控制列表仅仅允许来自特定工作站的SNMP访问,通过这一功能可以提升SNMP服务的安全性能。
SNMPV2使用MD5数字身份鉴别方式,不同的路由器设备配置不同的数字签名密码,这是提升整体性安全性能的有效手段。
2.5加强路由协议的安全
对网络而言,路由协议时一个关键,敌手不需要花费很大力气就可造成严重的网络中断,路由机制和协议的滥用是最为简单的基于协议的攻击,比如通过干扰路由协议,攻击者可控制数据的传输路径,使用非法的链接信息导致有效数据四处流散。
这种攻击路由的方式可造成大量的的服务拒绝,作为保障内外网之间数据通信的核心。
安全路由协议的重要性不言而喻,强化路由协议的安全防范措施。
保障路由信息的安全传输是网络技术领域一个不可回避的重要问题。
在目前,被广泛使用并且已经发展成为Internet路由标准的协议有三个,分别是路由信息协议(RoutingInformationProtocol,RIP)、开放最短路径优先协议(OpenShortestPathFirst,OSPF)和边界网关协议(BorderGatewayProtocol,BGP),其中RIP和OSPF是域内协议,BGP是异域间协议。
这三种路由协议都支持验证,通过配置验证,不仅可以保障路由器间的可靠更新,还避免路由器收到伪造的路由更新。
2.5.1RIP认证
安全是当今网络设计者们考虑的主要问题之一。
网络安全包括路由器之间路由信息交换的安全性,例如,保证进入路由表的信息是有效的,这些信息不是起源于某些蓄意破坏网络的人。
攻击者也许会试图引入无效路由来欺骗路由器把数据发向错误的地址或严重降低网络性能。
RIPv2支持验证,通过配置验证,可以保障路由器间的可靠更新。
RIPv2可以提供两种模式的验证:
text和MD5(MessageDigestAuthentication)验证,text验证将会在网络上以明文发送密码安全性不高,而MD5验证则将密码以密文发送,就算被攻击者在网络上拦截到密码也没有用。
。
配置验证的相关命令和步骤如下:
①在路由器模式下配置一个密钥链(key-chain),一个密钥链可以包含多个密钥。
router(config)# key chain key-chain-name
key-chain-name:
密钥链名称。
②定义密钥编号。
router(config-keychain)# key key-number
key-number:
密钥编号。
③定义密钥。
Router(config-keychain-key)# key-string string
string:
密钥字符串。
执行验证的双方密钥字符串必须一致。
④在需要执行路由信息验证更新的接口上应用密钥链。
router(config-if)#ip rip authentication key-chain key-chain-name
key-chain-name:
使用的密钥链名称。
以上配置是明文验证需要配置的内容,即默认验证方法。
如果需要密文验证,则要附加下面的命令:
⑤声明验证模式。
router(config-if)#ip rip authentication mode md5
2.5.2OSPF协议验证
正如前面所介绍的,通过对邻居路由器进行身份验证,可避免路由器收到伪造的路由更新。
通过配置OSPF邻居身份验证(叫做邻居路由器身份验证或路由身份验证),可以让路由器根据预定义的密码参与路由选择。
在路由器上配置邻居路由器身份验证后,路由器将对收到的每个路由更新分组的信源进行身份验证,这是通过交换发送路由器和接收路由器都知道的身份验证密钥实现的。
路由器能够靠设定密码来参与路由信息域,通过这种方法就可以验证OSPF报文。
默认情况下,路由器使用空验证,也就是说通过网络进行路由信息的交换是不验证的。
OSPF网络的验证有两种方法:
简单的密码验证(SimplePasswordAuthentication)和MD5验证。
1.简单的密码验证
简单的密码验证允许一个区只配置一个密码(Password),同一个区中的路由器要想参与路由,他们必须配置同一个密码。
这种方法的缺点是易受攻击,任何人用线路分析仪都能从网络上窃取密码。
使用下面的命令启动密码验证:
ipospfauthentication-key(在特定的端口配置模式下设置)
areaauthentication(在路由配置模式"(config-router-ospf)"下设置)
在接口配置模式下用命令ipospfauthentication[message-digest|null]md5指定身份验证类型。
还有一种情况是在虚拟链路上配置OSPF简单密码身份验证。
例如下简单拓扑图1.
图1.
在上简单网络中有一条虚链路,在R1和R3上,给虚链路配置简单密码身份验证。
在路由器R1中,使用命令area0authentication给整个区域0配置简单密码身份验证,然后使用命令area1virtual-link3.3.3.3authentication-keywhut创建了一条将区域2连接到区域0的虚链路,该虚链路穿越区域1,使用明文验证,身份验证密钥为whut。
R3的配置与R1类似。
2.MD5验证
MD5是采用加密验证,每个路由器上都必须配置密码和密码ID。
路由器使用一种算法,基于OSPF报文、密码和密码ID产生一个“MessageDigest”,然后加到OSPF报文中。
不像简单密码验证,MD5验证密码不在网络上传输。
每个OSPF报文中还包含有一个序列号以保护网络不受攻击。
这种验证方法可以更改密码而不中断网络业务,这有助于网络管理员在线更改OSPF验证密码。
如果一个端口配置了一个新的密码,路由器将会向网络发送同一个报文的多个拷贝,每个报文用不同的密码来验证。
当路由器检测到所有的邻居都采纳了新的密码后就会停止发送这种报文的副本。
用下面的命令来配置MD5验证:
ipospfmessage-digest-keymd5//在特定的端口配置模式下设置
areaauthenticationmessage-digest//在路由配置模式"(config-router-ospf)"下设置)
2.5.3BGP协议验证
边界网关协议(bordergatewayprotocol,BGp)用于在自治系统(autonomoussystem,As)之间交换网络层可达性信息(networklayerreachabilityinformation,NLRI),是Internet路由基础设施的重要组成部分。
与前面介绍的RIPv2和OSPF一样,在路由器上配置BGP身份验证,让路由器对其收到的每个路由更新分组的信源进行身份验证。
这是通过交换发送路由器和接收路由器都知道的身份验证密钥实现的。
BGP支持消息摘要5(MD5)邻居身份验证。
MD5发送使用密钥和消息创建的散列值,而不发送密钥本身,以防传输期间窃听线路的人读取。
要在BGP对等体之间的TCP连接上启用MD5身份验证,,可使用路由器配置命令neighbor{ip-address|peer-group-name}passwordstring,其中ip-address为BGP邻居的IP地址,peer-group-name为BGP对等体组的名称,string区分大小写,最多为25个字符,第一个不能是数字。
该字符串可包含任何字母数字字符,包括空格。
不能指定“数字-空格-其他内容”格式的密码,否则身份验证将失败。
CISCO路由器中,在BGP对等体之间配置MD5身份验证后,将对通过对等体之间的TCP连接传输的的所有数据段进行验证。
在两个BGP对等体上,配置的MD5身份验证密钥必须相同,否则它们之间不会建立连接。
配置MD5身份验证后,对于在TCP连接上传输的每个数据段,CiscoIOS都将生成和检查MD5摘要。
2.6控制和过滤网络流量
路由器工作在网络层,是信息出入的必经之路,故路由器能提供初级防火墙的功能,它可以根据一些准则过滤不安全的数据包,如攻击包、病毒包等,能有效的防止外部用户对局域网的安全访问,以保证网络的可靠性和安全性。
目前大部分的路由器都是通过访问控制列表技术来实现的。
当路由器的访问控制列表的安全特性被充分利用时,路由器将变成一个有效的、稳定的、安全的、坚固的防御体系,既能抵御外部的攻击,又能限制内部用户对外部的非法访问,在很大程度上提高了网络的安全性。
因此,可以说访问控制列表是网络防御外来攻击的第一道关卡。
通过把ACL应用到路由器接口上,对任何经过接口的流量都用ACL所包含的特殊条件来检测,从而控制路由管理流量、扫描特定的数据包和监护特定的主机等,以保证网络资源不被非法使用和访问。
访问控制列表的核心就是根据特定规则进行数据包过滤,对网络进行安全控制,防止病毒包、扫描包、攻击包通过路由器去攻击网络,保证网络的安全。
另外,访问控制列表还可以用来限制网络流量,进行流量控制,防止一些不必要的数据包通过路由器,提高宽带利用率,提高网络性能。
路由器应用访问控制列表时,会把访问控制列表中的每一条规则中所定义的地址和收到的数据包中的地址分别同通配符进行逻辑“或”的操作,如果这个两者的操作结果一致的话,则应用此条规则,允许或拒绝数据包的通过。
通常路由器按照列表中的条件语句执行顺序来判断。
如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。
数据包只有在跟第一个判断条件不匹配时,它才被交给访问控制列表中的下一个条件判断语句进行比较。
如果匹配,假设为允许发送,则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。
如果所有的访问控制列表判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。
3.交换机安全
交换机在网络中工作在数据链路层,属于二层设备,提供了网络互联的等功能。
它根据源MAC学习,根据新的MAC进行转发,按照每一个数据帧中的MAC地址决策信息转发。
交换机是网络常用设备之一,也是网络必备设备之一,作为网络的基础构件,它的安全性着实成为许多工程师及网管人员的首要关注点。
交换机作为一种网络互联设备,它的默认状态旨在强化对内保护和内部开放通信的安全性。
企业内部的交换机用于提供通信、转发游有用信息,这种提供通信的设备,往往安全性配置最低,这使得它们更容易遭到恶意攻击。
如果攻击时在企业网内部设备的二层上发起的,那么通常在为检测到异常之前,网络中的其它设备就马上被攻陷了。
同样,非恶意用户的一些行为也会导致网络中断,例如,用户在谁端口连入交换机或集线器的行为,或者把自己的笔记本配置为DHCP服务器的行为,尽管不是恶意的,但仍可能导致网络中断。
所以,网络管理员必须采取安全保护行为,就跟ACL为上层提供安全保护一样,建立一个策略,并配置适当的特性,以便在维护日常网络运营的同时防范潜在的恶意威胁。
3.1二层攻击的分类
二层的恶意攻击通常是由园区网基础设施所连接的设备发出的。
出乎恶意目的安放在网络中的物理未授权设备可以发出攻击。
外部入侵者也可以控制并在可信设备上发起攻击。
向交换机发起的二层攻击可以划分为以下几种类别:
1.MAC层攻击
2.VLAN攻击
3.欺骗攻击
4.交换机设备上的攻击
3.1.1MAC层攻击极其防御
交换机的工作原理就是根据数据帧中的源MAC地址进行学习,将学习到的所哟MAC地址存入CAM(MAC地址表)中,根据数据帧中的目的MAC地址进行转发。
交换机CAM表的空间是有限的,因此在同一时间内它只能存放有限数量的条目。
网络入侵者可以使用大量无效的源MAC地址,来恶意地向交换机泛洪。
如果在老的条目过期之前交换机接收到了足够多的新条目,那么它就不会再接收新的合法条目。
如果这时去往交换机端口所连合法设备的流量抵达交换机,它也无法创建一个CAM表条目,交换机必须向所有端口泛洪这个数据帧。
这样会造成的不良影响有:
1.交换机流量转发的效率很低且流量巨大,这可能会影响到网络中所有用户的传输速度。
2.入侵设备可以连接到任意交换机端口,并截获该接口平常无法收到的流量。
MAC泛洪攻击的过程及步骤如下:
步骤1:
交换机基于合法MAC地址表的条目来转发流量。
步骤2:
攻击者以不同的源MAC地址发送大量数据包。
步骤3:
在较短时间内,交换机的CAM表会一直被填充,直到它再也无法接受新的条目为止,只要攻击行为还在