访问控制列表

来源:互联网 发布:细说php 下载 编辑:程序博客网 时间:2024/05/23 00:07

访问控制列表(ACL)  

 使用 ACL 的指导原则:

在位于内部网络和外部网络(例如 Internet)交界处的防火墙路由器上使用 ACL。
在位于网络两个部分交界处的路由器上使用 ACL,以控制进出内部网络特定部分的流量。
在位于网络边界的边界路由器上配置 ACL。这样可以在内外部网络之间,或网络中受控度较低的区域与敏感区域之间起到基本的缓冲作用。
为边界路由器接口上配置的每种网络协议配置 ACL。您可以在接口上配置 ACL 来过滤入站流量、出站流量或两者。
3P 原则
记住 3P 原则,您便记住了在路由器上应用 ACL 的一般规则。您可以为每种协议 (per protocol)、每个方向 (per direction)、每个接口 (per interface) 配置一个 ACL:
每种协议一个 ACL 要控制接口上的流量,必须为接口上启用的每种协议定义相应的 ACL。
每个方向一个 ACL 一个 ACL 只能控制接口上一个方向的流量。要控制入站流量和出站流量,必须分别定义两个 ACL。
每个接口一个 ACL 一个 ACL 只能控制一个接口(例如快速以太网 0/0)上的流量。ACL 的编写可能相当复杂而且极具挑战性。每个接口上都可以针对多种协议和各个方向进行定义。示例中的路由器有两个接口配置了 IP、AppleTalk 和 IPX。该路由器可能需要 12 个不同的 ACL — 协议数 (3) 乘以方向数 (2),再乘以端口数 (2)。
ACL 执行以下任务:
限制网络流量以提高网络性能。例如,如果公司政策不允许在网络中传输视频流量,那么就应该配置和应用 ACL 以阻止视频流量。这可以显著降低网络负载并提高网络性能。
提供流量控制。ACL 可以限制路由更新的传输。如果网络状况不需要更新,便可从中节约带宽。
提供基本的网络访问安全性。ACL 可以允许一台主机访问部分网络,同时阻止其它主机访问同一区域。例如,“人力资源”网络仅限选定用户进行访问。
决定在路由器接口上转发或阻止哪些类型的流量。例如,ACL 可以允许电子邮件流量,但阻止所有 Telnet 流量。
控制客户端可以访问网络中的哪些区域。
屏蔽主机以允许或拒绝对网络服务的访问。ACL 可以允许或拒绝用户访问特定文件类型,例如 FTP 或 HTTP。
标准 ACL
Router(config)#access-list 10 permit 192.168.30.0 0.0.0.255 允许来自网络 192.168.30.0/24 的所有流量。因为 ACL 末尾隐含了 “deny any”,所以它将阻止所有其它流量
扩展 ACL
Router(config)#access-list 10 permit tcp 192.168.30.0 0.0.0.255 any ep 80 ACL 103 允许从 192.168.30.0/24 网络中任意地址到任意主机的 80 端口 (HTTP) 的流量

编号 ACL:
根据要过滤的协议分配编号:
(1 到 99)以及(1300 到 1999):标准 IP ACL
(100 到 199)以及(2000 到 2699):扩展 IP ACL注:编号 200 到 1299 被跳过,原因是这些编号已由其它协议使用,例如,AppleTalk 使用编号 600 到 699,而 IPX 使用编号 800 到 899。

命名 ACL:
为 ACL 指定名称:
名称中可以包含字母数字字符。
建议名称以大写字母书写。
名称中不能包含空格或标点,而且必须以字母开头。
您可以添加或删除 ACL 中的条目。

ACL 的最佳做法(注:使用 ACL 时务必小心谨慎、关注细节。一旦犯错可能导致代价极高的后果,例如停机、耗时的故障排查以及糟糕的网络服务)
指导原则:根据组织的安全策略设定 ACL。优点:可确保遵循组织的安全要求。
指导原则:记下您打算用 ACL 来达到什么目的。优点:有助于避免不小心造成访问问题。
指导原则:使用文本编辑器来创建、编辑和保存 ACL。优点:有助于创建可重复使用的 ACL 库。
指导原则:在生产网络中部署 ACL 之前,先在开发网络中进行测试。优点:可避免造成代价高昂的错误。

配置标准 ACL:
标准 ACL 命令的完整语法如下:
Router(config)#access-list access-list-number(ACL 的编号。这是一个十进制数,值在 1 到 99 或 1300 到 1999 之间,适用于标准 ACL)) [deny(匹配条件时拒绝访问)|permit(匹配条件时准许访问)|remark(在 IP 访问列表中添加备注,增强列表的可读性,每条注释限制在 100 个字符以内)] {source(发送数据包的网络号或主机号。指定 source 的方式有两种:使用长 32 位的四元点分十进制格式。使用关键字 any 来代表 source 和 source-wildcard 分别为 0.0.0.0 255.255.255.55 的情况) [source-wildcard](可选,要对源应用的通配符位。指定 source-wildcard 的方式有两种:使用长 32 位的四元点分十进制格式。将您要忽略的比特位设置为 1。使用关键字 any 代表 source 和 source-wildcard 分别为 0.0.0.0 255.255.255.55 的情况)} [log](可选,对匹配条目的数据包生成信息性日志消息,该消息将随后发送到控制台。控制台采用哪种级别记录该消息取决于 logging console 命令。消息内容包括 ACL 号、数据包是被允许还是拒绝、源地址以及数据包数目。此消息在出现与条件匹配的第一个数据包时生成,随后每五分钟生成一次,其中会包含在过去的五分钟内允许或拒绝的数据包的数量。)
例:Router(config)#access-list 10 remark Permit hosts from the 192.168.10.0 LAN
Router(config)#access-list 10 permit 192.168.10.0

