在向大家详细介绍Cisco 路由器ACL之前,首先让大家了解下防止Cisco 分组泄露,然后给出全面的介绍,在解决相似问题的时候,找到了这篇文章,感觉还不错。防止路径追踪,检测和确认网络设备(路由器或防火墙)只需要用到traceroute、netcat、nmap或SuperScan等工具就够了。针对路径追踪的对策:在Cisco路由器上限制对TTL已过期的分组进行响应:access-list 101 deny icmp anyany 11 0也可以只允许对某些信任的网络通过ICMP分组,而拒绝其他任何网络:
access-list 101 permit icmpany 10.16.10.0 0.255.255.255 11 0
access-list 101 deny ip anyany log
1.防止Cisco 分组泄露,Cisco分组泄露脆弱点最初是JoeJ在Bugtraq上公开的,他与Cisco设备在1999端口(ident端口)上对TCP SYN请求的响应有关。下面就是针对这个脆弱点的方法:access-list 101 deny tcp anyanyeq 1999 log ! Block Ciscoident scan。
2.防止Cisco旗标攫取与查点,Cisco finger 及2001,4001,6001号虚拟终端端口都对攻击者提供不少信息,比如访问URL为http://10.16.10.254:4001那么所的结果可能大体是:User Access VerificationPassword: Password: % Bad passwords,另外Cisco Xremote 服务(9001端口),当攻击者用netcat连接该端口时,路由器也会发送回一个普通旗标。针对这些查点,采取的措施就是使用安全的Cisco 路由器ACL规则限制访问这些服务,比如:
access-list 101 deny tcp anyany 79
access-list 101 deny tcp anyany 9001
3.防止TFTP下载,几乎所有路由器都支持TFTP,攻击者发掘TFTP漏洞用以下载配置文件通常轻而易举,在配置文件里含有很多敏感信息,比如SNMP管理群名字及任意Cisco 路由器ACL。执行下面措施可去除TFTP脆弱点:access-list 101 deny udp anyany eq 69 log ! Block tftp access
4.防止RIP欺骗,支持RIP v1或RIP v2的路由器很容易被RIP攻击。针对这类攻击在边界路由器上禁止所有RIP分组(端口号为520的TCP/UDP分组),要求使用静态路由,禁止RIP。
5.保护防火墙,比如CheckPoint的Firewall-1在256,257,258TCP端口上监听,Microsoft的Proxy Server在1080和1745 TCP端口上监听,使用扫描程序发现这些防火墙就很容易了。为了防止来自因特网上的防火墙扫描,就需要在防火墙之前的路由器上使用Cisco 路由器ACL规则阻塞这些扫描:
access-list 101 deny tcp anyanyeq 256 log ! Block Firewall-1scan
access-list 101 deny tcp anyanyeq 257 log ! Block Firewall-1scan
access-list 101 deny tcp anyanyeq 258 log ! Block Firewall-1scan
access-list 101 deny tcp anyanyeq 1080 log ! Block Socks scan
access-list 101 deny tcp anyanyeq 1745 log ! Block Winsockscan
ICMP和UDP隧道攻击能够绕过防火墙,(参见http://phrack.infonexus.com/search.phtml?view&article=p49-6)针对这种攻击可以对ICMP分组采用限制访问控制,比如下面Cisco 路由器ACL规则将因管理上的目的而禁止穿行不是来往于10.16.10.0子网的所有ICMP分组:
access-list 101 permit icmpany 10.16.10.0 0.255.255.255 8 ! echo
access-list 101 permit icmpany 10.16.10.0 0.255.255.255 0 ! echo-reply
access-list 102 deny ip anyany log ! deny and log all else
6.防止非授权用户控制VTY(Telnet)访问,比如如下规则就只允许主机10.16.10.8远程登陆到路由器:
Router(config)#access-list 50permit 10.16.10.8
Router(config)#line vty 0 4
Router(config-line)#access-list 50 in
7.防止IP地址欺骗,在面向Internet的接口S0/0应该有一个规则来阻止任何源地址在200.200.200.xxx范围内的数据包:
access-list 101 deny ip200.200.200.0 0.0.0.255 any
access-list 101 deny ip10.0.0.0 0.0.0.255 any (禁止非法地址访问内网)
access-list 101 deny ip172.16.0.0 0.15.255.255 any (禁止非法地址访问内网)
access-list 101 deny ip192.168.0.0 0.0.255.255 any (禁止非法地址访问内网)
access-list 101 permit ip anyany
8.控制蠕虫病毒传播,在控制蠕虫病毒传播方面ACL也有其作用,比如Nachi蠕虫是通过ICMP报文来造成网络拥塞的,我们只要阻止ICMP报文传播就可以:access-list 101 deny icmp anyany echo,对付其他一些通过固定端口传播的蠕虫病毒则可以通过ACL规则封闭这些端口,比如Blaster蠕虫(传播通常使用4444、69、135、139、445、593等)。以上只是Cisco 路由器ACL安全性的部分总结,希望是抛砖引玉,由于作者水平有限,如有错误请斧正。