思科网络设备安全.docx
《思科网络设备安全.docx》由会员分享,可在线阅读,更多相关《思科网络设备安全.docx(16页珍藏版)》请在冰豆网上搜索。
![思科网络设备安全.docx](https://file1.bdocx.com/fileroot1/2023-4/2/26194b0f-1d4e-4a31-9179-7bacd3eafc22/26194b0f-1d4e-4a31-9179-7bacd3eafc221.gif)
思科网络设备安全
本文档描述了如何增强网络中路由器的安全性,常见的使用方法和相应的配置命令和配置例子。
网络安全
关闭不必要的服务
关闭所有路由器或交换机上的不必要的服务,如Finger、Bootp、Http等;
Command:
Router(config)#noipfinger
#关闭finger服务
Router(config)#noipbootpserver
#关闭bootp服务
Router(config)#noiphttpserver
#关闭http服务
Example:
Router(config)#noipfinger
Router(config)#noipbootpserver
Router(config)#noiphttpserver
设置加密特权密码
使用加密的特权密码,注意密码的选择:
不要使用登录名,不管以何种形式(如原样或颠倒、大写和重复等)
不要用名字的第一个、中间一个或最后一个字(不管是现用名还是曾用名)
不要用最亲近的家人的名字(包括配偶、子女、父母和宠物)
不要用其他任何容易得到的关于你的信息
不要使用纯数字或完全同一个字母组成的口令
不要使用在英文字典中的单词
不要使用短于6位的口令
不要将口令告诉任何人
不要将口令电子邮件给任何人
如果可能,应该使用大小写混合的字母
使用包括非字母字符的口令
使用容易记的口令,这样就不必将它写下来
使用不用看键盘就可以很快键出的口令
Command:
Router(config)#enablesecret
#设置加密的特权密码
Example:
Router(config)#enablesecret@$!
ainf0:
#设置加密的特权密码为@$!
ainf0:
打开密码标记
Command:
Router(config)#servicepassword-encryption
#加密密码,原先使用明文显示的密码将会以密文方式出现
Example:
Router(config)#servicepassword-encryption
#加密明文密码
Router#showrunning-config
…
linevty04
passwordcisco
loggingsynchronous
login
!
…
Router#conft
Enterconfigurationcommands,oneperline.EndwithCNTL/Z.
Router(config)#servicepassword-encryption
Router(config)#^Z
Router#showrunning-config
…
linevty04
password701100F175804
login
…
设置NTPserver
为了保证全网网络设备时钟的同步,必须在网络设备上配置NTP。
Command:
Router(config)#ntpserver
#设置NTP,为时钟服务器的IP地址
Router(config)#ntpupdate-calendar
#将NTP取得的时钟更新本地的日历
Example:
Router(config)#ntpserverupdate-calenda
#设置NTP时钟服务器IP地址为,路由器将使用NTP得到的时钟作为本地时钟,同时更新本地的日历。
配置日志
在所有的路由器或交换机上配置相应的日志选项。
Command:
Router(config)#loggingbuffered
#将日志存于内存中,存放日志的内存大小由指定,单位为byte。
Router(config)#logging
#将日志发送到Syslogserver上,Syslogserver由指定。
需要预先配置Syslogserver
Example:
Router(config)#loggingbuffered1024000
#在内存中使用1M的空间存放日志
Router(config)#logging将日志发送到IP地址为的Syslogserver上
设置LOG和DEBUG的时间标记
为了方便排错和日志管理,需要将日志的DEBUG的信息做上时间标志。
使用以下命令设置时间标志。
Command:
Router(config)#servicetimestampsdebugdatetimemseclocaltime
#使用本地时间(精确到毫秒)标记DEBUG信息
Router(config)#servicetimestampslogdatetimemseclocaltime
#使用本地时间(精确到毫秒)标记日志信息
Example:
Router(config)#servicetimestampsdebugdatetimemseclocaltime
Router(config)#servicetimestampslogdatetimemseclocaltime
配置Console、AUX和VTY登录控制
登录一台路由器可以通过Console端口、AUX端口和VTY远程方式,因此对于这三种登录方式的控制直接影响网络设备的安全性。
在三种登录方式下需要设置认证、和超时选项。
建议认证使用本地用户名加密码的方式增加安全性。
Command:
Router(config-line)#loginlocal
#设置登录时采用本地的用户数据
Router(config-line)#exec-timeout
#设置超时时间,表示分,表示秒,超时时间为两者之和
Example:
Router(config)#linecon0
Router(config-line)#exec-timeout1200
Router(config-line)#loginlocal
Router(config-line)#lineaux0
Router(config-line)#exec-timeout1200
Router(config-line)#loginlocal
Router(config-line)#linevty04
Router(config-line)#exec-timeout1200
Router(config-line)#loginlocal
限制远程登录的范围
缺省情况下,从任何地方都可以登录网络设备。
为了增加网络设备的安全性,需要对远程登录的范围进行限制。
通常使用访问控制列表(access-list)限制登录主机的源地址,只有具有符合条件的主机能够登录到该网络设备上。
配置分为两步:
1.定义访问控制列表(access-list)
2.应用访问控制列表(access-list)
Command:
Router(config)#access-listaccess-list-number{deny|permit}source[source-wildcard][log]
#设置标准的访问控制列表,其中access-list-number为1-99
Router(config)#access-listaccess-list-number[dynamicdynamic-name[timeoutminutes]]{deny|permit}protocolsourcesource-wildcarddestinationdestination-wildcard[precedenceprecedence][tostos][log]
#设置扩展的访问控制列表,其中access-list-number为100-199
Router(config-line)#access-classaccess-list-number{in|out}
#将访问控制列表应用在相应的VTY中
Example:
Router(config)#access-list10permitvty04
Router(config-line)#access-class10in
#设置只有IP地址在范围的主机才能远程登录该路由器。
配置SNMP
Command:
router(config)#snmp-servercommunitystring[viewview-name][ro|rw][number]
#设置SNMP只读或读写串,number为Access-list号,限制可以通过SNMP访问该网络设备的地址
Example:
router(config)#snmp-servercommunitycrnet@aia!
nf0RW10
router(config)#snmp-servercommunitybjcrnetRO10
router(config)#access-list10permit
router(config)#access-list10permit
#设置snmp只读和读写口令,并且只让和两台主机可以通过snmp采集路由器数据
配置特权等级
缺省情况下,Cisco路由器有两种控制模式:
用户模式和特权模式。
用户模式只有Show的权限和其他一些基本命令;特权模式拥有所有的权限,包括修改、删除配置。
在实际情况下,如果给一个管理人员分配用户模式权限,可能不能满足实际操作需求,但是分配给特权模式则权限太大,容易发生误操作或密码泄漏。
使用特权等级,可以定制多个等级特权模式,每一个模式拥有的命令可以按需定制。
Command:
Router(config)#enablesecretlevellevel[encryption-type]password
#设置想应级别的特权密码,level指定特权级别:
0-15
Router(config)#usernameusernameprivilegelevelpasswordpassword
#设置管理人员的登录用户名、密码和相应的特权等级
Router(config)#privilegemodelevellevelcommand
#设置相应特权等级下的能够使用的命令,注意:
一旦一条命令被赋予一个特权等级,比该特权等级低的其他特权等级均不能使用该命令。
Example:
Router(config)#enablesecretlevel5csico5
Router(config)#enablesecretlevel10cisco10
#设置5级和10级的特权密码
Router(config)#usernameuser5privilege10passwordpassword5
Router(config)#usernameuser10privilege10passwordpassword10
#设置登录名为user5的用户,其特权等级为5、密码为password5
#设置登录名为user10的用户,其特权等级为10、密码为password10
Router(config)#privilegeexeclevel5showiproute
Router(config)#privilegeexeclevel5showip
Router(config)#privilegeexeclevel5show
Router(config)#privilegeexeclevel10debugpppchap
Router(config)#privilegeexeclevel10debugppperror
Router(config)#privilegeexeclevel10debugpppnegotiation
Router(config)#privilegeexeclevel10debugppp
Router(config)#privilegeexeclevel10debug
Router(config)#privilegeexeclevel10cleariproute*
Router(config)#privilegeexeclevel10cleariproute
Router(config)#privilegeexeclevel10clearip
Router(config)#privilegeexeclevel10clear
#设置5级和10级特权等级下能够使用的命令
路由安全
路由协议的安全
在OSPF配置中不是必须要和对端路有器建立临接关系的端口,不把端口放在OSPF的network广播。
在广播网段最好使用OSPF的端口认证防止其它非法的路由器获得路由表。
Router(config)#ipospfauthentication-keypassword
BGP在作EBGPPeer时如有可能,可以采用BGP的邻居认证。
Router(router-config)#neighbor{ip-address|peer-group-name}passwordstring
过滤私有地址路由
CRNET二期骨干网均采用合法的IP地址。
为防止私有IP进入CRNET骨干网,将在CRNET的各个出口/入口过滤私有地址。
因为CRNET的用户路由均由BGP承载,故过滤私有地址路由的过滤将在EBGP中做入口限制。
Router(router-config)#neighbor{ip-address|peer-group-name}route-mapmap-namein
access-list10permit10permit10permitroute-mapdeny10
matchipaddress10
route-maproute-mappermit20
主机安全
CRNET二期将利用一期利旧的两台PIX为主机(DNSServer、MailServer、认证服务器、计费服务器等)提供安全保证。
防火墙是一种用于保护特别敏感区域的有效工具,通过它可以实现多种复杂的安全策略,对可疑的数据和请求进行审核和过滤,从而保证内部网络的安全。
另外由于防火墙本身需要对数据包进行深层次的检查和处理,因此在一些数据流量特别大的地方不太适用,通常的用法是用来保护诸如计费等特别敏感的主机和应用。
PIX的工作原理
PIX防火墙要求有一个路由器连接到外部网络,如下图所示。
PIX有两个ET
HERNET接口,一个用于连接内部局域网,另一个用于连接外部路由器。
外部接口有一组外部地址,使用他们来与外部网络通信。
内部网络则配置有一个适合内部网络号方案的IP地址。
PIX的主要工作是在内部计算机需要与外部网络进行通信时,完成内部和外部地址之间的映射。
配置好PIX防火墙后,从外部世界看来,内部计算机好象就是直接连接到PIX的外部接口似的。
由于PIX的外部接口是Ethernet接口,所以,向主机传送信息包需要用到MAC地址。
为了使内部主机在数据链路层和网络层上看起来都好象是连接在外部接口上的,PIX运行了代理ARP,代理ARP给外部网络层IP地址指定数据链路MAC地址,这就使得内部计算机看起来像是在数据链路层协议的外部接口上似的。
大多数情况下,与外部网络的通信是从内部网络中发出的。
由于PIX是对信息包进行操作,而不是在应用过程级(代理服务器则采用这种方法),PIX既可以跟踪UDP会话,也可以跟踪TCP连接。
当一个计算机希望同外部计算机进行通信时,PIX记录下内部来源地址,然后从外部地址库分配一个地址,并记录下所进行的转换。
这就是人们常说的有界NAT(statefulNAT),这样,PIX就能记住它在同谁进行交谈,以及是哪个计算机首先发起的对话。
只有已被确认的来自外部网络的信息包才会运行,并进入内部网络。
不过,有时也需要允许外部计算机发起同指定的内部计算机的通信。
典型的服务包括电子邮件、WWW服务、以及FTP服务。
PIX给一个内部地址硬编码一个外部地址,这个地址是不会过期的。
在这种情况下,用到对目标地址和端口号的普通过滤。
除非侵入PIX本身,外部用户仍然是无法了解内部网络结构的。
在不了解内部网络结构的情况下,恶意用户就无法从内部主机向内部网络实施攻击。
PIX另一个关键性的安全特性是对TCP信息包的序列编号进行随机化处理。
由于IP地址电子欺骗的方法早已公布,所以,入侵者已经有可能通过这种方法,控制住一个现成的TCP连接,然后向内部局域网上的计算机发送它们自己的信息。
要想做到这一点,入侵者必须猜出正确的序列编号。
在通常的TCP/IP中实现是很容易的,因为每次初始化连接时,大都采用一个相同的编号来启动会话。
而PIX则使用了一种数学算法来随机化产生序列编号,这实际上使得攻击者已经不可能猜出连接所使用的序列编号了。
PIX配置
配置PIX防火墙是一个比较直接的工作,在提供相同级别的安全服务情况下,PIX的配置相比设置代理服务器要简单的多。
从理论上讲,所需做的就是指定一个IP地址和一个用来对外部进行访问的地址库,一个针对内部连接的IP地址和网络掩吗、RIP、超时以及其他附属安全信息。
下面介绍一个PIX防火墙实际配置案例,供大家参考。
因为路由器的配置在安全性方面和PIX防火墙是相辅相成的,所以路由器的配置实例也一并列出。
1.PIX防火墙
ipaddressoutside
路由器RTRA
----RTRA是外部防护路由器,它必须保护PIX防火墙免受直接攻击,保护FTP/HTTP服务器,同时作为一个警报系统,如果有人攻入此路由器,管理可以立即被通知。
noservicetcpsmall-servers
路由器RTRB
----RTRB是内部网防护路由器,它是你的防火墙的最后一道防线,是进入内部网的入口.
loggingtrapdebugging
logging
//记录此路由器上的所有活动到
网管工作站上的日志服务器,包括配置的修改
interfaceEthernet0
ipaddress
noipproxy-arp
ipaccess-group110in
access-list110permitudphost
//允许通向网管工作站的系统日志信息
access-list110denyipanyhostlog
//禁止所有别的从PIX防火墙发来的信息包
access-listpermittcphost
eqsmtp
//允许邮件主机和内部邮件服务器的SMTP邮件连接
access-listdenyiphost
//禁止别的来源与邮件服务器的流量
access-listdenyipany
//防止内部网络的信任地址欺骗
access-listpermitip
//允许所有别的来源于PIX防火墙
和路由器RTRB之间的流量
linevty04
login
passwordxxxxxxxxxx
access-class10in
//限制可以远程登录到此路由器上的IP地址
access-list10permitip
//只允许网管工作站远程登录到此路由器,当你想从INTERNET管理此路由器时,应对此存取控制列表进行修改
按以上设置配置好PIX防火墙和路由器后,PIX防火墙外部的攻击者将无法在外部连接上找到可以连接的开放端口,也不可能判断出内部任何一台主机的IP地址,即使告诉了内部主机的IP地址,要想直接对它们进行Ping和连接也是不可能的。
这样就可以对整个内部网进行有效的保护,防止外部的非法攻击。
攻击防护
防止DoS攻击
DoS攻击几乎是从互联网络的诞生以来伴随着互联网络的发展而一直存在也不断发展和升级。
CRNET二期骨干网也要考虑到DoS攻击的存在,并做好相应的防范。
从某种程度上可以说,DoS攻击永远不会消失而且从技术上目前没有非常根本的解决办法。
DoS技术严格的说只是一种破坏网络服务的技术方式,具体的实现多种多样,但都有一个共同点,就是其根本目的是使受害主机或网络失去及时接受处理外界请求,或无法及时回应外界请求。
对于DoS攻击,可以采用以下方法防范:
1、使用ipverfyunicastreverse-path网络接口命令
这个功能检查每一个经过路由器的数据包。
在路由器的CEF(CiscoExpress
Forwarding)表该数据 包所到达网络接口的所有路由项中,如果没有该数据包源IP地址的路由,路由器将丢弃该数据包。
例如:
路由器接收到一个源IP地址为的数据包,如果CEF路由表中没有为IP地址提供任何路由 (即反向数据包传输时所需的路由),则路由器会丢弃它。
单一地址反向传输路径转发(UnicastReversePathForwarding)在ISP(局端)实现阻止SMURF攻击和 其它基于IP地址伪装的攻击。
这能够保护网络和客户免受来自互联网其它地方的侵扰。
使用UnicastRPF 需要打开路由器的"CEFswithing"或"CEFdistributedswitching"选项。
不需要将输入接口配置为CEF
交换(switching)。
只要该路由器打开了CEF功能,所有独立的网络接口都可以配置为其它交换(switching) 模式。
RPF(反向传输路径转发)属于在一个网络接口或子接口上激活的输入端功能,处理路由器接收的 数据包。
在路由器上打开CEF功能是非常重要的,因为RPF必须依靠CEF。
UnicastRPF包含在支持CEF的CiscoIOS 及以上版本中,但不支持CiscoIOS或版本。
2、使用访问控制列表(ACL)过滤RFC1918中列出的所有地址
参考以下例子:
interfacexy
ipaccess-group101in
access-list101denyipany
access-list101denyipany
access-list101denyipany
access-list101permitipanyany
3、参照RFC2267,使用访问控制列表(ACL)过滤进出报文
参考以下例子:
{ISP中心}--ISP端边界路由器--客户端边界路由器--{客户端网络}
ISP端边界路由器应该只接受源地址属于客户端网络的通信,而客户