IP访问控制列表算是Cisco IOS一个内在的security feature,以下是对常用的动态访问控制列表做了个总结。
Pt.1 Lock-and-Key Security
Lock-and-Key Overview
lock-and-key动态ACL使用IP动态扩展ACL过滤IP流量。当配置了lock-and-key动态ACL之后,临时被拒绝掉的IP流量可以获得暂时性的许可。 lock-and-key动态ACL临时修改路由器接口下已经存在的ACL,来允许IP流量到达目标设备。之后lock-and-key动态ACL把接口状态还原。
通过lock-and-key动态ACL获得访问目标设备权限的用户,首先要开启到路由器的telnet会话。接着lock-and-key动态ACL自动对用户进行认证。如果认证通过,那么用户就获得了临时性的访问权限。
Configuring Lock-and-Key
配置lock-and-key动态ACL的步骤如下:
1.设置动态ACL:
BitsCN(config)#access-list {access-list-number} [dynamic dynamic-name [timeout minutes]] {deny|permit} telnet {source source-wildcard destination destination-wildcard}
2.扩展动态ACL的绝对计时器。可选:
BitsCN(config)# access-list dynamic-extend
3.定义需要应用ACL的接口:
BitsCN(config)#interface {interface}
4.应用ACL:
BitsCN(config-if)#ip access-group {ACL}
5.定义VTY线路:
BitsCN(config)#line vty {line-number [ending-line-number]}
6.对用户进行认证:
BitsCN(config)#username {username} password {password}
7.采用TACACS认证或本地认证方式。可选:
BitsCN(config-line)#login {tacacs|local}
8.创建临时性的访问许可权限,如果没有定义参数host,默认为所有主机:
BitsCN(config-line)#autocommand access-enable {host} [timeout minutes]
Case 1
在5分钟内开启到172.16.1.2的telnet会话,如果认证成功,对用户给予120秒的访问许可权:
Monitoring and Maintaining Lock-and-Key
查看ACL信息:
一般情况下,TCP连接的建立需要经过三次握手的过程:
1.建立发起者向目标计算机发送一个TCP SYN数据包。
2.目标计算机收到这个TCP SYN数据包后,在内存中创建TCP连接控制块(TCB),然后向发送源回复一个TCP确认(ACK)数据包,等待发送源的响应。
3.发送源收到TCP ACK数据包后,再以一个TCP ACK数据包,TCP连接成功。
TCP SYN洪水攻击的过程:
1.攻击者向目标设备发送一个TCP SYN数据包。
2.目标设备收到这个TCP SYN数据包后,建立TCB,并以一个TCP ACK数据包进行响应,等待发送源的响应。
3.而发送源则不向目标设备回复TCP ACK数据包,这样导致目标设备一致处于等待状态。
4.如果TCP半连接很多,会把目标设备的资源(TCB)耗尽,而不能响应正常的TCP连接请求。,从而完成拒绝服务的TCP SYN洪水攻击。
TCP拦截特性可以防止TCP的SYN洪水攻击。TCP拦截特性的两种模式:
1.拦截(intercept):软件将主动拦截每个进站的TCP连接请求(TCP SYN),并以服务器的身份,以TCP ACK数据包进行回复,然后等待来自客户机的TCP ACK数据包。当再次收到客户机的TCP ACK数据包后,最初的TCP SYN数据包被移交给真正的服务器,软件进行TCP三次握手,建立TCP连接。
2.监控(watch):进站的TCP连接请求(TCP SYN)允许路由器移交给服务器,但是路由器将对连接进行监控,直到TCP连接建立完成。如果30秒内TCP连接建立不成功,路由器将发送重置(Reset)信号给服务器,服务器将清除TCP半连接。