ACL访问控制列表的应用文档格式.docx

上传人:b****5 文档编号:19222552 上传时间:2023-01-04 格式:DOCX 页数:17 大小:247.72KB
下载 相关 举报
ACL访问控制列表的应用文档格式.docx_第1页
第1页 / 共17页
ACL访问控制列表的应用文档格式.docx_第2页
第2页 / 共17页
ACL访问控制列表的应用文档格式.docx_第3页
第3页 / 共17页
ACL访问控制列表的应用文档格式.docx_第4页
第4页 / 共17页
ACL访问控制列表的应用文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

ACL访问控制列表的应用文档格式.docx

《ACL访问控制列表的应用文档格式.docx》由会员分享,可在线阅读,更多相关《ACL访问控制列表的应用文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

ACL访问控制列表的应用文档格式.docx

例子access-list1permit1.1.1.1

访问控制列表必须在某种技术环节下调用,否则不存在任何意义。

一般调用在接口下,比较常用。

调用的时候有方向:

in或者out

注意:

每条访问控制列表后面都有一个隐式拒绝

一个编号的访问控制列表可以使用多行,默认一般都是以10开始编号,间隔是10,最大是2147483647。

一般认为无上限。

ACL书写的时候注意,是金字塔式的,从上到下,匹配的范围越来越大。

因为ACL一旦匹配,就会立即执行动作,不会放到后一条。

例子:

first:

deny192.168.1.0

Second:

permit192.168.0.0

Third:

deny192.0.0.0

ACL使用反掩码(标识一个子网的范围)和通配符(不连续)确定所写的网段的路由范围

反掩码与通配符的不同,是通配符不用连续

192.168.1.0192.168.3.0192.168.5.0如何用通配符匹配

192.168.1.0192.168.00000001.0

192.168.3.0192.168.00000011.0

192.168.5.0192.168.00000101.0

红位标注为不一致的地方,其他均为一致的地方,一致的地方使用0标识不一致的地方使用1标识,而且匹配IP地址最后的几个比特不做严格限制,最后结果是:

192.168.1.0(3.0、5.0都行最后默认都会变成1.0)0.0.6.255(通配符)

网络号是匹配路由的时候使用,IP是对数据包进行匹配

showipaccess-lists查询出匹配了多少包

clearipaccess-listscounters[aclnum]/<

没加反掩码或者通配符的话,那么后面自动跟上0.0.0.0

如果先permitany再permit明细的话,会报错。

扩展访问控制列表不会(因为有不同协议等)

2、扩展

可以匹配两个地址(源目的)、协议号、端口号等

扩展访问控制列表可以控制源和目的。

access-list100permit/deny/remark协议/协议编号范围x.x.x.x(源地址)/any/host/object-groupx.x.x.x(目的地址)/any/host/object-group

如果用的是IP协议最后还可以加上IP包头当中的不同字段

如果是TCP协议最后还可以加tcp包中的各种位

如果加上eq(等于)/gt(大于)/lt(小于)可以匹配TCP端口号

如果在eqxx后面还可以加某些端口下的特殊位

eqxx还可以放在源地址和目的地址之间。

如果eqxx放在源地址后,匹配源端口;

放在目的地址后匹配目的端口号

和标准访问控制列表一样需要调用。

3、访问控制列表调用

接口下调用:

in/out

切记ACL不能控制本地始发流量,环回接口也是一样。

ciscoIOS特性

如果想过滤始发流量:

第一种方法:

route-map

第二种方法:

service-policy

4、偏移列表

偏移列表(只能跟标准的)

offset-listxin/outxfx/x(进接口)

aclx匹配的路由都会在原有的metric上加x

此时acl时需要注意匹配的写法需要和路由表中的显示的一样,如果不想保持一致,可以使用通配符匹配,例如:

1.1.1.00.0.0.255

标准访问控制列表只能匹配路由条目,扩展访问控制列表可以匹配条目和掩码。

5、前缀列表

特点:

可以增量修改,比numberACL来讲删除一条整条就删除了,前缀列表可以单独删除活添加。

在IOS12.0以后的版本使用。

比ACL有性能的改进。