设置出入接口:
Router(config-if)#ip access-group {access-list-number | access-list-name} {in | out}

使用 ACL 控制 VTY 访问:

access-classaccess-list-number {in | out}(参数 in 限制特定 Cisco 设备与访问列表中地址之间的传入连接,而参数 out 则限制特定 Cisco 设备与访问列表中地址之间的传出连接)注:当配置 VTY 上的访问列表时,应该考虑以下几点:只有编号访问列表可以应用到 VTY。应该在所有 VTY 上设置相同的限制,因为用户可以尝试连接到任意 VTY
例:Router(config)#access-list 10 permit 192.168.10.0 0.0.0.255
Router(config)#access-list 10 deny any
Router(config)#line vty 0 4
Router(config-line)#login
Router(config-line)#password cisco
Router(config-line)#access-class 10 in ( ACL 允许网络 192.168.10.0访问 VTY 0 - 4。所有其它网络都被拒绝访问这些 VTY

创建标准命名 ACL :
Router(config)#ip access-list [standard(标准) | extended(扩展)] name
Router(config-std-nacl)#[permit | deny | remark] {source [source-wildcard]} [log]
Router(config-if)#ip access-group name {in | out}

Router#show access-lists {access-list-number | name}(监控和检验ACL)

配置扩展 ACL:
Router(config)#access-list access-list-number {deny | permit | remark} protocol(Internet 协议的名称或编号。常见的关键字包括 icmp、ip、tcp 或 udp。要匹配所有 Internet 协议(包括 ICMP、TCP 和 UDP),使用 ip 关键字) source [source-wildcard] [operator operand(对比源或目的端口。可用的操作符包括 lt(小于)、gt(大于)、eq(等于)、neq(不等于)和 range(范围))] [port port-number or name(可选,TCP 或 UDP 端口的十进制编号或名称)] destination [destination-wildcard] [operator operand] [port port-number or name] [established(可选,仅用于 TCP 协议:指示已建立的连接)]
例:拒绝 FTP:
Router(config)#access-list 114 deny tcp 192.168.20.0 0.0.0.255 any eq ftp
Router(config)#access-list 114 deny tcp 192.168.20.0 0.0.0.255 any eq ftp-data(请注意对于 FTP 来说,需要同时指定 ftp 和 ftp-data)

创建命名扩展 ACL:
Router(config)#ip access-list extended name (命令创建命名 ACL)

R2(config-ext-nacl)#permit tcp any host 192.168.20.254 eq www(仅允许 Outside Host 通过端口 80 与内部 Web Server 建立 Web 会话)
R2(config-ext-nacl)#permit tcp any any established(仅允许 Outside Host 通过端口 80 与内部 Web Server 建立 Web 会话)
R2(config-ext-nacl)#permit icmp any any echo-reply(允许 ping 应答通过 R2)
R2(config-ext-nacl)#deny ip any any

动态 ACL 的配置步骤:
Router(config)#username student password 0 cisco(创建用于身份验证的用户名和口令)

Router(config)#access-list 114 tcp permit any host 10.2.2.2 eq telnet
Router(config)#access-list 114 dynamic testlist timeout 15 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255(允许用户打开到路由器的telnet连接,除非触发“锁和钥匙”,否则该求动态ACL条目会被忽略,窗口将打开15分钟,15分钟后无论是否正在使用,该窗口都将自动关闭)

Router(config)#int s0/0/1
Router(config-if)#ip access-group 101 in(对S0/0/0接口应用114)

Router(config)#line vty 0 4
Router(config-if)#login local
Router(config-if)#autocommand access-enable host timeout 5(一旦telnet用户通过身份验证,autocommand命令便会运行,telnet会话也将终止,用户现在可以访问网络192.168.30.0,如果闲置时间超过5分钟,该窗口将关闭)

自反 ACL 示例:
Router(config)#ip access-list extended OUTBOUNDFILTERS
Router(config-ext-nacl)#permit tcp 192.168.0.0 0.0.255.255 any reflect TCPTRAFFIC
Router(config-ext-nacl)#permit icmp 192.168.0.0 0.0.255.255 any reflect ICMPTRAFFIC(使路由器跟踪内部发起的流量)

Router(config)#ip access-list extended INBOUNDFILTERS
Router(config-ext-nacl)#evaluate TCPTRAFFIC
Router(config-ext-nacl)#evaluate ICMPTRAFFIC(创建入站策略,该策略要求路由器检查传入流量是否由内部发起,并将OUTBOUNDFILTERS ACL的自反ACL部分(称为TCPTRAFFIC)与INBOUNDFILTERS ACL关联在一起)

Router(config)#interface s0/1/0
Router(config-if)#ip access-group INBOUNDFILTERS in
Router(config-if)#ip access-group OUTBOUNDFILTERS out(对该接口同时应用入站ACL和出站ACL)

基于时间的 ACL 示例:
Router(config)#time-range EVERYOTHERDAY
Router(config-time-range)#periodic Monday Wednsday Friday 8:00 to 17:00(定义时间范围,并命名为EVERYOTHERDAY)

Router(config)#access-list 101 permit tcp 192.168.10.0 0.0.0.255 any eq telnet time-range EVERYOTHERDAY(对该ACL应用此时间范围)

Router(config)#interface s0/1/0
Router(config-if)#ip access-group 101 in

原创粉丝点击