ACL.docx

上传人:b****5 文档编号:4503126 上传时间:2022-12-01 格式:DOCX 页数:19 大小:260.97KB
下载 相关 举报
ACL.docx_第1页
第1页 / 共19页
ACL.docx_第2页
第2页 / 共19页
ACL.docx_第3页
第3页 / 共19页
ACL.docx_第4页
第4页 / 共19页
ACL.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

ACL.docx

《ACL.docx》由会员分享,可在线阅读,更多相关《ACL.docx(19页珍藏版)》请在冰豆网上搜索。

ACL.docx

ACL

ACL

提纲:

1.关于交换机中的ACL------版本60中考了

2.关于增强的ACL修改功能-----版本90中考了

3.关于ACL中的established参数

4.关于自反ACL

5.关于动态ACL-------版本80中考了

6.关于基于时间的ACL----------版本60中考了

7.关于基于上下文的访问控制(CBAC)------版本45中考了

可见:

ACL是相当重要的,在8次考题中考到了5次

 关于交换机中的ACL

交换机中使用2种ACL:

VLAN之间的ACL和VACL

一、VLAN之间的ACL和路由器中应用ACL是一样的

不同的地方是路由器挂到物理接口下,VLAN之间的ACL应用到SVI接口下

二、VACL

口诀:

VACL配置3步走

1.定义ACL

access-list110perip10.1.1.00.0.0.25510.1.2.00.0.0.255------抓流量

2.编写VACL

vlanaccess-mapnosound10//nosound是定义的名字

matchipaddress110

actiondrop//表示ACL抓出的流量丢弃

vlanaccess-mapnosound20

actionforward//表示其他所有流量转发

3.调用VACL

全局命令:

vlanfilternosoundvlan-list10//将VACLnosound应用到vlan10中

注意点:

1.VACL在应用的时候没有方向之分,这点和ACL有很大的不同。

所以

(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

matchipaddress110

actiondrop

vlanaccess-mapnosound20

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

actiondrop

vlanaccess-mapNOSOUND20

actionforward

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

解法:

ipaccess-liststandardICMP

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//此处是检查标签

inte1

ipaccess-groupE1OUTout

ipaccess-groupE1INin

第二种在内接口下配置:

ipaccess-listextendedE0IN

peripananreflectNOSOUND

ipaccess-listextendedE0OUT

evaluateNOSOUND

inte0

ipaccess-groupE0OUTout

ipaccess-groupE1INin

 思考题:

需求:

内网可以访问外网,外网只能访问内网的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

loginlocal

rotary1

inte0

ipaccess-group110in

案例六:

版本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

loginlocal

inte0

ipaccess-group110in

关于基于时间的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

inte1

ipacceNOSOUNDin

案例八:

版本60中的考点

需求:

Atweekdays,from8:

00amto6:

00pm,don'tpermitanywwwtrafficonVLAN_G.configureonR5foritanduseminimumcommandstofinishthis.

配置:

time-rangeT

periodicweekdays8:

00to18:

00

ipaccess-listexxtendedG

denytcpanyanyeqwwwtime-rangeT

permitipanyany

inte0

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

ipaccess-group110in

ipinspectOUTBOUNDin

ac120pericmpanyhost10.0.0.3

ac120pertcpanyhot10.0.0.3eqwww

ipinspectnameINBOUNDtcp

intfa0/1

ipaccess-group120in

ipinspectINBOUNDin

 案例九:

CBAC公司应用实例---三个接口的防火墙

配置:

ac110perip10.0.0.00.0.0.255any

ipinspectnameOUTBOUNDtcp

ipinspectnameOUTBOUNDudp

inte0/0

ipaccess-group110in

ipinspectOUTBOUNDin

ac120pericmpanyhost172.16.0.2

ac120pertcpanyhost172.16.0.2eqwww

ipinspectnameINBOUNDtcp

inte0/1

ipaccess-group120in

ipinspectINBOUNDin

ac130pericmphost172.16.0.2any

ac140pericmpanyhost172.16.0.2

ac140pertcpanyhost172.16.0.2eqwww

inte1/0

ipaccess-group130in

ipaccess

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1