Chinaunix首页 | 论坛 | 博客
  • 博客访问: 825347
  • 博文数量: 198
  • 博客积分: 4036
  • 博客等级: 上校
  • 技术积分: 2173
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-19 22:31
文章分类

全部博文(198)

文章存档

2010年(4)

2008年(8)

2007年(143)

2006年(42)

2005年(1)

我的朋友

分类: 网络与安全

2007-04-12 09:30:53

二、访问控制表(ACL)配置

    除了以上介绍的基本配置外,在防火墙的安全策略中最重要还是对访问控制列表(ACL)进行配有关置。下面介绍一些用于此方面配置的基本命令。

1. access-list:用于创建访问规则

这一访问规则配置命令要在防火墙的全局配置模式中进行。同一个序号的规则可以看作一类规则,同一个序号之间的规则按照一定的原则进行排列和选择,这个顺序可以通过 show access-list 命令看到。在这个命令中,又有几种命令格式,分别执行不同的命令。

(1)创建标准访问列表
命令格式:access-list [ normal | special ] listnumber1 { permit | deny } source-addr [ source-mask ]

(2)创建扩展访问列表
命令格式:access-list [ normal | special ] listnumber2 { permit | deny } protocol source-addr source-mask [ operator port1 [ port2 ] ] dest-addr dest-mask [ operator port1 [ port2 ] | icmp-type [ icmp-code ] ] [ log ]

(3)删除访问列表
命令格式:no access-list { normal | special } { all | listnumber [ subitem ] }
上述命令参数说明如下:
●normal:指定规则加入普通时间段。

●special:指定规则加入特殊时间段。

●listnumber1:是1到99之间的一个数值,表示规则是标准访问列表规则。

●listnumber2:是100到199之间的一个数值,表示规则是扩展访问列表规则。

●permit:表明允许满足条件的报文通过。

●deny:表明禁止满足条件的报文通过。

●protocol:为协议类型,支持ICMP、TCP、UDP等,其它的协议也支持,此时没有端口比较的概念;为IP时有特殊含义,代表所有的IP协议。

●source-addr:为源IP地址。

●source-mask:为源IP地址的子网掩码,在标准访问列表中是可选项,不输入则代表通配位为0.0.0.0。

●dest-addr:为目的IP地址。

●dest-mask:为目的地址的子网掩码。

●operator:端口操作符,在协议类型为TCP或UDP时支持端口比较,支持的比较操作有:等于(eq)、大于(gt)、小于(lt)、不等于(neq)或介于(range);如果操作符为range,则后面需要跟两个端口。

port1 在协议类型为TCP或UDP时出现,可以为关键字所设定的预设值(如telnet)或0~65535之间的一个数值。port2 在协议类型为TCP或UDP且操作类型为range时出现;可以为关键字所设定的预设值(如telnet)或0~65535之间的一个数值。

●icmp-type:在协议为ICMP时出现,代表ICMP报文类型;可以是关键字所设定的预设值(如echo-reply)或者是0~255之间的一个数值。

●icmp-code:在协议为ICMP,且没有选择所设定的预设值时出现;代表ICMP码,是0~255之间的一个数值。

●log:表示如果报文符合条件,需要做日志。

●listnumber:为删除的规则序号,是1~199之间的一个数值。

●subitem:指定删除序号为listnumber的访问列表中规则的序号
 
示例:
现要在华为的一款防火墙上配置一个"允许源地址为10.20.10.0 网络、目的地址为10.20.30.0网络的WWW访问,但不允许使用FTP"的访问规则。相应配置语句只需两行即可,如下:

Quidway (config)#access-list 100 permit tcp 10.20.10.0 255.0.0.0 10.20.30.0 255.0.0.0 eq www

Quidway (config)#access-list 100 deny tcp 10.20.10.0 255.0.0.0 10.20.30.0 255.0.0.0 eq ftp

2. clear access-list counters:清除访问列表规则的统计信息

命令格式:clear access-list counters [ listnumber ]