如果ACL超过1000条以上,此时更改成前缀列表,那么可能消耗资源占用会降低70%-85%。

命令:

ipprefix-listxxxdeny/permit/description/seqx.x.x.x/nnge大于/le小于/<

规则:

len<

ge-value<

=le-value

在大部分IGP当中扩展访问控制列表不生效。

应当使用标准访问控制列表。

列表中的序列号:

可以将列表排序和动态单独删除、插入,前缀列表起始是5,间隙是5。

ipprefix-listsequence-number不起作用

前缀列表注意命名的时候不要使用s或者seq,因为有命令混淆。

6、命名访问控制列表

ipaccess-listextended(扩展)/standard(标准)word/number

permit/denyx.x.x.x等等与普通ACL一样

还可以在动作之间直接加上序号。

但是都显示在末尾。

例如

 

为什么会这样,是因为这几个地址都是32位主机地址,互相不冲突就会添加到最后。

但如果形成冲突

例如:

这样的金字塔匹配,明显中间似乎少匹配了一个1.1.1.0

输入这样的命令:

R1(config)#ipaccess-liststandard1

R1(config-std-nacl)#11permit1.1.1.00.0.0.255

显示结果:

命名访问控制列表可以兼容号和名称,最好用名称。

利于标记。

命名注意:

对于字母来讲:

没有空格

对于数字来讲:

开头如果就是数字,那么一直是数字。

否则出错。

如果都是数字不能与默认ACL的号冲突。

类型需要匹配。

对于特殊字符来讲:

不能作为开头,特殊的就是“?

”如果想输入的话要同时按住ctrl+v松手输入“?

”。

注意带问号的命令可以敲,但是不可以复制,因为复制不上。

在acl进程下还有一些命令:

R1(config)#ipaccess-liststandardaaa

R1(config-std-nacl)#?

StandardAccessListconfigurationcommands:

<

1-2147483647>

SequenceNumber

defaultSetacommandtoitsdefaults初始化命令

denySpecifypacketstoreject

exitExitfromaccess-listconfigurationmode

noNegateacommandorsetitsdefaults

permitSpecifypacketstoforward

remarkAccesslistentrycomment标记

在外面也有一些命令:

R1(config)#ipaccess-list?

extendedExtendedAccessList扩展

helperAccessListactsonhelper-address访问控制列表扮演帮助地址,只能做egress上面的check(做出项检查,对目的地的过滤检查)

log-updateControlaccesslistlogupdates控制日志更新

R1(config)#ipaccess-listlog-updatethreshold?

0-2147483647>

Accesslistlog-updatethreshold(numberofhits)更新间隔的阀值匹配多少个包显示一次

loggingControlaccesslistlogging控制日志输入

R1(config)#ipaccess-listlogging?

hash-generationEnablesysloghashcodegeneration生成系统日志的hash代码

intervalSetaccesslistlogginginterval达到了每x毫秒一个包的时候,产生一个log信息。

范围0-2147483647

resequenceResequenceAccessList重新排序

如果有个acl是这样:

需要在11和12之间插入4.4.0.0插入不进去,则需要重新排序。

R1(config)#ipaccess-listresequencexxx[startingsequencenumber](起始号)[steptoincrementthesequencenumber](间隔号)

比如输入:

R1(config)#ipaccess-listresequencebbb1010

显示:

这样很显然就可以在30和40之间插入了。

standardStandardAccessList

7、基于时间的访问控制列表

会有很多策略需要在某段时间内生效。

比如中午午休,晚上加班等等。

GW(config)#ipaccess-listextendedaaa

GW(config-ext-nacl)#permitiphost12.1.1.1anytime-rangeOUT

启用aclaaa关联上time-range名字叫OUT,证明aclaaa中的那条acl只能在time-rangeOUT生效的情况下生效。

GW(config)#inte0/1

GW(config-if)#ipaccess-groupaaain挂起在e0/1接口in方向

time-range配置:

GW(config)#time-rangeOUT

GW(config-time-range)#?

Timerangeconfigurationcommands:

absoluteabsolutetimeanddate

GW(config-time-range)#absolute?

endendingtimeanddate结束时间,没有没有定义则永远生效

