本文将以Cisco2621路由器为例,详细介绍将一台路由器配置为堡垒路由器的实现方法,使之成为校园网抵御外部攻击的第一道安全屏障。
一、基于访问表的安全防范策略
1. 防止外部IP地址欺骗
外部网络的用户可能会使用内部网的合法IP地址或者回环地址作为源地址,从而实现非法访问。针对此类问题可建立如下访问列表:
access-list 101 deny ip 10.0.0.0 0.255.255.255 any
access-list 101 deny ip 192.168.0.0 0.0.255.255 any
access-list 101 deny ip 172.16.0.0 0.0.255.255 any
! 阻止源地址为私有地址的所有通信流。
access-list 101 deny ip 127.0.0.0 0.255.255.255 any
! 阻止源地址为回环地址的所有通信流。
access-list 101 deny ip 224.0.0.0 7.255.255.255 any
! 阻止源地址为多目的地址的所有通信流。
access-list 101 deny ip host 0.0.0.0 any
! 阻止没有列出源地址的通信流。
注:可以在外部接口的向内方向使用101过滤。
2. 防止外部的非法探测
非法访问者对内部网络发起攻击前,往往会用ping或其他命令探测网络,所以可以通过禁止从外部用ping、traceroute等探测网络来进行防范。可建立如下访问列表:
access-list 102 deny icmp any any echo
! 阻止用ping探测网络。
access-list 102 deny icmp any any time-exceeded
! 阻止用traceroute探测网络。
注:可在外部接口的向外方向使用102过滤。在这里主要是阻止答复输出,不阻止探测进入。
3. 保护路由器不受攻击
路由器一般可以通过telnet或SNMP访问,应该确保Internet上没有人能用这些协议攻击路由器。假定路由器外部接口serial0的IP为200.200.200.1,内部接口fastethernet0的IP为200.200.100.1。可以生成阻止telnet、SNMP服务的向内过滤保护路由器。建立如下访问列表:
access-list 101 deny tcp any 200.200.200.1 0.0.0.0 eq 23
access-list 101 deny tcp any 200.200.100.1 0.0.0.0 eq 23
access-list 101 deny udp any 200.200.200.1 0.0.0.0 eq 161
access-list 101 deny udp any 200.200.100.1 0.0.0.0 eq 161
注: 在外部接口的向内方向使用101过滤。当然这会对管理员的使用造成一定的不便,这就需要在方便与安全之间做出选择。
4. 阻止对关键端口的非法访问
关键端口可能是内部系统使用的端口或者是防火墙本身暴露的端口。对这些端口的访问应该加以限制,否则这些设备就很容易受到攻击。建立如下访问列表:
access-list 101 deny tcp any any eq 135
access-list 101 deny tcp any any eq 137
access-list 101 deny tcp any any eq 138
access-list 101 deny tcp any any eq 139
access-list 101 deny udp any any eq 135
access-list 101 deny udp any any eq 137
access-list 101 deny udp any any eq 138
access-list 101 deny udp any any eq 139
5. 对内部网的重要服务器进行访问限制
对于没有配备专用防火墙的校园网,采用动态分组过滤技术建立对重要服务器的访问限制就显得尤为重要。对于配备了专用防火墙的校园网,此项任务可以在防火墙上完成,这样可以减轻路由器的负担。无论是基于路由器实现,还是在防火墙上完成设置,首先都应该制定一套访问规则。可以考虑建立如下的访问规则:
● 允许外部用户到Web服务器的向内连接请求。
● 允许Web服务器到外部用户的向外答复。
● 允许外部SMTP服务器向内部邮件服务器的向内连接请求。
● 允许内部邮件服务器向外部SMTP服务器的向外答复。
● 允许内部邮件服务器向外DNS查询。
● 允许到内部邮件服务器的向内的DNS答复。
● 允许内部主机的向外TCP连接。
● 允许对请求主机的向内TCP答复。
其他访问规则可以根据各自的实际情况建立。列出允许的所有通信流后,设计访问列表就变得简单了。注意应将所有向内对话应用于路由器外部接口的IN方向,所有向外对话应用于路由器外部接口的OUT方向。
二、常见攻击手段及其对策
1. 防止外部ICMP重定向欺骗
攻击者有时会利用ICMP重定向来对路由器进行重定向,将本应送到正确目标的信息重定向到它们指定的设备,从而获得有用信息。禁止外部用户使用ICMP重定向的命令如下:
interface serial0
no ip redirects
2. 防止外部源路由欺骗
源路由选择是指使用数据链路层信息来为数据报进行路由选择。该技术跨越了网络层的路由信息,使入侵者可以为内部网的数据报指定一个非法的路由,这样原本应该送到合法目的地的数据报就会被送到入侵者指定的地址。禁止使用源路由的命令如下:
no ip source-route
3. 防止盗用内部IP地址
攻击者可能会盗用内部IP地址进行非法访问。针对这一问题,可以利用Cisco路由器的ARP命令将固定IP地址绑定到某一MAC地址之上。具体命令如下:
arp 固定IP地址 MAC地址 arpa
4. 在源站点防止smurf
要在源站点防止smurf,关键是阻止所有的向内回显请求。这就要防止路由器将指向网络广播地址的通信映射到局域网广播地址。可以在LAN接口方式中输入如下命令:
no ip directed-broadcast
三、关闭路由器上不用的服务
路由器除了可以提供路径选择外,它还是一台服务器,可以提供一些有用的服务。路由器运行的这些服务可能会成为敌人攻击的突破口,为了安全起见,最好关闭这些服务。
通过以上介绍的各种方法,我们成功地将一台普通路由器配置为一台堡垒路由器,在没有增加任何投入的情况下,提高了整个园区网的安全性。但应该说明的是,堡垒路由器的实现是以牺牲整个网络的效率为代价的,可能会影响到园区网对外访问的速度。