https://wenku.baidu.com/view/fb1c614c767f5acfa1c7cd08.html?from=search 

(转载自百度文库)

访问控制列表本质上是一系列对包进行分类的条件。在需要控制网络流量时,它们真的是非常有用。最常出现的和最容易理解的使用访问列表的情况是,实现安全策略时过滤不希望通过的包。
使用访问列表条件:
 ①管理网络中逐步增长的IP数据;
 ②当数据通过路由器时进行过滤。

访问列表分类:
标准的访问列表:
只使用IP数据包的源IP地址作为条件测试;通常允许或拒绝的是整个协议组;不区分
IP流量类型,如:www、Telnet、UDP等服务。
扩展的访问列表:
可测试IP包的第3层和第4层报头中的其他字段;可测试源IP地址和目的IP地址、网络层的报头中的协议字段,以及位于传输层报头中的端口号。
命名的访问列表:
嗨,等一下,不是说有两种访问列表,但却出现了第三种!好,从技术上来说实际上只有两种,命名的访问列表可以是标准的或扩展的访问列表,并不是一种真正的新类型列表。我只是对它区别对待,因为它们的创建和使用同标准的和扩展的访问列表不相同,但功能上是一样的。
一旦创建了访问列表,在应用之前它还并没有真正开始起作用。它是在路由器中存在,但还没有激活,直到你告诉那台路由器用它们做什么用之后才起作用。若要使用访问列表做包过滤,需要将它应用到路由器的一个想过滤流量的接口上,并且还有为其指明应用到哪个方向的流量上。即要绑定接口,绑定的接口有两种,要么入口,要么出口。
入口访问列表:当访问列表被应用到从接口输入的包时,那些包在被路由到接口之前要经过访问列表的处理。不能路由任何被拒绝的包,因为在路由之前这些包就会被丢弃掉。
出口访问列表:当访问列表被应用到从接口输出的包时,那些包首先被路由到输出接口,然后再进入该接口的输出队列之前经过访问列表的处理。


访问控制列表指南:
1.通常,按顺序比较访问列表的每一行,如从第一行开始,然后转到第二行、第三行等等;
2.比较访问列表的各行,直到找到匹配的一行。一旦数据包域访问列表的某一行匹配,遵照规定行事,不再进行后续比较;
3.在每个访问列表的最后是一行隐含“deny(拒绝)”语句——意味着如果数据包与前面的所有行都不匹配,将被丢弃;
4.每个接口、每个协议或每个方向只可以分派一个访问列表。这意味着如果创建了IP访问列表,每个接口只能有一个入口访问列表和一个出口访问列表;
5.组织好访问列表,要将最特殊的测试放在访问列表的最前面;
6.任何时候访问列表添加新条目时,将把新条目放置到列表的末尾(强烈推荐使用文本编辑器编辑访问列表);
7.不能从访问列表中删除一行。如果试着这样做,将删除整个列表。最好在编辑列表之前将访问列表复制到一个文本编辑器中。只有使用命名访问列表时例外;
8.除非在访问列表末尾有permit any命令,否则所有和列表的测试条件都不符合的数据包将被丢弃。每个列表应当至少有一个允许语句,否则将会拒绝所有流量;
9.先创建访问列表,然后将列表应用到一个接口。任何应用到一个接口的访问列表如果不是现成的访问列表,那么此列表不会过滤流量;
10.访问列表设计为过滤通过路由器的流量,但不过滤路由器自身产生的流量;
11.将IP标准的访问列表尽可能的放置在靠近目的地址的位置。这是因为我们并不真的要在自己的网络内使用标准的访问列表。不能将标准的访问列表放置在靠近源主机或源网络的位置,因为这样会只过滤基于源地址的流量,而造成不能转发任何流量;
12.将IP扩展的访问列表尽可能放置在靠近源地址的位置。既然扩展的访问列表可以过滤每个特定的地址和协议,那么你不希望你的流量穿过整个网络后再被拒绝。通过将这样的列表放置在尽量靠近源地址的位置,可以在它使用宝贵的带宽之前过滤掉此流量。


使用ACL降低安全威胁
下面列出了许多可使用ACl降低的安全威胁:
①IP地址欺骗,对内/对外;
②拒绝服务(DoS)TCP SYN ***,阻塞外部***;
③DoS TCP SYN ***,使用TCP截取;
④DoS smurf ***;
⑤过滤ICMP信息,对内/对外;
⑥过滤traceroute。


一般明智的做法是不允许任何包含内网中任一主机或网络源地址的IP包进入专用网络——一定要禁止。
下面列出了一些从因特网到企业网中配置ACL时减轻安全问题的规则:
①拒绝任何来自内部网络的地址
②拒绝任何本地主机地址(127.0.0.0/8)
③拒绝任何保留的专用地址④拒绝任何IP组播地址范围(224.0.0.0/24)之中的地址上述所有地址都不应该允许进入你的内部网络。