startstartingtimeanddate开始时间,没有定义的话就是从现在开始,直到某一个时间点结束。

defaultSetacommandtoitsdefaults

exitExitfromtime-rangeconfigurationmode

periodicperiodictimeanddate周期性生效每x怎么怎么样

GW(config-time-range)#periodic?

FridayFriday

MondayMonday

SaturdaySaturday

SundaySunday

ThursdayThursday

TuesdayTuesday

WednesdayWednesday

dailyEverydayoftheweek每天都生效

weekdaysMondaythruFriday工作日生效

weekendSaturdayandSunday周末生效

GW(config-time-range)#periodicweekdays[Startingtime]to[Endingtime]

GW(config-time-range)#periodicweekdays12:

00to13:

00

时间范围:

是从12:

00:

00到13:

59

如果在内部机器更改本地时间的话对ACL无影响。

但是更改GW的时间是有影响的。

GW#showipaccess-lists

ExtendedIPaccesslistaaa

10permitiphost12.1.1.1anytime-rangeOUT(inactive)如果是inactive是无效,如果是active是激活

GW#showtime-range

time-rangeentry:

OUT(inactive)

periodicweekdays12:

usedin:

IPACLentry

标准访问控制列表是没有time-range这个选项。

8、动态访问控制列表

可以动态的区分服务的对象。

与Autocommand命令结合使用

Autocommand例子:

linevty04

loginlocal

autocommandshowipintbr

username123password123

使用直连机器telnet这台设备输入用户名密码正确则会自动执行showipintbr这条命令,并且自动退出线程。

注意某些命令需要15级,比如showrun

联合dynamicacl使用

autocommandaccess-enable

usernamexxxprivilege15passwordxxx

ipaccess-listextendedaaa

permittcphostx.x.x.xhostx.x.x.xeq23

dynamicxxx(不能与aaa相同)permitipanyany

然后再接口上挂载acl,如果不使用linevty04线程登录的话是不可能启用动态acl的。

如果使用linevty04线程登录的话,启用动态acl则可以启用acl中的内容。

10permittcphost12.1.1.1host12.1.1.2eqtelnet(23matches)

20Dynamicbbbpermitipanyany

permitipanyany(5matches)动态列表激活后会生成一个一摸一样的aclcopy下来。

动态访问控制列表可以添加扩展访问控制列表后面的参数

还可以控制动态访问控制列表的存活时间。

GW(config-ext-nacl)#dynamicbbbtimeout1permitipanyany

Timeout是时间范文1-9999以分钟计数。

每telnet一次时间清零重新计数。

一个访问控制列表只能写一个dynamic,最好把所有的dynamic属性放在acl最后输入。

在vty线程下使用autocommandaccess-enablehost,做出谁telnet谁才能上网,不能一个人telnet成功所有人都能上了。

但是如果换成与认证成功的主机的ip,那么acl就检测不到了

只有扩展的访问控制列表才能支持。

access-listdynamic-extended将密钥超时时间延长到6分钟。

9、自反ACL

内部网络可以发送数据出去,但是一般从internet以外为源发起的数据进来的话可能会引起安全隐患。

但是如果在外网口做策略防止流量进入,那么就会把一些合法的数据流量阻止,比如,内网发起的连接,外网响应的数据回包。

自反ACL可以控制内部发起的连接的回包可以进来,其他的回包不可以。

单用established缺点:

只能使用TCP,因为他匹配的就是TCP中的established位

黑客如果伪装,虽然不可以窃取数据,但是完全可以DOS攻击

自反使用三个ACL组成:

内网允许出去的acl

外网拒绝所有的acl

外网生成的返回数据的acl

第一条:

permitipanyanyreflectbbb

放过数据以后建立一个反向的acl叫做bbb,然后把这个acl挂在接入内网的接口上

ipaccess-listextendeddenyall

evaluatebbb先行评估bbb

denyipanyany

此时从内ping外

此时从外ping内

此时再查看ACL

多出来一条acl,超时时间是300s,使用命令可调

GW(config-ext-nacl)#permitipanyanyreflectbbbtimeout?

1-2147483>

Maximumtimetoliveinseconds

自反访问控制列表的缺点:

多端口号的业务,因为没有表项造成不能回来数据流。

