ACLWord文档格式.docx
《ACLWord文档格式.docx》由会员分享,可在线阅读,更多相关《ACLWord文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
(1.)当要拒绝的时候写单方向的ACL就可以了
(2.)当要允许的时候要写双向的ACL,
比如,要允许vlan10(10.1.1.0/24)
和vlan20(10.1.2.0/24)之间访问,要写
access-list110perip10.1.1.00.0.0.25510.1.2.00.0.0.255
access-list110perip10.1.2.00.0.0.25510.1.1.00.0.0.255
案例一:
需求:
1.VLAN1和VLAN3、VLAN2和VLAN3可以互相访问
2.VLAN1和VLAN2不能互相访问
3.VLAN1内部的主机1和主机2不能互相访问,其它主机都能互相访问
思路:
凡是做VACL的思路是先将不能访问的用单向ACL抓出来
能访问的不要管
解法:
ac110periphost10.1.1.2host10.1.1.3
ac110perip10.1.1.00.0.0.25510.2.2.00.0.0.255
vlanaccess-mapnosound10
actiondrop
actionforward
vlanfilternosoundvlan-list1-3
//此处个人觉得只应用到vlan1就可以了
进一步理解:
VLAN之间的ACL应用到3层交换机中,而VACL应用到二层交换机中
但是有一种需求,就是同一个VLAN之间主机相互访问或者拒绝只能使用VACL来实现
案例二:
版本60中的一个关于VACL的考题
在Sw1SVIVLAN_TEST上写一个命名访问列表,名字是大写的ACL1,必须用permit语句,deny172.16.10.0/24到VLAN_TEST的流量,Permit172.16.0.0/16的流量到VLAN_TEST,并且允许拓扑中其他所有流量通过
其中:
VLAN_TEST的网络是11.11.80.0/28,VLAN号是801
ipaccess-listextendedACL1
permitip172.16.10.00.0.0.25511.11.80.00.0.0.15
vlanaccess-mapNOSOUND10
matchipaddressACL1
vlanaccess-mapNOSOUND20
vlanfilterNOSOUNDvlan-list801
关于增强的ACL修改功能
使用命令:
ipaccess-listextended101
15permitiphost1.1.1.1host4.4.4.4
则:
重新编号,使用命令:
ipaccess-listresequenceaccess-list-numberstart-numberincrease-number
案例三:
版本90中的一个关于ACL修改功能的考题
R1上预配置了一个ACL,如下:
ipaccess-liststandardICMP
deny30.1.1.00.0.0.255
deny30.1.2.00.0.0.255
deny30.1.3.00.0.0.255
deny30.1.5.00.0.0.255
permitany
网管忘记添加deny30.1.4.00.0.0.255,要求你添加上去,并且出现在3.0和5.0之间,不能重启路由器,不能移除条目,不能重新调用ACL
35deny30.1.4.00.0.0.255
关于ACL中的established参数
补充:
TCP的3次握手知识
A发给B的第一个数据包中没有ACK位,通过这点可以判断出A在向B发起连接。
扩展ACL中的established参数可以根据数据包中是否设置了ACK位来对分组进行过滤,没有ACK为的不符合established条件
established=ack位,外接口,in方向
案例三:
单向访问实验
允许10.1.1.0/24网络中的主机向10.2.2.0/24网络中的主机发起TCP连接,禁止10.2.2.0/24网络中的主机向10.1.1.0/24网络中的主机发起TCP连接
access-list110pertcp10.2.2.00.0.0.25510.1.1.00.0.0.255established
inte1
ipaccess-group110in
使用telnet测试一下,会发现R4可以远程登录到R5,但R5不可以远程登录到R4
扩展ACL中的established参数的缺点:
仅用于基于TCP的上层协议,而对于其他上层协议,如UDP,ICMP等等则无法实现单向访问控制
关于自反ACL
反射ACL的工作原理:
当内部网络发起一个会话并且将数据发送给外部网络时
反射ACL就被触发并且生成一个临时条目
如果从外部网络过来的数据流符合临时条目,则允许其进入内部网络
否则禁止进入内部网络
1.弥补了established的不足
2.只能使用扩展命名访问列表来做
3.临时条目的生存期:
对于TCP会话,
如果路由器检测到两组FIN标记的分组,则在5秒内将临时条目删除;
如果路由器检测到RST位的分组,则立刻删除临时条目。
对于UDP和其他协议,由于没有专门的机制来判断会话是否结束
默认会存300s,可以使用命令ipreflexive-listtimeoutseconds来修改
案例四:
自反ACL
允许R4连接R5,不允许R5连接R4
有两种方法:
第一种在外接口下配置:
ipaccess-listextendedE1OUT
peripanyanyreflectTAG//此处类似于打标签
ipaccess-listextendedE1IN
evaluateTAG//此处是检查标签
ipaccess-groupE1OUTout
ipaccess-groupE1INin
第二种在内接口下配置:
ipaccess-listextendedE0IN
peripananreflectNOSOUND
ipaccess-listextendedE0OUT
evaluateNOSOUND
inte0
ipaccess-groupE0OUTout
思考题:
内网可以访问外网,外网只能访问内网的10.1.1.5的HTTP服务器
并且可以ping10.1.1.5,使用自反访问列表实现
ipaccess-listextendedACLOUT
peripanyanyrefNOSOUND
ipaccess-listextendedACLIN
pertcpanyhost10.1.1.5eqwww
pericmpanyhost10.1.1.5
evaluateNOSOUND//相于对所有的包进行检查
然后挂到出接口下就可以了
关于动态ACL
动态ACL一般用于控制外网用户对内网服务器的访问
如下图:
当internet上的用户需要访问内网的服务器时
首先向路由器发起一个telnet会话,并且提供相应的用户名和密码
在用户被认证后,路由器关闭telnet会话
并且将一个临时的ACL语句置于E0口的ACL中
以允许源地址为认证用户工作站地址的数据包通过
和自反访问列表一样,动态ACL也会创建临时条目,其生存周期有两个参数:
空闲时间和绝对时间。
当路由器产生临时条目时,该临时条目的空闲计时器和绝对计时器同时启动。
每当有临时条目的数据包时,空闲计时器被复位。
绝对计时器永远不会复位。
这两个计时器有一个超时时,该动态条目就会被删除。
通常情况下,绝对时间应设置的大一些,例如:
12小时、一天等等
空闲时间设置的小一些,例如:
10分钟,1小时等等。
1.必须手工设置空闲时间和绝对时间,否则均为无穷
即临时条目永不删除,除非重启路由器
2.只能使用扩展的访问列表做
==============================
这种情况会带来一个问题:
所有的telnet请求都会被路由器认为是要开启一个动态ACL条目
当用会被认证之后,telnet会话很快就会被关闭
这带来的问题就是网络管理员不再能够通过telnet对路由器进行管理。
解决方案:
在一部分VTY线路上使用rotary命令开启其他的telnet端口
例如:
rotary1命令开启3001端口,rotary2命令开启3002端口,以此类推
案例五:
动态ACL
10.1.1.0/24的用户能够访问internet,同时internet上的用户需要访问www服务器时,需要先到路由器上认证
路由器上的配置:
access-list110pertcpanyhost172.16.1.1eqtelnet
access-list110pertcpanyhost172.16.1.1eq3001
access-list110pertcpany10.1.1.00.0.0.255gt1023established
access-list110perudpany10.1.1.00.0.0.255gt1023
access-list110dynamicNOSOUNDtimeout720permittcpanyhost10.1.1.1eqwww//注意这里的timeout设置的是绝对时间,720代表720分钟,即12小时只有telnet触发了,才能生效
usernamenosoundpasswordsurpass
linevty02
loginlocal
autocommandaccess-enablehosttimeout10//这里的timeout设置的是空闲时间,10代表10分钟
linevty34
rotary1
案例六:
版本80中的动态ACL考点
VLAN_D中的工程师有时需要连接到全网进行调试
但他们必须通过R4的检验方可访问全网,R4使用本地验证方式
要求:
进行验证,用户名:
ccie,密码:
cisco
这样的行为可以持续10分钟,如果两分钟没有动作,就中断会话
不能影响ping和路由
R4的访问点是11.11.13.4,VLAN_D是11.11.13.0
access-list110pericmpanan
access-list110perospfanan
access-list110pertcp11.11.13.00.0.0.255host11.11.13.4eqtelnet
access-list110dynamicNOSOUNDtimeout10permittcp11.11.13.00.0.0.25511.11.0.00.0.255.255eqtelnet
usernamecciepasswordcisco
usernameccieautocommandaccess-enablehosttimeout2
linevty04
关于基于时间的ACL
命令:
time-rangetime-range-name
absolute[starthh:
mm][endhh:
mm]//注意:
时间参数必须以24小时制来表示
periodicdays-of-the-weekhh:
mm[days-of-the-week]hh:
mm
注意:
只能使用扩展的访问列表做
案例七:
基于时间的访问列表
某企业要求周一到周五的上午9:
00到下午17:
00不允许任何访问internet的IP流量
time-rangeT
periodicweekdays9:
00to17:
00
ipaccess-listextendedNOSOUND
denyipanantime-rangeT
permitipanan
ipacceNOSOUNDin
案例八:
版本60中的考点
Atweekdays,from8:
00amto6:
00pm,don'
tpermitanywwwtrafficonVLAN_G.configureonR5foritanduseminimumcommandstofinishthis.
配置:
periodicweekdays8:
00to18:
ipaccess-listexxtendedG
denytcpanyanyeqwwwtime-rangeT
permitipanyany
ipaccess-groupGin
关于基于上下文的访问控制(CBAC)
CBAC:
Context-BasedAccessControl
================================
CBAC是CiscoIOS防火墙特性集中的一个特性。
Cisco防火墙特性集包括3个部分:
1.CiscoIOSFirewall:
其实就是CBAC
2.Authenticationproxy:
认证代理
3.IPS
CBAC是相当的强大的,它具有很多的特点.
特点一:
设置审计跟踪和警告
loggingon
logging10.1.1.3
ipinspectaudit-trail//打开审计跟踪功能
noipinspectalert-off//打开警告功能
特点二:
设置全局超时时间
ipinspecttcpsynwait-timexxx//定义在丢弃会话之前,CBAC将等待多长时间使TCP会话达到已建立状态,默认30秒
ipinspecttcpfinwait-timexxx//定义当防火墙检测到TCP会话的FIN信号时,它还将管理这个会话多长时间,默认5秒
ipinspecttcpidle-timexxx//定义TCP的空闲超时值,默认1小时
ipinspectudpidle-timexxx//定义UDP的空闲超时值,默认是30秒
ipinspectdns-timeoutxxx//定义DNS的空闲超时值,默认是5秒
============================
补充
术语:
半打开会话---对于TCP来讲,半打开会话指会话没有达到建立状态,即TCP三次握手还没有完成;
对UDP来讲,半打开会话是指防火墙在一定时间内没有检测到返回的流量。
如果路由器检测到过多的半打开会话,说明网络中可能存在DoS攻击
特点三:
设置全局阀值
ipinspectmax-incompletehighxxx//用于定义半打开会话数量的最大值,当半打开会话的数量超过此阀值时,CBAC开始删除现有的半打开会话,默认值是500
ipinspectmax-incompletelowxxx//用于定义半打开会话的最小值,当半打开会话的数量降低到此阀值时,CBAC停止删除半打开会话,默认是400
上面两个命令每1分钟查看一次统计信息,但有可能一分钟之内的半开会话时600,但是1分钟以后才能知道,此时才开始删除半开会话。
下面两个命令用于解决这个问题
ipinspectone-minutehighxxx//定义新连接的尝试速率的最大值,当新连接的尝试速率超过此阀值时,CBAC开始删除现有的半打开会话,默认值是500
ipinspectone-minutelowxxx//定义新连接尝试速率的最小值,当新连接的尝试速率降低达到此阀值时,CBAC停止删除半打开会话,默认值是400
特点四:
设置主机限制的半开连接
ipinspecttcpmax-incompletehostnumberblock-timeminutes//number表示同一目的主机所允许的半开TCP连接数量,范围是1-250,默认是50;
minutes指删除新连接请求所持续的时间,默认值是0,代表当会话数达到此阀值时,每一个新连接请求到达此主机,CBAC就删除一个最老的半打开会话,以确保新的连接。
如果该参数的值设置的大于0,当会话数达到此阀值时,CBAC会删除所有到达该主机的半打开会话,并阻塞所有到该主机的新连接请求,直到block-time超时
特点五:
PAM
PAM:
Port-to-ApplicationMapping端口到应用的映射,可以用命令showipport-map命令查看
ipport-mapappl_nameportport_num:
很好理解,不用多说了
以上5个特点可以可选的配置
下面是必须要进行配置的命令
ipinspectnameinspection-nameprotocol[alert{on|off}][audit-trail{on|off}][timeoutseconds]
ints1/1
ipinspectinspect-name[in|out]
例子:
1.定义一个审查规则,对ftp协议进行审查,开启告警和审查跟踪,将FTP的空闲超时时间设置为30秒
ipinspectnameNOSOUNDftpalertonaudit-trailontimeout30
2.定义一个审查规则,对tcp和udp流量进行审查
ipinspectnameNOSOUNDtcp
ipinspectnameNOSOUNDudp
3.定义一个HTTPJava审查规则,将10.1.1.0/24网络设置为友好站点,审查规则将过滤来自于非友好站点的Java小程序
access-list10permit10.1.1.00.0.0.255
ipinspectnameJAVAFILTERhttpjava-list10
1.CBAC将忽略回包的一切access-list列表
2.部署CBAC的规则:
在数据流开始的接口上
(1)将ACL放置在向内的方向上,仅允许期望的数据流
(2)将检查规则放置在向内的方向上,仅允许期望的数据流
在其他所有的接口上放置ACL,拒绝所有数据流
CBAC公司应用实例---两个接口的防火墙
R1_Firewall的配置:
ac110perip10.0.0.00.0.0.255any
ipinspectnameOUTBOUNDtcp
ipinspectnameOUTBOUNDudp
intfa0/0
ipinspectOUTBOUNDin
ac120pericmpanyhost10.0.0.3
ac120pertcpanyhot10.0.0.3eqwww
ipinspectnameINBOUNDtcp
intfa0/1
ipaccess-group120in
ipinspectINBOUNDin
案例九:
CBAC公司应用实例---三个接口的防火墙
inte0/0
ac120pericmpanyhost172.16.0.2
ac120pertcpanyhost172.16.0.2eqwww
inte0/1
ac130pericmphost172.16.0.2any
ac140pericmpanyhost172.16.0.2
ac140pertcpanyhost172.16.0.2eqwww
inte1/0
ipaccess-group130in
ipaccess