cisco路由器安全文档格式.docx
《cisco路由器安全文档格式.docx》由会员分享,可在线阅读,更多相关《cisco路由器安全文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
用路由器保护连接网络安全
管理路由器
路由器的安全策略
2.
CiscoRouter安全配置
2.1访问控制安全
本部分主要采用各种机制来保护企业内部网络安全,主要包括以下几个方面:
物理安全、用户帐号保护、软件保护、远程管理策略和配置等
物理安全
所有的设备包括路由器和交换机都放置在机房或某些专用区域,任何可以物理上接确到路由器或交换机的人员都可能对设备的安全构成威胁。
因此,路由器和交换机应放置在只有管理员才可物理接触的区域。
为路由器Console端口配置进入认证,防止非法用户直接使用路由器的Console端口直接进入路由器。
口令安全
口令是路由器是用来防止对于路由器的非授权访问的主要手段,是路由器本身安全的一部分。
最好的口令处理方法是将这些口令保存在TACACS+或RADIUS认证服务器上。
但是几乎每一个路由器都要有一个本地配置口令进行权限访问。
如何维护这部分的安全?
(1)使用enablesecret。
enablesecret命令用于设定具有管理员权限的口令。
并且如果没有enablesecret,则当一个口令是为控制台TTY设置的,这个口令也能用于远程访问。
这种情况是不希望的。
还有一点就是老的系统采用的是enablepassword,虽然功能相似,但是enablepassword采用的加密算法比较弱。
(2)使用servicepassword-encryption。
这条命令用于对存储在配置文件中的所有口令和类似数据(如CHAP)进行加密。
避免当配置文件被不怀好意者看见,从而获得这些数据的明文。
但是servicepassword-encrypation的加密算法是一个简单的维吉尼亚加密,很容易被破译。
这主要是针对enablepassword命令设置的口令。
而enablesecret命令采用的是MD5算法,这种算法很难进行破译的。
但是这种MD5算法对于字典式攻击还是没有办法。
所以不要以为加密了就可以放心了,最好的方法就是选择一个长的口令字,避免配置文件被外界得到。
且设定enablesecret和servicepassword-encryption。
(3)路由器的口令应该周期性的修改,至少每周要修改一次,并且不要使用一些常用的或容易猜测的口令。
使用Banner命令给非法入侵用户提示警告
最后一个对路由器管理员显示信息有用的命令是banner命令。
它使得可以在很多入口点显示成功建立连接的信息,或提示非法用户正在进行入侵行为,警告其停止非法活动及退出系统。
如下命令:
2.2远程管理策略
控制交互式访问
任何人登录到路由器上都能够显示一些重要的配置信息。
一个攻击者可以将路由器作为攻击的中转站。
所以需要正确控制路由器的登录访问。
尽管大部分的登录访问缺省都是禁止的。
但是有一些例外,如直连的控制台终端等。
控制台端口具有特殊的权限。
特别注意的是,当路由器重启动的开始几秒如果发送一个Break信号到控制台端口,则利用口令恢复程式可以很容易控制整个系统。
这样如果一个攻击者尽管他没有正常的访问权限,但是具有系统重启(切断电源或系统崩溃)和访问控制端口(通过直连终端、Modem、终端服务器)的能力就可以控制整个系统。
所以必须保证所有连结控制端口的访问的安全性。
除了通过控制台登录路由器外还有很多的方法,根据配置和操作系统版本的不同,可以支持如Telnet、rlogin、Ssh以及非基于IP的网络协议如LAT、MOP、X.29和V.120等或者Modem拨号。
所有这些都涉及到TTY,本地的异步终端和拨号Modem用标准的"
TTYs"
。
远地的网络连结不管采用什么协议都是虚拟的TTYs,即"
VTYs"
要控制路由器的访问,最好就是控制这些TTYs或VTYs,加上一些认证或利用login、nopassword命令禁止访问。
(1)控制TTY
缺省的情况下一个远端用户可以连结到一个TTY,称为“反向Telnet”,允许远端用户和连接到这个TTY上的终端或Modem进行交互。
但是这些特征允许一个远端用户连接到一个本地的异步终端口或一个拨入的Modem端口,从而构造一个假的登录过程来偷盗口令或其他的非法活动。
所以最好禁止这项功能,可以采用transportinputnone设置任何异步或Modem不接收来自网络用户的连结。
如果可能,不要用相同的Modem拨入和拨出,且禁止反向Telnet拨入。
(2)控制VTY
为了保证安全,任何VTY应该仅允许指定的协议建立连结。
利用transportinput命令。
如一个VTY只支持Telnet服务,可以如下设置transportinputtelnet。
如果路由器操作系统支持SSH,最好只支持这个协议,避免使用明文传送的Telnet服务。
如下设置:
transportinputssh。
也可以利用ipaccess-class限制访问VTY的ip地址范围。
因为VTYs的数目有一定的限制,当所有的VTYs用完了,就不能再建立远程的网络连结了。
这就有可能被利用进行Dos(拒绝服务攻击)。
这里攻击者不必登录进入,只要建立连结,到login提示符下就可以,消耗到所有的VTYs。
对于这种攻击的一个好的防御方法就是利用ipaccess-class命令限制最后一个VTYs的访问地址,只向特定管理工作站打开。
而其他的VTYs不限制,从而既保证了灵活性,也保证关键的管理工作不被影响。
另一个方法是利用exec-timeout命令,配置VTY的超时。
避免一个空闲的任务一直占用VTY。
类似的也可以用servicetcp-keepalives-in保证Tcp建立的入连结是活动的,从而避免恶意的攻击或远端系统的意外崩溃导致的资源独占。
更好的保护VTY的方法是关闭所有非基于IP的访问,且使用IPSec加密所有的远端与路由器的连结。
2.3日志
利用路由器的日志功能对于安全来说是十分重要的。
Cisco路由器支持如下的日志:
(1)AAA日志:
主要收集关于用户拨入连结、登录、Http访问、权限变化等。
这些日志用TACACS+或RADIUS协议送到认证服务器并本地保存下来。
这些可以用aaaaccouting实现。
(2)Snmptrap日志:
发送系统状态的改变到Snmp管理工作站。
(3)系统日志:
根据配置记录大量的系统事件。
并可以将这些日志发送到下列地方。
控制台端口
Syslog服务器
TTYs或VTYs
本地的日志缓存。
这里最关心的就是系统日志,缺省的情况下这些日志被送到控制台端口,通过控制台监视器来观察系统的运行情况,但是这种方式信息量小且无法记录下来供以后的查看。
最好是使用syslog服务器,将日志信息送到这个服务器保存下来。
2.4网络安全
AAA认证
(1)激活AAA服务
aaanew-model
(2)配置AAA认证
aaaauthenticationlogin{default|list-name}method-list
aaaauthenticationenabledefaultmethod-list
aaaauthenticationlocal-override
(3)定义安全服务器(RADIUS\TACACS+)
RADIUS\TACACS+安全服务器使用属性值定义用户的权限,而认证工作是通过生成一系列描述用户权限的列表;
当用户登录并得到认证服务器的认可后,安全服务器数据库被用来控制用户对网元及资源的访问。
(4)配置用户权限
(5)配置实例
aaaauthenticationloginremoteauthenradiuslocal
aaaauthorizationnetworkdefaultradiuslocal
aaaaccountingnetworkdefaultstart-stopradius
Accounting
AAA帐号被使用来登录和记录用户访问网络资源的活动。
这些记录可以使用来进行网络管理、安全分析、资源使用记录和报表等。
有几种帐号能被打开:
exec,network,connection,command,system。
所有这些类型支持TACACS+,但RADIUS不支持command和system
下例为AAA认证配置实例:
Central(config)#usernameannadminpassword0G%oD9pa$8
Central(config)#usernamejoeadminpassword0badpasswd
Central(config)#aaaauthenticationlogindefaultlocal
Central(config)#aaaauthenticationloginremotelistradiuslocal
Central(config)#linevty04
Central(config-line)#loginauthenticationremotelist
Central(config)#lineaux0
路由器访问控制
可以使用路由器访问控制表来实现路由器两端的用户对路由器的访问。
(详细配置见2.5部分)
拨入用户
AAA服务认证也支持远程拨号接入用户访问认证。
它基本上使用TADIUS作为认证服务器,控制各个不同的拨入用户的访问权限及访问资源。
用来控制拨号用户常用命令如下:
aaaauthenticationppp{default|list-name}<
method-list>
指出PPP认证模式列表
aaaauthorization{network|exec|commandslevel|reverseaccess}{default|list-name}<
aaaaccounting{system|network|exec|connection|commandslevel}{default|list-name}{start-stop|waitstart|stop-only|none}method-list(为特殊用户打开AAA’saccountingservices,拨号用户网络需要使用)
AAA认证配置实例
East(config)#enablesecrett!
tRd-1r
East(config)#usernamefredadminpasswordd$oyTld1
East(config)#usernamebethadminpasswordhs0o3TaG
East(config)#bannermotd^T
^T
East(config)#radius-serverhost14.2.6.18
East(config)#radius-serveri3dRc8sRv(@oeU4)
East(config)#aaanew-model
East(config)#aaaauthenticationlogindefaultradiuslocal
East(config)#aaaauthorizationexecdefaultradius
East(config)#aaaauthorizationnetworkdefaultradius
East(config)#aaaaccountingexecdefaultstart-stopradius
East(config)#aaaaccountingexecremoteaccwait-startradius
East(config)#aaaaccountingconnectiondefaultstart-stopradius
East(config)#aaaaccountingnetworkdefaultwait-startradius
East(config)#access-list91permit14.2.9.00.0.0.255log
East(config)#access-list91permit14.2.6.00.0.0.255log
East(config)#access-list91denyanylog
East(config)#linecon0
East(config-line)#transportinputnone
East(config-line)#exec-timeout50
East(config-line)#loginlocal
East(config-line)#exit
East(config)#linevty04
East(config-line)#access-class91
East(config-line)#transportinputtelnet
East(config-line)#accountingexecremoteacc
East(config)#interfaceasync1
East(config-if)#encapsulationppp
East(config-if)#pppauthenticationchap
East(config-if)#end
2.5访问列表及过滤器
路由器访问控制表提供包过滤功能。
一表访问控制表包含一条或多条规则:
例如,对IP流量有两种访问控制表类型可以使用,标准和扩展。
标准类型访问控制表仅允许源IP地址过滤;
扩展类型访问控制表能够允许或拒绝基于各种网络协议数据包、源或目标IP、源或目标TCP/UDP端口、ICMP、IGMP。
标准和扩展类型访问控制表都可应用于路由器接口、VTY端口(远程访问)、IPSec和路由协议;
只有标准IP访问控制可应用于SNMP。
在扩展访问控制表Deny语句的未尾添加“log”关键字,它将记录所有的被拒绝数据包的类型、信息等。
这样做将能够探测和分析出从敌对网络内来的攻击信息。
例如:
East(config)#access-list102permitip14.2.6.00.0.0.255any
East(config)#access-list102denyipanyanylog
在每一扩展IP访问控制表语句未尾添加如下语句来拒绝和记录不被允许的任何数据包。
East(config)#access-list100denytcpanyrange065535anyrange065535log
East(config)#access-list100denyudpanyrange065535anyrange065535log
East(config)#access-list100denyipanyanylog
(以下各项配置除特殊说明外以本图为例)
2.5.1过滤路由本身流量
远程登录服务(TELNET)
管理员可以有多种方式访问路由器:
VTYLine、SNMPSERVERS、RouterProtocol。
VtyLines被使用来远程访问路由器,典型例子如管理员TELNET到一个vtylines。
下面配置实例应用于vtylines上使用扩展IP访问控制表来实现允许IP为14.2.6.1和14.2.6.18主机通过TELNET登录入路由器,并同时拒绝所有的其它连接。
同时它也记录所有成功的和不成功的连接。
East(config)#access-list105permithost14.2.6.1anyeq23log
East(config)#access-list105permittcphost14.2.6.18anyeq23log
East(config)#access-list105denyipanyanylog
East(config-line)#access-class105in
East(config-line)#end
SNMP服务
Cisco路由器可以被配置作为一台SNMP客户机。
当路由器上SNMP服务被开启时,网络管理工具能够使用它来收集路由器的配置、路由表、流量负载等等。
SNMP版本1、2被认为是不太安全的由于其本身认证的缺陷。
SNMP仅使用在内部的被保护的网络中。
下例标准IP访问控制表配置允许IP为14.2.6.6主机收集路由器信息,并拒绝所有其它连接。
East(config)#access-list75permithost14.2.6.6
East(config)#snmp-servercommunityn3t-manag3m3ntro75
OSPF服务
路由表更新(路由器间通信)是通过路由协议来实现的。
管理员可以使用访问控制表来限制哪个路由器将通过路由协议接收信息或发出广播。
下例配置为扩展IP访问控制表应用于OSPF路由协议区域1,实现路由器North将不广播路由信息到14.2.9.0网络:
North(config)#access-list10deny14.2.9.00.0.0.255any
North(config)#access-list10permitany
North(config)#routerospf1
North(config-router)#distribute-list10out
North(config-router)#end
2.5.2过滤通过路由器的数据流量
以下实例或方法用来保护路由器或内部网络免受攻击。
IPAddressSpoofProtection
ٱInboundTraffic
不允许进入路由器的数据包内的源地址域内包含内部网络地址(eg:
14.2.6.0)、任何本地地址(127.X.X.X)、本地连接DHCP默认地址(169.254.0.0)和任何私有网络地址(参考RFC1918)
应用配置脚本于路由器的外部网接入端口:
East(config)#access-list100denyip14.2.6.00.0.0.255anylog
East(config)#access-list100denyip127.0.0.00.255.255.255anylog
East(config)#access-list100denyip10.0.0.00.255.255.255anylog
East(config)#access-list100denyip172.16.0.00.15.255.255anylog
East(config)#access-list100denyip192.168.0.00.0.255.255anylog
East(config)#access-list100denyip169.254.0.00.0.255.255anylog
East(config)#access-list100permitipany14.2.6.00.0.0.255
East(config)#interfaceeth0/0
East(config-if)#description"
externalinterface"
East(config-if)#ipaddress14.1.1.20255.255.0.0
East(config-if)#ipaccess-group100in
East(config-if)#exit
East(config)#interfaceeth0/1
internalinterface"
East(config-if)#ipaddress14.2.6.250255.255.255.0
OutboundTraffic
在数据包的源地址域内不允许包含个外部IP地址。
应用以下脚本配置于路由器的内部网接入端口:
East(config)#noaccess-list102
East(config)#interfaceeth0/1
East(config-if)#ipaccess-group102in
在大多的Cisco路由器,IOS12提供另外一种spoofprotection机制:
IPreverse-pathforwardingverification,但它不适合于所有网络。
它能提供较好的性能,使用网络维护更加容易。
ExploitsProtection
以下部分描述怎样使用访问控制表来防止一些常见的网络攻击。
ٱTCPSYNAttack
TCPSYN攻击发出大量面向目标节点的连接。
此攻击将引起连接队列溢出,因此拒绝为合法TCP用户服务。
共存在两种情况:
ExternalAccessBlocked
下面访问控制表将阻塞所有来自外网的带有SYN标志数据包,并允许来自内网的经过确认的TCP连接,