10、ACL的LOG

如果在一个网络当中,某一台服务器收到了某一台PC的攻击,可以使用ACL的LOG属性很快的定位出是哪台机器发起的攻击。

类似于下图

R1、R2上使用换回接口1.1.1.1和2.2.2.2模拟PC

R3上利用换回接口4.4.4.4模拟server

那么其中的一台PC向4.4.4.4发起狂ping,那么我在R3上如何看到是那个IP给我发过来的攻击呢?

可以使用ACL的LOG

使用标准acl的方法

access-list1permitanylog

挂在进接口上

此时由2.2.2.2ping4.4.4.4在R3上会显示

此时我们可以看出访问4.4.4.4的IP是2.2.2.2

但是为了防止日志刷屏,只显示出1个包的日志

如果想看看剩余的发包情况,可以直接no掉access-list就会显示出剩余包的日志

局限性:

只能基于any去做,因为标准访问控制列表是基于源来匹配的,并且只能精确到IP地址。

在使用DHCP网络中或者攻击者虚拟IP,那么就不能确定是真实的是哪台机器发起的攻击。

那么使用扩展访问控制列表:

access-list100permitipanyhost4.4.4.4log/log-input

仅使用log的时候和标准访问控制列表一样,使用log-input的时候可以显示很多

access-list100permitipanyany此条我觉得应该在真实环境下写,因为不写的话可能,只能放过对4.4.4.4的流量不能放过对其他的流量。

但是对于本实验没有影响。

把着个acl挂在接口进方向上

可以得到信息:

显示出了使用什么协议访问,攻击者的ip,攻击者的MAC,攻击者的物理端口号。

Logloginput默认5分钟提示一次结果

Loggingrate-limit[num]限制debug的输出/all限制所有的信息/console只限制console消息

Terminalmonitor

Terminalnomonitor关闭

11、ACLprecedence(dscp在QOS中介绍)

如果在ACL中匹配了precedence的值,那么他会查询数据包的IP层字段中的TOS位。

access-list100permitipanyhost4.4.4.4precedence0

此命令是指匹配访问4.4.4.4,并且TOS=1的数据包

应当使用扩展ping

默认使用的precedence就是0那么就会允许

如果把precedence的值设置为50

就不通了

12、ACLfragments

是否允许分片包的发送。

会检查DF位.

access-list100permitipanyhost4.4.4.4fragments

检查所有访问4.4.4.4的数据包flagoffset位的值

如果FO>

0则允许如果FO=0则不允许

挂在接口的进方向

不过如果是两台机器直连,类似于这样的拓扑

在f0/0下使用ipmtu100然后再R1上ping的时候大小用size关键字设置为400那么这些ping包就会分片。

但是依然是ping不通。

因为ping包的分片里面的第一个包FO=0其他的FO>

1,那么导致FO=0的数据被去掉,包不完整,所以ping不通(个人理解)。

那么一般的来说在上网的路由器,会接受到很多很多分片的,不完整的包。

类似于网关内部有一台webserver。

那么可以在外网的接口使用deny语句把那些分片的deny掉。

类似于这样的拓扑

只允许所有的人使用HTTP访问wwwserver可以这么写:

access-list100permittcpanyhost171.16.23.1eq80

access-list100denyipanyany

如果想拒绝一些个分片包可以这么写:

access-list101denyipanyhost171.16.23.1fragments

access-list101permittcpanyhost171.16.23.1eq80

access-list101denyipanyany

13、ACLoption选项

IP数据包里面有OPTION选项,如果需要匹配OPTION选项的话需要在访问控制列表以后加上。

但是在新的IOS中有一个问题,当你写入的时候会提示一个错误

R3(config)#access-list100permitipanyhost4.4.4.4optionnsapa

%IPOptionfilteringisallowedonnamedACLsonly

在新的IOS中对于Option选项的匹配需要写在命名的ACL当中

R3(config)#ipaccess-listextendedaaa

R3(config-ext-nacl)#permitipanyhost4.4.4.4optionnsapa

14、ACLremark

access-list100remarkR1-2-R2-ICMP-DENY

access-list100denyicmphost192.168.1.1host192

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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