这一命令必须在特权用户模式下进行配置。listnumber 参数是用指定要清除统计信息的规则号,如不指定,则清除所有的规则的统计信息。

如要在华为的一款包过滤路由器上清除当前所使用的规则号为100的访问规则统计信息。访问配置语句为:
clear access-list counters 100

如有清除当前所使用的所有规则的统计信息,则以上语句需改为:Quidway#clear access-list counters

3. ip access-group

使用此命令将访问规则应用到相应接口上。使用此命令的no形式来删除相应的设置,对应格式为:

ip access-group listnumber { in | out }

    此命令须在端口用户模式下配置,进入端口用户模式的命令为:interface ethernet(),括号中为相应的端口号,通常0为外部接口,而1为内部接口。进入后再用ip access-group 命令来配置访问规则。listnumber参数为访问规则号,是1~199之间的一个数值(包括标准访问规则和扩展访问规则两类);in 表示规则应用于过滤从接口接收到的报文;而out表示规则用于过滤从接口转发出去的报文。

    一个接口的一个方向上最多可以应用20类不同的规则;这些规则之间按照规则序号的大小进行排列,序号大的排在前面,也就是优先级高。对报文进行过滤时,将采用发现符合的规则即得出过滤结果的方法来加快过滤速度。所以,建议在配置规则时,尽量将对同一个网络配置的规则放在同一个序号的访问列表中;在同一个序号的访问列表中,规则之间的排列和选择顺序可以用show access-list命令来查看。

例如将规则100应用于过滤从外部网络接口上接收到的报文,配置语句为(同样为在倾为包过滤路由器上):

ip access-group 100 in

如果要删除某个访问控制表列绑定设置,则可用no ip access-group listnumber { in | out } 命令。

4. show access-list

此配置命令用于显示包过滤规则在接口上的应用情况。命令格式为:show access-list [ all | listnumber | interface interface-name ]

这一命令须在特权用户模式下进行配置,其中all参数表示显示所有规则的应用情况,包括普通时间段内及特殊时间段内的规则;如果选择listnumber参数,则仅需显示指定规则号的过滤规则;interface 表示要显示在指定接口上应用的所有规则序号;interface-name参数为接口的名称。

使用此命令来显示所指定的规则,同时查看规则过滤报文的情况。每个规则都有一个相应的计数器,如果用此规则过滤了一个报文,则计数器加1;通过对计数器的观察可以看出所配置的规则中,哪些规则是比较有效,而哪些基本无效。例如,现在要显示当前所使用序号为100的规则的使用情况,可执行Quidway#show access-list 100语句即可,随即系统即显示这条规则的使用情况,格式如下:

Using normal packet-filtering access rules now.

100 deny icmp 10.1.0.0 0.0.255.255 any host-redirect (3 matches,252 bytes -- rule 1)

100 permit icmp 10.1.0.0 0.0.255.255 any echo (no matches -- rule 2)

100 deny udp any any eq rip (no matches -- rule 3)

5. show firewall

此命令须在特权用户模式下执行,它显示当前防火墙状态。命令格式非常简单,也为:show firewall。这里所说的防火墙状态,包括防火墙是否被启用,启用防火墙时是否采用了时间段包过滤及防火墙的一些统计信息。

6. Telnet

这是用于定义能过防火配置控制端口进行远程登录的有关参数选项,也须在全局配置用户模式下进行配置。

命令格式为:telnet ip_address [netmask] [if_name]

其中的ip_address参数是用来指定用于Telnet登录的IP地址,netmask为子网掩码,if_name用于指定用于Telnet登录的接口,通常不用指定,则表示此IP地址适用于所有端口。
如:telnet 192.168.1.1

如果要清除防火墙上某个端口的Telnet参数配置,则须用clear telnet命令,其格式为:clear telnet [ip_address [netmask] [if_name]],其中各选项说明同上。它与另一个命令no telnet功能基本一样,不过它是用来删除某接口上的Telnet配置,命令格式为:no telnet [ip_address [netmask] [if_name]]。
如果要显示当前所有的Telnet配置,则可用show telnet命令。

阅读(2729) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~