扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
二、根据具体应用,确立访问列表的内容
1. 过滤TCP(Transmission Control Protocol)协议
例如:某个企业(如图)总部在网络上为其分支机构提供的应用主要有:⑴远程登录访问(telnet: TCP port 23)⑵发送接收电子邮件(smtp:TCP port 25,pop3:TCP port 110)⑶WWW(http:TCP port 80),而总部可以任意访问他的分支机构,
那么他的路由器的访问列表定义如下:
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 23
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 25
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 110
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 eq 80
access-list 100 permit tcp any any established
……
interface serial 0
ip access-group 100 in
由于路由器对流经Serial 0 的TCP报文均按照access-list 访问列表的内容顺序进行检测,这无疑将大大加重路由器CPU的负担,因此,建立访问列表一段时间后,可使用命令"show access-list 100"检查每项access-list 后面括号中TCP报文的matched数,根据matched数由大到小的顺序重新排列访问列表每个access-list的顺序,这样可以减少报文在访问列表中不必要的检测,减少特定报文查找访问列表的时间,降低路由器CPU的负担。
一定注意到access-list 100 的最末尾使用了关键字"established",它被CISCO路由器访问列表用来允许TCP返回的报文。它检测TCP报文中ACK或RST标志位的存在,如果报文中的ACK或RST位被设置了,则通常表示报文是一个正在进行的会话的一部分,所以,使用关键字"established"是一种判断报文是否为一个已知会话的一部分的简单方法。但是,作为网络黑客可以非常容易地写出一段程序,用来生成这两个标志,并将带有ACK或RST标志位的报文发送出去,而这些报文却并非正在进行的合法会话的一部分。在实践中我们发现TCP返回的报文随机选择的端口号范围为1024~65536(因为Well- Know port的端口范围是1~1023),所以我们可以将含有关键字"established"的访问控制语句改为:
access-list 100 permit tcp any 192.168.18.0 0.0.0.255 gt 1023 established
这就确保了进入企业内部网络的报文,其目的端口号必须大于1023。那么,黑客的攻击报文即使欺骗地使用了ACK和RST位,企图逃脱访问列表项的控制,但是它的端口号必须大于1023,这能使得欺骗性的报文不会对端口号低于1024的网络设备如FTP、DNS、HTTP等服务器造成影响,在一定程度上提高了网络的安全性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。