制定恰当的安全策略
部署路由器安全工作,管理员首先要明白什么是影响路由器安全的因素,以制定出恰当的安全策略和具体的技术实施
方案。影响路由器安全的因素可以划分为四类,如图1所示。其中物理安全是路由器安全的最核心问题,如果攻击者可以轻易地接触到用户的路由器,并可以进行关机、密码破解等操作,那将是极其危险的;其次是静态配置的安全威胁,主要是指路由器上保存的操作系统程序以及配置文件,配置文件中一般包含着路由器接口地址、登录密码等重要信息,这些信息如果被攻击者获得,后果不堪设想;第三个因素是路由器动态配置,首当其冲的是路由表,另外还有接口状态、ARP表、日志信息等等;影响最小的是路由器的转发流量,但管理员往往把最多心思花费在这方面,转发流量中可能包含一些攻击,管理员可以设置只允许某些协议、特定IP的流量通过,以排除攻击。
做好路由器安全工作的必要前提是分权管理。将维护路由器的人员分为管理员和操作员两种,二者的权限不同,尽量保密路由器中的重要信息。管理员需要负责制定路由器的安全策略,建议管理员按照以下步骤制定安全策略:
1. 制定安全目标,即希望路由器安全可以达到的效果,而不是一些配置命令。
2. 逐步制定策略,安全管理员根据图1所示的路由器安全层面图,由里到外,一步步制定各个区域内的安全策略。
3. 服务最小化,关闭路由器上不必要的服务,减少安全隐患。
路由器操作安全
保护路由器自身安全的手段主要包括物理访问、登录账号、软件防护、远程管理以及相应的配置操作。
控制好路由器的物理访问是安全问题的核心。一般路由器都提供一个Console接口,管理员可以通过它来修改路由器配置,甚至可以进行密码破解,而且过程十分迅速。
另外,某些路由器上具有基于Slot插槽的PCMCIA卡,它用来保存运行系统的软件以及静态配置文件,如果该插槽中的卡替代,那么系统重启后,路由器将运行攻击者的系统软件和配置,这样路由器就完全被攻占了。因此,存放路由器的场所应该做到7×24小时的严密监控,限制人员出入,如果条件允许,最好能够提供UPS电源支持。
每个路由器厂家都会不断公布自己的产品中存在的安全漏洞,管理员必须时刻跟进这些安全信息,查看自己的路由器是否存在问题,如果存在,那么必须马上进行软件版本升级。对于维护大量设备的ISP管理员来说,这是一项艰巨的任务。因此,建议管理员在选择使用某个厂家的路由器时,应该选择公认的运行比较稳定的软件版本,尽量不要选择最新的版本,因为这些新版本的软件并没有经过时间的考验。
管理员对路由器的操作大都是通过远程操作来完成的。在缺省情况下,路由器只是凭借一个密码来进行身份认证,一些黑客软件可以针对Telnet进行密码暴力破解,很容易得到单薄的密码。为此,建议管理员使用基于用户名+密码的认证方式,这样至少可以增加黑客猜测用户名的时间,减少被攻破的可能。管理员通常使用Telnet进行远程操作,该过程密码和操作数据都是以明码传输的,攻击者使用sniffer之类的抓包软件就可以轻易获得管理员密码。管理员应该建立如图2所示的网管局域网,每台路由器上最好都采用专门的接口连接网管局域网,这样管理员的远程操作直接传送到路由器,而不需要跨越网段,不易被监听。目前,很多路由器都支持SSH远程操作,推荐使用,它使用加密传送密码和数据。更先进的方法是在网管机器和路由器之间建立IPSec通道,专门用来传送路由器操作数据。
相对于路由器本地验证,AAA(认证, 授权, 审计)认证机制是目前身份认证的理想选择。它能够集中管理所有操作人员的密码,并进行权限分级,并按照要求记录每个人操作路由器的命令。AAA认证机制需要管理员保证AAA服务器的安全。
路由器服务安全
路由器除了提供Telnet远程登录服务外,还提供很多二层、三层的服务。路由器上运行的服务越多,安全隐患也就越大。其实,很多服务是路由器通常不需要的,这就需要管理员了解各种服务的用途,根据实际情况关闭一些不需要的服务。表三说明了一些路由器常见服务的功能和应对措施。
表三
访问控制列表和流量过滤
在缺省情况下,路由器将转发一切有路由的数据包,但是,管理员可以根据需要限制某些流量通过,一般使用访问控制列表(Access List)实现,也可以用它来限制用户对路由器的访问。
远程操作控制 管理员应该在提供远程操作(Telnet、SSH、HTTP等)的接口上应用访问控制列表,使其只允许某个网段或者某个IP对路由器进行远程操作,这样可以有效避免攻击者进行暴力密码破解。
SNMP访问控制 SNMP提供了口令和IP许可两层安全保护机制。口令又可细分为只读口令和读写口令,分别为不同权限而设置的,一般我们建议关闭读写口令。和Telnet操作控制一样,管理员也可以为路由器的SNMP访问设置IP地址限制,只有网管机器才能进行状态采集操作,不过,只有部分厂家的路由器支持这项功能。
路由表控制 路由器通过运行路由协议来生成最终用于转发数据的路由表,管理员可以根据实际情况,使用访问控制列表来限制哪些路由可以进入路由表,从而决定哪些数据可以转发以及转发路径。
流量过滤 流量过滤是保障网络安全最复杂的一种手段,管理员需要实时检测并判断出攻击的类型,从而在网络的某个恰当位置封闭掉这些流量。路由器的流量过滤是基于接口的,管理员可以限制每个接口上流入和流出两个方向上的流量。以下列举了管理员应该第一时间要在路由器上设置的一些流量过滤:
1. 流入流量过滤:管理员应该在位于公司网络入口处的路由器上过滤掉一些源IP不是公网IP的数据包,例如源IP地址是127.0.0.0/8、RFC1918中规定的10.0.0.0/8、172.16.0.0.0/12和192.168.0.0/16等这些在公网上不能路由的IP地址。
2. 流出流量过滤:为了防止由公司内部机器发出的伪造源IP的攻击数据流,管理员在入口路由器上应该进行流出流量过滤,即只允许源IP地址是公司内部合法IP的数据包被转发出去。
3. 防御TCP SYN:管理员可以在入口路由器上创建访问控制列表,只允许来自外网的已设定SYN标记、目标是公司内部IP地址的TCP包进入公司网络。或者,管理员可以使用TCP 截取(Intercept)功能,TCP截取本来是一些防火墙的专有功能,现在已经被移植到路由器中。
4. 防御Smurf攻击:Smurf攻击向目标网络发起大量广播包,导致网络带宽被占满。管理员可以在路由器上禁止转发直接广播包,绝大部分路由器都具有该功能。
5. 过滤ICMP包:针对攻击者一般首先使用Ping或者Traceroute来选择攻目标、发动攻击的特点,管理员可以在路由器上过滤掉来自外部网络的带有Echo、Redirect标记的ICMP包,丢弃攻击者发起的网络试探数据流,而不影响内部机器对外部网络的Ping和Traceroute。
路由表的安全
路由器是根据路由表来转发接收到的数据包,路由表是通过路由协议计算得出的,可以分为静态路由协议和动态路由协议两种。静态路由是管理员根据需要手工添加到路由表中,优点是可靠、安全,不容易出错,缺点是必须手工逐条地配置路由,适合小型网络的管理员选用。动态路由协议(例如RIP、OSPF和BGP)是根据邻接路由器的路由更新消息来创建路由表,优点是动态生成路由、自动优选路由等,缺点是安全性差,适合大、中型网络用户使用。
目前有一些专门针对路由器协议的攻击软件,例如攻击主机不断向路由器发出伪造的路由更新消息,导致路由表计算出错误的路由表,导致网络上数据选路出错,数据可能丢失或者被窃取,管理员对此需要做好防范。
现在各种路由协议都支持进行邻接路由器认证,即发送的路由更新消息是加密的,不同路由器只有相同的密码才能正确识别路由更新消息。目前,由于配置复杂,目前我国互联网上绝大多数路由器都没有配置邻接路由器认证,因此,加强这方面的安全措施是必要的。邻接路由器认证支持明码验证和MD5密码验证,建议使用后者,这样安全性可以更高。
反向路由转发(Unicast Reverse-Path Forwarding)是一项增强路由安全的有效措施。它设定了以下数据包转发机制,当路由器接收到一个数据包,它检查路由表,确定返回数据包的源IP地址的路由是否从接收到该数据包的接口出去,如果是,则正常转发该数据包,否则,就会丢弃数据包。反向路由转发在防止DDoS攻击方面颇有成效,管理员可以加以采用。
流量控制与日志审记
路由器除了保护自身安全外,最重要的是可以保护所连接网络的安全。前面我们说了使用访问控制列表来过滤攻击流量,但是有时管理员会发现对服务器的攻击源都来自一个网段,都是真实IP地址,并且必须保证向该网段开通服务,同时不能影响其他网段对服务器的访问,这时管理员就不能单纯地过滤掉这些攻击流量,在这种情况下,管理员可以采取限制攻击流量带宽的措施来保护服务器。路由器一般都提供多种带宽控制手段,以保证QoS,例如队列、CAR以及流量策略等等方法,具体实现方法必须根据路由器类型而定。
管理员不可能7×24小时监视着路由器,网络运行中可能会发生很多突发情况。因此,使用日志记录路由器的报警信息十分重要,管理员可以借此对安全事件进行原因追查和故障排除等工作。建议管理员不仅在路由器内存中保留报警信息,最好是建立专门的日志服务器,并开启Syslog服务,接收路由器发送出的报警信息。