博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

绵雨之后的下午,静看着西天的云彩

  sunshining.cublog.cn

关于作者
姓名:向阳
职业:IT--网络流浪者
年龄:24
个性介绍:雨后的夕阳
email:xiangyang326@163.com
qq:379989644
|| << >> ||
我的分类


cisco防火墙专题
cisco防火墙专题

Cisco PIX防火墙配置命令大全
===============
一、PIX防火墙的认识
PIX是Cisco的硬件防火墙,硬件防火墙有工作速度快,使用方便等特点。
PIX有很多型号,并发连接数是PIX防火墙的重要参数。PIX25是典型的设备。
PIX防火墙常见接口有:console、Failover、Ethernet、USB。
网络区域:
内部网络:inside
外部网络:outside
中间区域:称DMZ(停火区)。放置对外开放的服务器。
二、防火墙的配置规则
没有连接的状态(没有握手或握手不成功或非法的数据包),任何数据包无法穿过防火墙。
(内部发起的连接可以回包。通过ACL开放的服务器允许外部发起连接)
inside可以访问任何outside和dmz区域。
dmz可以访问outside区域。
inside访问dmz需要配合static(静态地址转换)。
outside访问dmz需要配合acl(访问控制列表)。
三、PIX防火墙的配置模式
PIX防火墙的配置模式与路由器类似,有4种管理模式:
PIXfirewall>:用户模式
PIXfirewall#:特权模式
PIXfirewall(config)#:配置模式
monitor>:ROM监视模式,开机按住[Esc]键或发送一个“Break”字符,进入监视模式。
四、PIX基本配置命令
常用命令有:nameif、interface、ipaddress、nat、global、route、static等。
1、nameif
设置接口名称,并指定安全级别,安全级别取值范围为1~100,数字越大安全级别越高。
例如要求设置:
ethernet0命名为外部接口outside,安全级别是0。
ethernet1命名为内部接口inside,安全级别是100。
ethernet2命名为中间接口dmz,安装级别为50。
使用命令:
PIX525(config)#nameifethernet0outsidesecurity0
PIX525(config)#nameifethernet1insidesecurity100
PIX525(config)#nameifethernet2dmzsecurity50
2、interface
配置以太口工作状态,常见状态有:auto、100full、shutdown。
auto:设置网卡工作在自适应状态。
100full:设置网卡工作在100Mbit/s,全双工状态。
shutdown:设置网卡接口关闭,否则为激活。
命令:
PIX525(config)#interfaceethernet0auto
PIX525(config)#interfaceethernet1100full
PIX525(config)#interfaceethernet1100fullshutdown
3、ipaddress
配置网络接口的IP地址,例如:
PIX525(config)#ipaddressoutside133.0.0.1255.255.255.252
PIX525(config)#ipaddressinside192.168.0.1255.255.255.0
内网inside接口使用私有地址192.168.0.1,外网outside接口使用公网地址133.0.0.1。
4、global
指定公网地址范围:定义地址池。
Global命令的配置语法:
global(if_name)nat_idip_address-ip_address[netmarkglobal_mask]
其中:
(if_name):表示外网接口名称,一般为outside。
nat_id:建立的地址池标识(nat要引用)。
ip_address-ip_address:表示一段ip地址范围。
[netmarkglobal_mask]:表示全局ip地址的网络掩码。
例如:
PIX525(config)#global(outside)1133.0.0.1-133.0.0.15
地址池1对应的IP是:133.0.0.1-133.0.0.15
PIX525(config)#global(outside)1133.0.0.1
地址池1只有一个IP地址133.0.0.1。
PIX525(config)#noglobal(outside)1133.0.0.1
表示删除这个全局表项。
5、nat
地址转换命令,将内网的私有ip转换为外网公网ip。
nat命令配置语法:nat(if_name)nat_idlocal_ip[netmark]
其中:
(if_name):表示接口名称,一般为inside.
nat_id:表示地址池,由global命令定义。
local_ip:表示内网的ip地址。对于0.0.0.0表示内网所有主机。
[netmark]:表示内网ip地址的子网掩码。
在实际配置中nat命令总是与global命令配合使用。
一个指定外部网络,一个指定内部网络,通过net_id联系在一起。
例如:
PIX525(config)#nat(inside)100
表示内网的所有主机(00)都可以访问由global指定的外网。
PIX525(config)#nat(inside)1172.16.5.0255.255.0.0
表示只有172.16.5.0/16网段的主机可以访问global指定的外网。
6、route
route命令定义静态路由。
语法:
route(if_name)00gateway_ip[metric]
其中:
(if_name):表示接口名称。
00:表示所有主机
Gateway_ip:表示网关路由器的ip地址或下一跳。
[metric]:路由花费。缺省值是1。
例如:
PIX525(config)#routeoutside00133.0.0.11
设置缺省路由从outside口送出,下一跳是133.0.0.1。
00代表0.0.0.00.0.0.0,表示任意网络。
PIX525(config)#routeinside10.1.0.0255.255.0.010.8.0.11
设置到10.1.0.0网络下一跳是10.8.0.1。最后的“1”是花费。
7、static
配置静态IP地址翻译,使内部地址与外部地址一一对应。
语法:
static(internal_if_name,external_if_name)outside_ip_addrinside_ip_address
其中:
internal_if_name表示内部网络接口,安全级别较高,如inside。
external_if_name表示外部网络接口,安全级别较低,如outside。
outside_ip_address表示外部网络的公有ip地址。
inside_ip_address表示内部网络的本地ip地址。
(括号内序顺是先内后外,外边的顺序是先外后内)
例如:
PIX525(config)#static(inside,outside)133.0.0.1192.168.0.8
表示内部ip地址192.168.0.8,访问外部时被翻译成133.0.0.1全局地址。
PIX525(config)#static(dmz,outside)133.0.0.1172.16.0.2
中间区域ip地址172.16.0.2,访问外部时被翻译成133.0.0.1全局地址。
8、conduit(此命令已经被淘汰,被access-list替代)
管道conduit命令用来设置允许数据从低安全级别的接口流向具有较高安全级别的接口。
例如允许从outside到DMZ或inside方向的会话(作用同访问控制列表)。
语法:
conduitpermit|denyprotocolglobal_ipport[-port]foreign_ip[netmask]
其中:
global_ip是一台主机时前面加host参数,所有主机时用any表示。
foreign_ip表示外部ip。
[netmask]表示可以是一台主机或一个网络。
例如:
PIX525(config)#static(inside,outside)133.0.0.1192.168.0.3
PIX525(config)#conduitpermittcphost133.0.0.1eqwwwany
这个例子说明static和conduit的关系。192.168.0.3是内网一台web服务器,
现在希望外网的用户能够通过PIX防火墙访问web服务。
所以先做static静态映射:192.168.0.3->133.0.0.1
然后利用conduit命令允许任何外部主机对全局地址133.0.0.1进行http访问。
9、访问控制列表ACL
访问控制列表的命令与couduit命令类似,
例:
PIX525(config)#access-list100permitipanyhost133.0.0.1eqwww
PIX525(config)#access-list100denyipanyany
PIX525(config)#access-group100ininterfaceoutside
10、侦听命令fixup
作用是启用或禁止一个服务或协议,
通过指定端口设置PIX防火墙要侦听listen服务的端口。
例:
PIX525(config)#fixupprotocolftp21
启用ftp协议,并指定ftp的端口号为21
PIX525(config)#fixupprotocolhttp8080
PIX525(config)#nofixupprotocolhttp80
启用http协议8080端口,禁止80端口。
11、telnet
当从外部接口要telnet到PIX防火墙时,telnet数据流需要用vpn隧道ipsec提供保护或
在PIX上配置SSH,然后用SSHclient从外部到PIX防火墙。
例:
telnetlocal_ip[netmask]
local_ip表示被授权可以通过telnet访问到PIX的ip地址。
如果不设此项,PIX的配置方式只能用console口接超级终端进行。
12、显示命令:
showinterface ;查看端口状态。
showstatic;查看静态地址映射。
showip;查看接口ip地址。
showconfig;查看配置信息。
showrun;显示当前配置信息。
writeterminal;将当前配置信息写到终端。
showcpuusage;显示CPU利用率,排查故障时常用。
showtraffic;查看流量。
showblocks;显示拦截的数据包。
showmem;显示内存
13、DHCP服务
PIX具有DHCP服务功能。
例:
PIX525(config)#ipaddressdhcp
PIX525(config)#dhcpdaddress192.168.1.100-192.168.1.200inside
PIX525(config)#dhcpdns202.96.128.68202.96.144.47
PIX525(config)#dhcpdomainabc.com.cn
五、PIX防火墙举例
设:
ethernet0命名为外部接口outside,安全级别是0。
ethernet1被命名为内部接口inside,安全级别100。
ethernet2被命名为中间接口dmz,安全级别50。
PIX525#conft
PIX525(config)#nameifethernet0outsidesecurity0
PIX525(config)#nameifethernet1insidesecurity100
PIX525(config)#nameifethernet2dmzsecurity50
PIX525(config)#interfaceethernet0auto
PIX525(config)#interfaceethernet1100full
PIX525(config)#interfaceethernet2100full
PIX525(config)#ipaddressoutside133.0.0.1255.255.255.252;设置接口IP
PIX525(config)#ipaddressinside10.66.1.200255.255.0.0;设置接口IP
PIX525(config)#ipaddressdmz10.65.1.200255.255.0.0;设置接口IP
PIX525(config)#global(outside)1133.1.0.1-133.1.0.14;定义的地址池
PIX525(config)#nat(inside)100;00表示所有
PIX525(config)#routeoutside00133.0.0.2;设置默认路由
PIX525(config)#static(dmz,outside)133.1.0.110.65.1.101;静态NAT
PIX525(config)#static(dmz,outside)133.1.0.210.65.1.102;静态NAT
PIX525(config)#static(inside,dmz)10.66.1.20010.66.1.200;静态NAT
PIX525(config)#access-list101permitipanyhost133.1.0.1eqwww;设置ACL
PIX525(config)#access-list101permitipanyhost133.1.0.2eqftp;设置ACL
PIX525(config)#access-list101denyipanyany;设置ACL
PIX525(config)#access-group101ininterfaceoutside;将ACL应用在outside端口
当内部主机访问外部主机时,通过nat转换成公网IP,访问internet。
当内部主机访问中间区域dmz时,将自己映射成自己访问服务器,否则内部主机将会
映射成地址池的IP,到外部去找。
当外部主机访问中间区域dmz时,对133.0.0.1映射成10.65.1.101,static是双向的。
PIX的所有端口默认是关闭的,进入PIX要经过acl入口过滤。
静态路由指示内部的主机和dmz的数据包从outside口出去。

思科PIX防火墙设置详解
===========
思科PIX防火墙的基础
PIX防火墙有内部和外部接口的概念。内部接口是内部的,通常是专用的网络。外部接口是外部的,通常是公共的网络。你要设法保护内部网络不受外部网络的影响。PIX防火墙还使用自适应性安全算法(ASA)。这种算法为接口分配安全等级,并且声称如果没有规则许可,任何通信都不得从低等级接口(如外部接口)流向高等级接口(如内部接口)。这个外部接口的安全等级是“0”,这个内部接口的安全等级是“100”。下面是显示“nameif”命令的输出情况:

pixfirewall# show nameif

nameif ethernet0 outside security0

nameif ethernet1 inside security100

请注意,ethernet0(以太网0)接口是外部接口(它的默认名字),安全等级是0。另一方面,ethernet1(以太网1)接口是内部接口的名字(默认的),安全等级是100。

指南
在开始设置之前,你的老板已经给了你一些需要遵守的指南。这些指南是:·所有的口令应该设置为“思科”(实际上,除了思科之外,你可设置为任意的口令)。·内部网络是10.0.0.0,拥有一个255.0.0.0的子网掩码。这个PIX防火墙的内部IP地址应该是10.1.1.1。·外部网络是1.1.1.0,拥有一个255.0.0.0的子网掩码。这个PIX防火墙的外部IP地址应该是1.1.1.1。·你要创建一个规则允许所有在10.0.0.0网络上的客户做端口地址解析并且连接到外部网络。他们将全部共享全球IP地址1.1.1.2。·然而,客户只能访问端口80(网络浏览)。·用于外部(互联网)网络的默认路由是1.1.1.254。
设置
你将看到这样一个提示符:pixfirewall>在提示符的后面有一个大于号“>”,你处在PIX用户模式。使用en或者enable命令修改权限模式。在口令提示符下按下“enter”键。下面是一个例子:
pixfirewall> en
Password:
pixfirewall#
你现在拥有管理员模式,可以显示内容,但是,你必须进入通用设置模式来设置这个PIX防火墙。现在让我们学习PIX防火墙的基本设置,我所说的基本设置包括三样事情:
·设置主机名
·设置口令(登录和启动)
·设置接口的IP地址
·启动接口
·设置一个默认的路由

在你做上述任何事情之前,你需要进入通用设置模式。要进入这种模式,你要键入:pixfirewall# config t
要设置主机名,使用主机名命令,像这样:
pixfirewall(config)# hostname PIX1
下一步,把登录口令设置为“cisco”(思科),像这样:
PIX1(config)# password cisco
这是除了管理员之外获得访问PIX防火墙权限所需要的口令。现在,设置启动模式口令,用于获得管理员模式访问。
PIX1(config)# enable password cisco
现在,我们需要设置接口的IP地址和启动这些接口。同路由器一样,PIX没有接口设置模式的概念。要设置内部接口的IP地址,使用如下命令:
PIX1(config)# ip address inside 10.1.1.1 255.0.0.0
现在,设置外部接口的IP地址:
PIX1(config)# ip address outside 1.1.1.1 255.255.255.0
下一步,启动内部和外部接口。确认每一个接口的以太网电缆线连接到一台交换机。注意,ethernet0接口是外部接口,它在PIX 501防火墙中只是一个10base-T接口。ethernet1接口是内部接口,是一个100Base-T接口。下面是启动这些接口的方法:

PIX1(config)# interface ethernet0 10baset

PIX1(config)# interface ethernet1 100full

最后,让我们设置一个默认的路由,这样,发送到PIX防火墙的所有的通讯都会流向下一个上行路由器(我们被分配的IP地址是1.1.1.254)。你可以这样做:
PIX1(config)# route outside 0 0 1.1.1.254
现在,我们接着介绍一些更高级的设置。
网络地址解析
由于我们有IP地址连接,我们需要使用网络地址解析让内部用户连接到外部网络。我们将使用一种称作“PAT”或者“NAT Overload”的网络地址解析。这样,所有内部设备都可以共享一个公共的IP地址(PIX防火墙的外部IP地址)。要做到这一点,请输入这些命令:

PIX1(config)# nat (inside) 1 10.0.0.0 255.0.0.0

PIX1(config)# global (outside) 1 1.1.1.2

使用这些命令之后,全部内部客户机都可以连接到公共网络的设备和共享IP地址1.1.1.2。然而,客户机到目前为止还没有任何规则允许他们这样做。
防火墙规则
这些在内部网络的客户机有一个网络地址解析。但是,这并不意味着允许他们访问。他们现在需要一个允许他们访问外部网络(互连网)的规则。这个规则还将允许返回的通信。要制定一个允许这些客户机访问端口80的规则,你可以输入如下命令:

PIX1(config)# access-list outbound permit tcp 10.0.0.0 255.0.0.0 any eq 80

PIX1(config)# access-group outbound in interface inside

注意:与路由器访问列表不同,PIX访问列表使用一种正常的子网掩码,而不是一种通配符的子网掩码。使用这个访问列表,你就限制了内部主机访问仅在外部网络的Web服务器(路由器)。
显示和存储设置结果
现在你已经完成了PIX防火墙的设置。你可以使用显示命令显示你的设置。确认你使用写入内存或者“wr m”命令存储你的设置。如果你没有使用这个命令,当关闭PIX防火墙电源的时候,你的设置就会丢失。

完整的pix525配置
=============

PIX Version 6.3(3)
\\配置接口名称,安全级别,主机名,使用的域名
interface ethernet0 100full
interface ethernet1 100full
interface gb-ethernet0 1000auto
interface gb-ethernet1 1000auto
nameif ethernet0 cimo security10
nameif ethernet1 intf3 security15
nameif gb-ethernet0 outside security0
nameif gb-ethernet1 inside security100
enable password 52network encrypted
passwd 52network encrypted
hostname PIX-A
domain-name 52network.com
\\ 配置PIX允许的协议类型,要加密保护的数据流量
fixup protocol dns maximum-length 512
fixup protocol ftp 21
fixup protocol h323 h225 1720
fixup protocol h323 ras 1718-1719
fixup protocol http 80
fixup protocol ils 389
fixup protocol rsh 514
fixup protocol rtsp 554
fixup protocol sip 5060
fixup protocol skinny 2000
fixup protocol smtp 25
fixup protocol splnet 1521
fixup protocoltftp 69
names
access-list inside_outbound_nat0_acl permit ip 202.102.54.0 255.255.255.0 10.0.1.0 255.255.255.0
access-list outside_cryptomap_20 permit ip 202.102.54.0 255.255.255.0 10.0.1.0 255.255.255.0
\\设置日志服务器,PIX各接口的IP地址,PIX设备的故障切换功能

pager lines 24
logging timestamp
logging standby
logging trap informational
logging facility 22
logging host inside 202.102.54.5
mtu cimo 1500
mtu intf3 1500
mtu outside 1500
mtu inside 1500
ip address cimo 192.168.0.1 255.255.255.252
ip address intf3 127.0.0.1 255.255.255.255
ip address outside 202.102.53.6 255.255.255.0
ip address inside 202.102.54.1 255.255.255.248
ip audit info action alarm
ip audit attack action alarm
failover
failover timeout 0:00:00
failover poll 15
failover replication http
failover ip address shaying 192.168.0.2
failover ip address intf3 127.0.0.2
failover ip address outside 202.102.53.69
failover ip address inside 202.102.54.3
failover link shaying
\\配置能通过WEB界面管理PIX设备的工作站。
pdm location 219.238.213.192 255.255.255.192 outside
pdm location 202.102.54.0 255.255.255.0 inside
pdm location 202.102.54.28 255.255.255.255 inside
pdm location 202.102.54.88 255.255.255.255 inside
pdm location 202.102.54.89 255.255.255.255 inside
pdm location 202.102.54.90 255.255.255.255 inside
pdm location 202.102.54.208 255.255.255.240 inside
pdm location 202.102.54.48 255.255.255.240 outside
pdm location 202.102.54.48 255.255.255.240 inside
pdm location 202.102.54.128 255.255.255.240 inside
pdm location 219.238.213.245 255.255.255.255 outside
pdm location 10.0.0.0 255.255.255.0 outside
pdm location 10.0.1.0 255.255.255.0 outside
pdm location 202.102.54.208 255.255.255.240 outside
pdm location 172.16.201.0 255.255.255.0 inside
pdm location 202.102.54.0 255.255.255.0 outside
pdm location 219.239.218.192 255.255.255.192 outside
pdm location 219.238.218.248 255.255.255.255 outside
pdm location 219.238.218.241 255.255.255.255 outside
pdm logging information 100
no pdm history enable
arp timeout 14400
\\配置地址转换,静态路由,双向访问列表,用ACL也可做。

nat (inside) 0 access-list inside_outbound_nat0_acl
nat (inside)0 202.102.54.0 255.255.255.0 0 0
static (inside,outside) 202.102.54.0 202.102.54.0 netmask 255.255.255.0 0 0
conduit permit tcp 202.102.54.208 255.255.255.240 ep www any
conduit permit udp 202.102.54.208 255.255.255.240 ep domain any
conduit permit tcp host 202.102.54.33 eq 15000 any
conduit permit tcp host 202.102.54.34 eq 15010 any
conduit permit tcp host 202.102.54.33 eq 15010 any
conduit permit tcp host 202.102.54.34 eq 15020 any
conduit permit tcp host 202.102.54.33 eq 15010 any
conduit permit tcp host 202.102.54.34 eq 15000 any
conduit permit tcp host 202.102.54.212 eq 1433 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.213 eq 1433 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.60 eq 1433 220.168.249.64 255.255.255.192
conduit permit ip host 202.102.54.35 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.214 eq 1433 host 220.168.249.100
conduit permit tcp host 202.102.54.214 eq ftp host 220.168.249.100
conduit permit tcp host 202.102.54.131 eq 1433 220.168.249.64 255.255.255.192
conduit permit tcp host 202.102.54.216 eq ftp host 220.168.249.92
conduit permit tcp host 202.102.54.213 eq 81 host 220.168.249.101
conduit permit ip host 202.102.54.137 host 220.168.249.100
conduit permit tcp host 202.102.54.133 eq www any
conduit permit tcp host 202.102.54.132 eq smtp any
conduit permit tcp host 202.102.54.132 eq www any
conduit permit tcp host 202.102.54.134 eq ftp any
conduit permit tcp host 202.102.54.132 eq pop3 any
conduit permit tcp host 202.102.54.210 eq ftp any
conduit permit tcp host 202.102.54.102 eq www any
conduit permit tcp host 202.102.54.216 eq www any
conduit permit tcp host 202.102.54.217 eq www any
conduit permit tcp host 202.102.54.134 eq www any
conduit permit tcp host 202.102.54.84 eq 10100 any
conduit permit tcp host 202.102.54.221 eq www any
conduit permit tcp host 202.102.54.68 eq 10100 any
conduit permit tcp host 202.102.54.213 eq 4662 any
conduit permit tcp host 202.102.54.213 eq 4672 any
conduit permit tcp host 202.102.54.68 eq 4662 any
conduit permit tcp host 202.102.54.68 eq 4672 any
conduit permit tcp host 202.102.54.213 eq www any
conduit permit tcp host 202.102.54.221 eq ftp any
conduit permit tcp 202.102.54.48 255.255.255.240 eq 1000 any
conduit permit tcp 202.102.54.64 255.255.255.240 eq 1000 any
conduit permit tcp 202.102.54.80 255.255.255.240 eq 1000 any
conduit deny ip 202.102.54.0 255.255.255.0 63.0.0.0 255.0.0.0
conduit deny ip 202.102.54.0 255.255.255.0 210.92.0.0 255.255.0.0
conduit permit tcp 202.102.54.0 255.255.255.0 eq ftp host 219.239.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 37631 host 219.239.218.250
conduit permit udp 202.102.54.0 255.255.255.0 eq 37632 host 219.239.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 1433 host 219.239.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq ssh host 219.238.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 11050 host 219.238.218.250
conduit permit tcp host 202.102.54.131 eq 8294 host 219.239.218.250
conduit permit tcp host 202.102.54.131 eq 3389 host 219.238.218.250
conduit permit tcp 202.102.54.0 255.255.255.0 eq 8080 hsot 219.238.218.250
conduit permit tcp host 202.102.54.134 range 1500 1600 any
conduit permit udp host 202.102.54.134 range 1500 1600 any
conduit permit udp host 202.102.54.134 range 4000 6000 any
conduit permit tcp host 202.202.54.134 range 4000 6000 any
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.246
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.248
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.249
conduit permit ip 202.102.54.0 255.255.255.o host 219.238.218.250
conduit permit ip any host 219.234.81.66
conduit permit tcp host 202.102.54.75 range 8881 9999 any
route outside 0.0.0.0 0.0.0.0 202.102.53.65 1
route inside 202.102.54.0 255.255.255.0 202.102.54.2 1
\\配置IPSEC,在PIX上设置加密算法,加密的接口

timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h225 1:00:00
timeout h323 0:05:00 mgcp 0:05:00 sip 0:30:00 sip_media 0:02:00
timeout uauth 0:05)00 absolute
aaa-server TACACS+ protocol tacacs+
aaa-server RADIUS protocol raduis
aaa-sever LOCAL protocol local
http server enable
http 220.168.249.102 255.255.255.255 outside
http 219.238.218.192 255.255.255.192 outside
no snmp-server location
no snmp-server contact
snmp-server community public
no snmp-server enable traps
floodguard enable
sysopt connection permit-ipsec
crypto ipsec transform-set ESP-3DES-MD5 esp -3des esp -md5-hmac
crypto map outside_map 20 ipsec-isakmp
crypto map outside_map 20 match address outside_cryptomap_20
crypto map outside_map 20 set peer 219.239.218.247
crypto map outside_map 20 set transform-set ESP-3DES-MD5
crypto map outside_map interface outside
\\配置IKE,指定认证的方式为PRE-SHARE。

isakmp enable outside
isakmp  key 52network address 219.239.218.247 netmask 255.255.255.255 no-xauth no-config-mode
isakmp identity address
isakmp policy 20 authentication pre-share
isakmp policy 20 encryption 3des
isakmp policy 20 hash md5
isakmp policy 20 group 2
isakmp policy 20 lifetime 28800
其他:

telnet timeout 15
ssh 220.168.249.105 255.255.255.255 outside
ssh 219.238.218.192 255.255.255.192 outside
ssh 202.102.54.0 255.255.255.0 inside
ssh timeout 15
console timeout 0
terminal width 80
banner exec welcome
banner login XXXX Login
cryptochecksum:**********************
:end

 

PIX防火墙命令集
==============

Aaa 允许、禁止或查看以前使用“aaa-server”命令为服务器指定的TACACS+或RADIUS用户认证、授权和帐户
Aaa-server指定一个AAA服务器
Access-group 将访问列表名绑定到接口名以允许或拒绝IP信息包进入接口
Access-list创建一个访问列表
Alias管理双向NAT中的重叠地址
Arp改变或查看ARP缓存,设置超时值
Auth-prompt改变AAA的提示文本
Ca配置PIX防火墙和CA的交互
Clock设置PIX防火墙时钟以供PIX防火墙系统日志服务器和PKI协议使用
Conduit为向内连接添加、删除或显示通过防火墙的管道
Configure清除或融合当前配置与软盘或闪存中的配置。进入配置模式或查看当前配置
Crypto dynamic-map创建、查看或删除一个动态加密映射项。
Crypto ipsec创建、查看或删除与加密相关的全局值
Crypto map 创建、查看或删除一个动态加密映射项,也用来删除一个加密映射集
Debug通过PIX防火墙调试信息包或ICMP轨迹。
Disable退出特权模式并返回到非特权模式
Domain_name改变IPSec域名
Enable启动特权模式
Enable password设置特权模式的口令
Exit退出访问模式
Failover改变或查看到可选failover特性的访问
Filter允许或禁止向外的URL或HTML对像过滤
Fixup protocol改变、允许、禁止或列出一个PIX防火墙应用的特性
Flashfs清除闪存或显示闪存扇区大小
Floodguard允许或禁止洪泛(FLOOD)保护以防止洪泛攻击
Help显示帮助信息
Global从一个全局地址池中创建或删除项
Hostname改变PIX防火墙命令行提示中的主机名
Interface标示网络接口的速度和双工属性
Ip为本地池和网络接口标示地址
Ipsec配置IPSEC策略
Isakmp协商IPSEC策略联系并允许IPSEC安全通信
Kill终止一个TELNET会话
Logging允许或禁止系统日志和SNMP记录
Mtu为一个接口指定MTU(最大流量单元)
Name/names关联一个名称和一个IP地址
Nameif命名接口并分配安全等级
Nat联系一个网络和一个全局IP地址池
Outbound/apply创建一个访问列表用于控制因特网
Pager使能或禁止屏幕分页
Passwd为TELNET和PIX管理者访问防火墙控制台配置口令
Perfmon浏览性能信息
Ping决定在PIX防火墙上其他的IP地址是否可见
Quit退出配置或特权模式
Reload重新启动或重新加载配置
Rip改变RIP设置
Route为指定的接口输入一条静态或缺省的路由
Service复位向内连接
Session访问一个嵌入式的ACCESSPRO路由器控制台
Show查看命令信息
Show blocks/clear blocks显示系统缓冲区利用情况
Show checksum显示配置校验和
Show conn列出所有的活跃连接
Show history显示前面输入的行
Show interface显示接口配置
Show memory显示系统内存的使用情况
Show processes显示进程
Show tech-support查看帮助技术支持分析员诊断问题的信息
Show traffic显示接口的发送和接收活动
Show uauth未知(我没搞过,嘿嘿)
Show version浏览PIX防火墙操作信息
Show xlate查看地址转换信息
Snmp-server提供SNMP事件信息
Static将局部地址映射为全局地址
Sysopt改变PIX防火墙系统项
Terminal改变控制台终端设置
Timeout设置空闲时间的最大值
Uauth(clear and show)将一个用户的所有授权高速缓存删除
url-cache缓存响应URL过滤对WebSENSE服务器的请求
url-server为使用folter命令指派一个运行WebSENSE的服务器
virtual访问PIX防火墙虚拟服务器
who显示PIX防火墙上的活跃的TELNET管理会话
write存储、查看或删除当前的配置
xlate(clear and show)查看或清除转换槽信息

=========================

防火墙在互联网中起着非常重要的作用,它通过检查和过滤进出网络的每一个数据包,保护企业内部网免受外来攻击。防火墙产品一般分为硬件和软件2种,硬件防火墙采用专用的硬件设备,然后集成生产厂商的专用防火墙软件; 软件防火墙一般基于某个操作系统平台开发,直接在计算机上进行软件的安装和配置。相对于软件防火墙而言,硬件防火墙往往能提供更优越的网络速度和性能,Cisco公司的PIX防火墙就是一种典型的企业级硬件防火墙产品。

一、Cisco PIX的特点

作为一种硬件防火墙,Cisco PIX的优势有两点:第一,网络性能相当不错,Cisco PIX可以提供2~6个100Mbps快速以太网接口,能够满足大部分的应用需求。与软件防火墙相比,它的包处理速度和转发速度要快得多。第二,Cisco PIX中包含了丰富的基于IPsec的VPN服务软件,VPN能够提供站点到站点之间和远程客户端到站点之间的安全访问,不过需要另外的一台认证服务器。

Cisco PIX的不足之处是管理完全基于命令行方式,如果用户需要图形化的管理界面,就必须到Cisco网站上下载一个管理软件;另外,Cisco PIX的监视和日志功能有限,为了记录日志,还必须下载一个基于Windows NT的PIX Firewall Syslog Server才行。Cisco PIX无法根据用户名或工作组来进行安全策略管理,而只能通过IP地址进行管理,而且实施安全策略管理还需要购买另一个软件包CSPM(Cisco Security Policy Manager)。

二、Cisco PIX的管理和配置

现在,我们通过一个相对简单的示例说明如何使用Cisco PIX对企业内部网络进行管理。网络拓扑图如附图所示。Cisco PIX安装2个网络接口,一个连接外部网段,另一个连接内部网段,在外部网段上运行的主要是DNS服务器,在内部网段上运行的有WWW服务器和电子邮件服务器,通过Cisco PIX,我们希望达到的效果是:对内部网络的所有机器进行保护,WWW服务器对外只开放80端口,电子邮件服务器对外只开放25端口。具体操作步骤如下。

1.      连接一台控制终端
通常使用PIX上的CONSOLE端口对防火墙进行管理和配置。当防火墙配置好以后,也可以通过telnet方式管理防火墙,但出于安全性的考虑,还是尽量不要开放telnet功能。使用CONSOLE端口的具体方法如下。

使用串行电缆将PIX与PC机的串口进行连接,在Windows中打开“超级终端”,进入“新建连接”,并为新连接命名,比如“PIX”;选择“使用COM1”,且在COM1属性框中定义速度为9600bps,数据位为8,校验为None,停止位为1,Flow control为Hardware;然后单击“OK”,接着打开PIX防火墙电源,在终端窗口中应当看到启动信息。如果看不到启动信息,说明电缆连接有问题。

2.      获得最新PIX软件
从Cisco公司的WWW或FTP站点上,我们可以获得PIX的最新软件,主要包括如下内容。

pix44n.exe——PIX防火墙的软件映像文件。
pfss44n.exe——PIX Firewall Syslog Server服务器软件,能够提供一个Windows NT服务,用来记录PIX的运行日志。
pfm432b.exe——图形化的PIX管理软件。
rawrite.exe——用于生成PIX的启动软盘。

3.      配置网络路由
在使用防火墙的内部网段上,需要将每台计算机的缺省网关指向防火墙,比如防火墙内部IP地址为10.0.0.250,则内部网段上的每台计算机的缺省网关都要设置为10.0.0.250。具体设置在“控制面板”*“网络”*“TCP/IP协议”中进行。

4.      配置PIX
在配置PIX之前,应该对网络进行详细的规划和设计,搜集需要的网络配置信息。要获得的信息如下。

1.      每个PIX网络接口的IP地址。

2.      如果要进行NAT,则要提供一个IP地址池供NAT使用。NAT是网络地址转换技术,它可以将使用保留地址的内部网段上的机器映射到一个合法的IP地址上以便进行Internet访问。

3.      外部网段的路由器地址。

进入PIX配置界面的方法是:连接好超级终端,打开电源,在出现启动信息和出现提示符 pixfirewall>后输入“enable”,并输入密码,进入特权模式;当提示符变为 pixfirewall#>后,输入“configure terminal”,再进入配置界面。

在配置过程中,我们可以使用write terminal命令查看当前配置,使用write memory保存配置信息到Flash Memory。

5.      配置网络接口
PIX使用nameif和ip address命令进行网络接口配置。
首先使用下面的语句定义内部网段和外部网段的网络接口。
nameif ethernet0 outside security0
nameif ethernet1 inside security100
PIX防火墙使用Intel的10/100Mbps网卡,使用下面的命令定义接口配置为自适应。
interface ethernet0 auto
interface ethernet1 auto
最后,我们定义接口的IP地址和掩码。
ip address inside 10.0.0.250 255.255.255.0
ip address outside 202.12.29.205 255.255.255.248

6.      允许内部用户访问外部网段
在前面,我们定义了内部网段安全值为100,外部网段安全值为0。用户在安全值高的区域访问安全值低的区域,需要使用nat和global命令;相反地,如果允许安全值低的区域的用户访问安全值高的区域的用户,则需要使用static和conduit命令。
nat (inside) 1 0 0
global (outside) 1 202.12.29.206 netmask 255.255.255.248
其中1为NAT ID,两个语句中的NAT ID应一样。前一句表示允许所有机器对外访问,第二句定义NAT使用的地址池,由于大部分情况下,合法的IP地址并不多,因此在此例中只设置了一个合法IP地址202.12.29.206用来做地址转换。

7.      定义外部路由
对于外部网段,还需要定义外部路由,它是防火墙外部网段的缺省路由:route outside 0 0 202.12.29.202 1。其中0 0表示外部网段的缺省路由,1表示从防火墙到路由器只有一个hop。

8.      允许使用ping命令
conduit permit icmp any any 此命令允许在内部网段和外部网段使用ping命令进行网络测试。因为ping命令使用的是ICMP协议,在设置和调试期间,一般开放此功能,当防火墙工作正常后,也可以关闭此项功能。

9.      保存设置和重新启动
使用write memory命令将配置信息写入flash memory。使用reload命令重新启动防火墙。

10.  增加telnet访问控制
在PIX中,我们可以定义只允许某些机器通过telnet访问防火墙。需要注意的是,这里进行telnet访问的机器必须在内部网段上,以增强安全性。

telnet 10.0.0.204 255.255.255.255// 即允许10.0.0.204这台机器使用telnet访问防火墙。

telnet timeout 15 // 即将空闲时间设置为15分钟,当访问防火墙的机器15分钟内没有任何操作时,将自动断开连接。

telnet访问的缺省口令是cisco,可以通过passwd命令来修改口令。

测试telnet时,我们可以使用命令debug icmp trace来获得更多的信息。

11.  增加服务器访问控制
缺省情况下,PIX拒绝所有来自外部网段的访问请求。当WWW服务器等设备放在防火墙的内部网段上时,为了使外部网络上的用户可以访问到,必须使用static和conduit命令来进行配置。

下面,我们给出允许外部网络访问内部网络上的WWW服务器的命令。
static (inside,outside) 202.12.29.204 10.0.0.204 netmask 255.255.255.255
conduit permit tcp host 202.12.29.204 eq www any

其中,第一个命令将在内部网段的WWW服务器10.0.0.204映射一个外部合法地址202.12.29.204;第二个命令允许所有外部主机通过tcp port 80访问202.12.29.204这台服务器。

接着,我们再给出一个允许外部网络访问内部网络上的邮件服务器10.0.0.203的命令。
static (inside,outside) 202.12.29.203 10.0.0.203 netmask 255.255.255.255
conduit permit tcp host 202.12.29.203 eq smtp any

12.  控制内部网段对外的访问
使用outbound和apply命令进行组合,可以控制内部网段的机器能否对外进行访问,举例说明如下。
outbound 10 deny 10.0.0.0 255.255.255.0 irc tcp
outbound 10 permit 10.0.0.204 255.255.255.255 irc tcp

apply (inside) 10 outgoing_src 如果不想让内部用户使用CHAT功能,可以采用第一条命令,禁止10.0.0.1~10.0.0.255的所有机器使用CHAT功能访问外部站点;第二条命令允许10.0.0.204这台机器通过irc协议访问外部站点;第三条命令将前面的命令应用在inside,也就是内部网段上。
outbound 20 deny 202.102.224.25 255.255.255.255 www tcp
apply (inside) 20 outgoing_dest

通过对以上2条命令的组合使用,我们可以禁止内部网段上的所有机器访问外部网络的WWW服务器202.102.224.25。

到此为止,我们已经介绍了在网络管理中通常会使用到的一些设置命令,其实还有一些其他相关的设置命令,大家可以查阅PIX的文档或者访问Cisco公司的网站以获取最新的资料。

总的来说,如果用户希望得到一台网络性能较高但不需要广泛的监视功能或应用程序过滤功能的企业级防火墙,Cisco PIX将会是一个不错的选择。

========================

本篇要为大家介绍一些实用的知识,那就是如何配置防火中的安全策略。但要注意的是,防火墙的具体配置方法也不是千篇一律的,不要说不同品牌,就是同一品牌的不同型号也不完全一样,所以在此也只能对一些通用防火墙配置方法作一基本介绍。同时,具体的防火墙策略配置会因具体的应用环境不同而有较大区别。首先介绍一些基本的配置原则。

一. 防火墙的基本配置原则

默认情况下,所有的防火墙都是按以下两种情况配置的:

●拒绝所有的流量,这需要在你的网络中特殊指定能够进入和出去的流量的一些类型。
●允许所有的流量,这种情况需要你特殊指定要拒绝的流量的类型。可论证地,大多数防火墙默认都是拒绝所有的流量作为安全选项。一旦你安装防火墙后,你需要打开一些必要的端口来使防火墙内的用户在通过验证之后可以访问系统。换句话说,如果你想让你的员工们能够发送和接收Email,你必须在防火墙上设置相应的规则或开启允许POP3和SMTP的进程。

在防火墙的配置中,我们首先要遵循的原则就是安全实用,从这个角度考虑,在防火墙的配置过程中需坚持以下三个基本原则:

(1). 简单实用:对防火墙环境设计来讲,首要的就是越简单越好。其实这也是任何事物的基本原则。越简单的实现方式,越容易理解和使用。而且是设计越简单,越不容易出错,防火墙的安全功能越容易得到保证,管理也越可靠和简便。

每种产品在开发前都会有其主要功能定位,比如防火墙产品的初衷就是实现网络之间的安全控制,入侵检测产品主要针对网络非法行为进行监控。但是随着技术的成熟和发展,这些产品在原来的主要功能之外或多或少地增加了一些增值功能,比如在防火墙上增加了查杀病毒、入侵检测等功能,在入侵检测上增加了病毒查杀功能。但是这些增值功能并不是所有应用环境都需要,在配置时我们也可针对具体应用环境进行配置,不必要对每一功能都详细配置,这样一则会大大增强配置难度,同时还可能因各方面配置不协调,引起新的安全漏洞,得不偿失。

(2). 全面深入:单一的防御措施是难以保障系统的安全的,只有采用全面的、多层次的深层防御战略体系才能实现系统的真正安全。在防火墙配置中,我们不要停留在几个表面的防火墙语句上,而应系统地看等整个网络的安全防护体系,尽量使各方面的配置相互加强,从深层次上防护整个系统。这方面可以体现在两个方面:一方面体现在防火墙系统的部署上,多层次的防火墙部署体系,即采用集互联网边界防火墙、部门边界防火墙和主机防火墙于一体的层次防御;另一方面将入侵检测、网络加密、病毒查杀等多种安全措施结合在一起的多层安全体系。

(3). 内外兼顾:防火墙的一个特点是防外不防内,其实在现实的网络环境中,80%以上的威胁都来自内部,所以我们要树立防内的观念,从根本上改变过去那种防外不防内的传统观念。对内部威胁可以采取其它安全措施,比如入侵检测、主机防护、漏洞扫描、病毒查杀。这方面体现在防火墙配置方面就是要引入全面防护的观念,最好能部署与上述内部防护手段一起联动的机制。目前来说,要做到这一点比较困难。
 

二、防火墙的初始配置

像路由器一样,在使用之前,防火墙也需要经过基本的初始配置。但因各种防火墙的初始配置基本类似,所以在此仅以Cisco PIX防火墙为例进行介绍。

防火墙的初始配置也是通过控制端口(Console)与PC机(通常是便于移动的笔记本电脑)的串口连接,再通过Windows系统自带的超级终端(HyperTerminal)程序进行选项配置。防火墙的初始配置物理连接与前面介绍的交换机初始配置连接方法一样,参见图1所示。



图1

防火墙除了以上所说的通过控制端口(Console)进行初始配置外,也可以通过telnet和Tffp配置方式进行高级配置,但Telnet配置方式都是在命令方式中配置,难度较大,而Tffp方式需要专用的Tffp服务器软件,但配置界面比较友好。

防火墙与路由器一样也有四种用户配置模式,即:普通模式(Unprivileged mode)、特权模式(Privileged Mode)、配置模式(Configuration Mode)和端口模式(Interface Mode),进入这四种用户模式的命令也与路由器一样:

普通用户模式无需特别命令,启动后即进入;

进入特权用户模式的命令为"enable";进入配置模式的命令为"config terminal";而进入端口模式的命令为"interface ethernet()"。不过因为防火墙的端口没有路由器那么复杂,所以通常把端口模式归为配置模式,统称为"全局配置模式"。
 

防火墙的具体配置步骤如下:

1. 将防火墙的Console端口用一条防火墙自带的串行电缆连接到笔记本电脑的一个空余串口上,参见图1。

2. 打开PIX防火电源,让系统加电初始化,然后开启与防火墙连接的主机。  

3. 运行笔记本电脑Windows系统中的超级终端(HyperTerminal)程序(通常在"附件"程序组中)。对超级终端的配置与交换机或路由器的配置一样,参见本教程前面有关介绍。

4. 当PIX防火墙进入系统后即显示"pixfirewall>"的提示符,这就证明防火墙已启动成功,所进入的是防火墙用户模式。可以进行进一步的配置了。 

5. 输入命令:enable,进入特权用户模式,此时系统提示为:pixfirewall#。  

6. 输入命令: configure terminal,进入全局配置模式,对系统进行初始化设置。  

(1). 首先配置防火墙的网卡参数(以只有1个LAN和1个WAN接口的防火墙配置为例) 

Interface ethernet0 auto   # 0号网卡系统自动分配为WAN网卡,"auto"选项为系统自适应网卡类型
Interface ethernet1 auto 

(2). 配置防火墙内、外部网卡的IP地址 

IP address inside ip_address netmask  # Inside代表内部网卡
IP address outside ip_address netmask  # outside代表外部网卡

(3). 指定外部网卡的IP地址范围: 

global 1 ip_address-ip_address 

(4). 指定要进行转换的内部地址 

nat 1 ip_address netmask 

(5). 配置某些控制选项: 

conduit global_ip port[-port] protocol foreign_ip [netmask]   

其中,global_ip:指的是要控制的地址;port:指的是所作用的端口,0代表所有端口;protocol:指的是连接协议,比如:TCP、UDP等;foreign_ip:表示可访问的global_ip外部IP地址;netmask:为可选项,代表要控制的子网掩码。 

7. 配置保存:wr mem 

8. 退出当前模式

此命令为exit,可以任何用户模式下执行,执行的方法也相当简单,只输入命令本身即可。它与Quit命令一样。下面三条语句表示了用户从配置模式退到特权模式,再退到普通模式下的操作步骤。

pixfirewall(config)# exit
pixfirewall# exit
pixfirewall>

9. 查看当前用户模式下的所有可用命令:show,在相应用户模式下键入这个命令后,即显示出当前所有可用的命令及简单功能描述。

10. 查看端口状态:show interface,这个命令需在特权用户模式下执行,执行后即显示出防火墙所有接口配置情况。 

11. 查看静态地址映射:show static,这个命令也须在特权用户模式下执行,执行后显示防火墙的当前静态地址映射情况。     

三、Cisco PIX防火墙的基本配置

1. 同样是用一条串行电缆从电脑的COM口连到Cisco PIX 525防火墙的console口;

2. 开启所连电脑和防火墙的电源,进入Windows系统自带的"超级终端",通讯参数可按系统默然。进入防火墙初始化配置,在其中主要设置有:Date(日期)、time(时间)、hostname(主机名称)、inside ip address(内部网卡IP地址)、domain(主域)等,完成后也就建立了一个初始化设置了。此时的提示符为:pix255>。

3. 输入enable命令,进入Pix 525特权用户模式,默然密码为空。

如果要修改此特权用户模式密码,则可用enable password命令,命令格式为:enable password password [encrypted],这个密码必须大于16位。Encrypted选项是确定所加密码是否需要加密。

4、 定义以太端口:先必须用enable命令进入特权用户模式,然后输入configure terminal(可简称为config t),进入全局配置模式模式。具体配置

pix525>enable
Password:
pix525#config t
pix525 (config)#interface ethernet0 auto
pix525 (config)#interface ethernet1 auto

在默然情况下ethernet0是属外部网卡outside, ethernet1是属内部网卡inside, inside在初始化配置成功的情况下已经被激活生效了,但是outside必须命令配置激活。

5. clock

配置时钟,这也非常重要,这主要是为防火墙的日志记录而资金积累的,如果日志记录时间和日期都不准确,也就无法正确分析记录中的信息。这须在全局配置模式下进行。

时钟设置命令格式有两种,主要是日期格式不同,分别为:

clock set hh:mm:ss month day month year和clock set hh:mm:ss day month year

前一种格式为:小时:分钟:秒 月 日 年;而后一种格式为:小时:分钟:秒 日 月 年,主要在日、月份的前后顺序不同。在时间上如果为0,可以为一位,如:21:0:0。

6. 指定接口的安全级别

指定接口安全级别的命令为nameif,分别为内、外部网络接口指定一个适当的安全级别。在此要注意,防火墙是用来保护内部网络的,外部网络是通过外部接口对内部网络构成威胁的,所以要从根本上保障内部网络的安全,需要对外部网络接口指定较高的安全级别,而内部网络接口的安全级别稍低,这主要是因为内部网络通信频繁、可信度高。在Cisco PIX系列防火墙中,安全级别的定义是由security()这个参数决定的,数字越小安全级别越高,所以security0是最高的,随后通常是以10的倍数递增,安全级别也相应降低。如下例:

pix525(config)#nameif ethernet0 outside security0   # outside是指外部接口
pix525(config)#nameif ethernet1 inside security100 # inside是指内部接口

7. 配置以太网接口IP地址

所用命令为:ip address,如要配置防火墙上的内部网接口IP地址为:192.168.1.0 255.255.255.0;外部网接口IP地址为:220.154.20.0 255.255.255.0。
配置方法如下:
pix525(config)#ip address inside 192.168.1.0 255.255.255.0
pix525(config)#ip address outside 220.154.20.0 255.255.255.0

8. access-group

这个命令是把访问控制列表绑定在特定的接口上。须在配置模式下进行配置。命令格式为:access-group acl_ID in interface interface_name,其中的"acl_ID"是指访问控制列表名称,interface_name为网络接口名称。如:

access-group acl_out in interface outside,在外部网络接口上绑定名称为"acl_out"的访问控制列表。
clear access-group:清除所有绑定的访问控制绑定设置。
no access-group acl_ID in interface interface_name:清除指定的访问控制绑定设置。
show access-group acl_ID in interface interface_name:显示指定的访问控制绑定设置。

9.配置访问列表

所用配置命令为:access-list,合格格式比较复杂,如下:

标准规则的创建命令:access-list [ normal | special ] listnumber1 { permit | deny } source-addr [ source-mask ]
扩展规则的创建命令: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 ]

它是防火墙的主要配置部分,上述格式中带"[]"部分是可选项,listnumber参数是规则号,标准规则号(listnumber1)是1~99之间的整数,而扩展规则号(listnumber2)是100~199之间的整数。它主要是通过访问权限"permit"和"deny"来指定的,网络协议一般有IP|TCP|UDP|ICMP等等。如只允许访问通过防火墙对主机:220.154.20.254进行www访问,则可按以下配置:

pix525(config)#access-list 100 permit 220.154.20.254 eq www

其中的100表示访问规则号,根据当前已配置的规则条数来确定,不能与原来规则的重复,也必须是正整数。关于这个命令还将在下面的高级配置命令中详细介绍。


图2

以上各项重定向要求对应的配置语句如下:

static (inside,outside) tcp 172.18.124.99 telnet 10.1.1.6 telnet netmask 255.255.255.255 0 0
static (inside,outside) tcp 172.18.124.99 ftp 10.1.1.3 ftp netmask 255.255.255.255 0 0
static (inside,outside) tcp 172.18.124.208 telnet 10.1.1.4 telnet netmask 255.255.255.255 0 0
static (inside,outside) tcp interface telnet 10.1.1.5 telnet netmask 255.255.255.255 0 0
static (inside,outside) tcp interface www 10.1.1.5  www netmask 255.255.255.255 0 0
static (inside,outside) tcp 172.18.124.208 8080 10.1.1.7 www netmask 255.255.255.255 0 0

12. 显示与保存结果

显示结果所用命令为:show config;保存结果所用命令为:write memory。 

四、包过滤型防火墙的访问控制表(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命令。

PIX入门教程
==============
一、CLI

    PIX防火墙支持基于Cisco IOS的命令集,并提供了4种管理访问模式:
●非特权模式(用户模式);
●特权模式;
●配置模式;
●监控模式。
 
    在每种模式下,可以把命令缩写成最少但唯一的字符串。如,可以输入write t来查看配置信息,输入co t代替configure terminal,进入配置模式。
 
    在PIX防火墙命令行中可以获得帮助信息,输入help或?能够列出所有的命令。如果在一个命令后面输入?,会列出这个命令的说明和语法。如果在一个命令的前面输入help,会列出这个命令的语法和说明。另外,在命令行中可以只输入命令本身,然后回车,可以查看这个命令的语法。
 
    和Cisco IOS路由器相比,在PIX防火墙CLI环境的配置模式下可以执行所有的功能,不必从配置模式退出来,就可以列出正在运行的和当前保存的配置,可以使用所有的show和debug命令。
 
1、基本命令
 
    通过enable命令进入特权模式。命令enable语法是:
enable [priv_level]
enable password pw [level priv_level] [encrypted]
★priv_level-特权级别,从0到15;
★pw-大小写敏感的密码,长度为3到16个数字或字母;
★encrypted-指明输入的密码为加密后的值。(即使密码是空的,也会被转换成加密字符串)
 
    命令enable password可以设置特权模式下的密码。创建密码后,无法再看到这个密码,命令show enable password命令列出密码的加密形式。经过加密的密码,不能回复成明文。
 
    使用configure terminal从特权模式变为配置模式。使用exit或者quit退出。
 
    命令hostname可以改变提示符中的主机名。缺省的主机名是pixfirewall。
 
二、配置PIX防火墙
 
    在配置模式下输入setup,进入配置对话框模式。设置对话框的目的是对PIX防火墙进行预先配置,以便能够和PIX设备管理器(PDM)进行通信。PDM是一个GUI工具,用来配置和监控PIX防火墙。
 
    除了个别命令不能支持(都是很少使用的命令),PDM提供了一个友好的界面,足够用来配置和管理单个PIX防火墙。
 
1、查看与保存配置
 
    命令show running-config可以把PIX防火墙RAM中当前配置显示在终端上,也可以使用write terminal来显示当前配置。
 
    命令write memory把当前正在运行的配置保存到闪存中,当配置写到闪存中后,可以通过命令show startup-config或show configure来查看。
 
    show history可以显示出以前输入的命令。
 
2、命令write erase与tftp-server
 
    命令write erase可以清除闪存中的配置。
 
    命令tftp-server用来指定TFTP服务器的IP地址,可以使用该服务器把PIX防火墙的配置发布到PIX防火墙。使用tftp-server和configure net可以从配置中读信息,命令write net可以把配置信息保存到指定的文件中。
 
    命令configure net和write net的IP地址后面跟的是命令tftp-server中的路径名。命令tftp-server中指定文件或路径名越详细,命令configure net和write net需要指定的内容就越少。如果tftp-server命令中指定了完整的路径名和文件名,configure net和write net命令中的IP地址可以用冒号(:)来代替。
 
    命令no tftp-server禁止访问服务器,而命令clear tftp-server把tftp-server命令从配置文件中删除。命令show tftp-server列出当前配置文件中tftp-server命令语句。命令tftp-server语法如下:
tftp-server [if-name] ip_address path
★if-name-TFTP服务器驻留的接口名称。如果没有指定,缺省使用内部接口。如果指定了外部接口,一个警告信息会提示外部接口不安全;
★ip_address-TFTP服务器的IP地址或网络;
★path-配置文件的路径和文件名。路径的格式和服务器操作系统上使用的格式不同。路径信息直接送到服务器,不会进行理解或检查。TFTP服务器上必须有配置文件。许多TFTP服务器要求配置文件是全球-可写(world-writable)和全球-可读(world-readable)
 
    PIX防火墙只支持一台TFTP服务器。
 
    如果删除了配置文件,要想让PIX防火墙从TFTP服务器上读一个新的配置文件,必须重新启动和TFTP服务器相连的PIX防火墙的接口,并给它设置IP地址。
 
3、命令write net与configure net
 
    命令write net可以把当前的配置保存到TFTP服务器或网络其他地方的一个文件上。命令configure net把当前运行的配置文件和存放在指定IP地址上的TFTP配置进行合并,从指定名称的文件中读取配置信息。如果在tftp-server命令中,同时指明了IP地址和配置文件的完整路径,configure net和write net命令中server_ip和文件名可以忽略,或者用冒号(:)代替。
 
    如果TFTP服务器上已有一个PIX防火墙,当在这个服务器上用相同的名字保存一个更小的配置时,有些TFTP服务器把一些旧的配置信息保留着,放在第一个“end”标志后面。这样并不影响PIX防火墙,因为configure net命令在读到第一个“end”标志时,就不再继续读了。不过,如果查看配置文件时,看到配置文件结尾的后面还有多余的文本,可能会有点困惑。如果你使用的是运行在Windows NT上的Cisco TFTP服务器版本,就不存在这个问题。
 
    下面例子中指定TFTP服务器地址为10.0.0.11,到文件test_config的路径是pixfirewall/config。因为没有指定TFTP服务器驻留的接口,默认使用内部接口。命令configure net告诉PIX读取名为test_config的文件,并把它和当前运行的配置文件进行合并。命令write net告诉PIX防火墙把合并后的配置生成test_config文件(在这种情况下,文件会被覆盖)。
pixfirewall(config)#tftp-server 10.0.0.11 pixfirewall/config/test_config
pixfirewall(config)#configure net :
pixfirewall(config)#write net :
 
    为了更容易查看保存的配置文件,给配置文件七名的时候可以用.rtf作为扩展名。缺省的情况下,可以使用微软的word或wordpad软件打开。
 
    命令write net和configure net的语法如下:
write net [server_ip]:[filename]
configure net [server_ip]:[filename]
★server_ip-网络上可用的TFTP主机的IP地址。如果使用tftp-server命令指定了一台服务器,在命令write中就不用再指定,可以只使用冒号(:),不用再输入IP地址;
★filename-用来指明配置文件位置的文件名,该文件位于前面用server_ip指定的TFTP服务器上。如果用tftp-server命令设定了文件名,在write命令中就不要再指定了,可以只使用冒号(:),不写文件名。
 
4、命令name
 
    使用命令name可以在PIX防火墙上配置一个名字到IP地址的对应列表。这样,在配置的过程中就可以使用名字来代替IP地址。语法如下:
name ip_address name
★ip_address-被命令的IP地址;
★name-分配一个名字的IP地址。
 
    命令names用来启动命令name的使用,即在使用命令name之前,必须先使用命令names。命令clear names从PIX防火墙的配置中删除名字列表。命令no names禁止使用文本格式的名字,但不会从配置中删除这些名字。命令show names可以列出配置中name命令语句。
 
    在命令的前面加上no可以删除或禁用大部分命令,另外一个删除配置命令的方式是clear命令。clear命令通常会删除所有以相同命令开头的命令。
 
5、命令reload
 
    命令reload可以让PIX防火墙重新启动,并从闪存中重新加载配置信息。重新加载以后,原来做的配置修改,如果没有保存到闪存中,都会丢失。在进行重启之前,应使用write memory把当前的配置保存到闪存中。
 
    选项noconfirm可以让PIX防火墙重新加载,而不需要用户确认。PIX不支持关键字noconfirm的缩写形式。
 
三、检查PIX防火墙的状态
 
1、命令show memory
 
    命令show memory可以显示最大物理内存的总和,显示PIX防火墙操作系统当前可用的空闲内存。
 
2、show version
 
    命令show version用来显示PIX防火墙的软件版本,自从上次重启以后的运行时间、处理器类型、闪存类型、接口板、序列号(BIOS标识符)、激活密钥值。
 
    PIX防火墙软件版本5.3或更高的版本中,show version命令列出的序列号是针对闪存BIOS的,和主板上的序列号是完全不同的。要对软件进行更新,需要show version命令列出的序列号,而不是主板上的号码。
 
3、命令show ip address
 
    命令show ip address用来查看每个网络接口上分配的IP地址。当前的IP地址和故障倒换活动防火墙的系统IP地址相同。当活动防火墙出现故障以后,当前的IP地址变成备用防火墙上的地址。
 
4、命令show interface
 
    命令show interface可以查看网络接口信息,用于确定类似于双工不匹配这类物理连接问题。在建立连接关系时,这个命令是你首先应该使用的几个命令之一。
 
5、命令show cpu usage
 
    命令show cpu usage显示CPU的使用情况。如果对于时间间隔来说,利用率是不可知的,显示为NA(not available)。当用户在5秒钟,1分钟和5分钟间隔之前询问CPU的利用率,会发生这种情况。
 
6、命令ping
 
    命令ping确定PIX是否已经连接好,或者网络上某台主机是否可达。命令输出显示是否收到了响应。如果收到了响应,标明主机在网络上,如果没有,命令输出显示“No response received”(这种情况下,应该使用show interface命令来确认PIX防火墙已经连接到网络,并且正在放松数据)。缺省情况下,ping命令尝试三次到达目的地址。
 
    如果想让内部的主机能够ping外部的主机,必须创建一个针对echo-reply的ICMP审计或访问列表。如果正在ping的主机或路由器之间经过了PIX防火墙,并且ping不成功,可以使用debug icmp trace来观察ping的故障所在。
 
    当PIX防火墙配置好,运行以后,就不能从外部网络或从外部接口ping通PIX防火墙的内部接口了。如果能从内部接口ping通内部网络,并且能从外部接口ping通外部网络,PIX防火墙就工作正常,路由是正确的。
 
    ping命令的语法是:
ping [if_name] host
★if_name-网络接口名字。特定接口的地址用作ping命令的源地址。
★host-被ping的主机名或IP地址。
四、时间设置和NTP支持
 
    命令clock可以设置PIX防火墙的时钟,指定时间、月份、日期和年。当防火墙关机时,主板上的电池可以继续维持内存中的时钟设置。PIX防火墙能够为系统事件产生日志消息,并且把这些消息记录到系统日志服务器上。如果想让系统日志包含时间戳信息,需要输入命令logging timestamp。这条命令要求已经使用了命令clock set。以保证系统日志消息时间的正确性。
 
    如果使用公共密钥基础设施(PKI),也需要保证时钟的正确性,PKI使用数字证书对虚拟专用网(VPN)对等体进行认证。Cisco PKI协议使用时钟来确认证书撤回(revocation)列表(CRL)没有过期。否则,证书机构(CA)可能会根据不正确的时间戳来确定拒绝还是允许证书。证书和CRL的有效期在UTC中进行校验。如果在IPSec VPN中使用了证书,应把PIX防火墙的时钟设成UTC时区,以保证CRL校验工作正常。
 
    使用命令show clock可以查看时间,显示出时间、时区、星期和完整的日期。使用命令clear clock可以删除clock set命令。
 
    命令clock set的语法为:
clock set hh:mm:ss month day year
 
1、设置节约白天时间和时区
 
    PIX防火墙不能自动调整成节约白天时间(daylight saving time)的方式,但可以使用命令clock summer-time把它配置成显示节约白天时间。关键字summer-time会让PIX防火墙自动切换到夏令时(仅仅是为了显示)。关键字recurring标识夏令时应该在它后面所跟的值指定的时间开始和结束。如果没有指定值,夏令时默认按照美国的规则执行。
 
    可以使用clock summer-time命令的date版本设定具体的日期和时间。如,下面的例子中,节约白天时间(夏令时)配置成2002年4月7日,凌晨2点开始,2002年10月7日凌晨2点结束。
pixfirewall(config)#clock summer-time PDT date 7 April 2002 2:00 27 October 2002 2:00
 
    使用命令clock timezone来设置时区,这个命令设置的时区仅仅是为了显示的目的,在内部,时间仍然保持与UTC一致。命令clear clock可以删除夏令时的设置,并把时区设为UTC。
 
    clock命令的语法为:
clock summer-time zone recurring [week weekday month hh:mm week weekday month hh:mm] [offset]
clock summer-time zone date {day month|month day} year hh:mm {day month|month day} year hh:mm [offset]
clock timezone zone hours [minutes]
show clock [detail]
★summer-time-命令clock summer-time在指定的夏令时日期范围内显示夏令时。这个命令只会时钟的显示时间;
★zone-时区的名字;
★recurring-指定本地夏季实行“节约白天”时间的起始和终止日期。第一个日期是起始日期,第二个日期是终止日期;
★week-指定是这个月中的第几周。输入1、2、3或4指定这个月的第1、2、3、4周。使用first或last在一个月的开头或末尾不完整的一周。例如,可以使用last指定某个月的第5周。
★weekday-指定一周中的某一天。可输入Monday,Tuesday,Wednesday,Thursday,Friday,Saturday或Sunday。
★month-指定月份。输入一个月份中的前三个字符(例如,apr标识April)
★hh:mm-以24小时方式标识的小时和分钟。0可以作为一个单独的数字输入(例如:21:0)
★offset-夏令时要增加的分钟数。缺省是60分钟。
★date-作为clock summer-time命令循环格式的替代方式。指定夏令时从先输入的日期开始,在后输入的日期结束。如果起始日期的月份比结束日期的月份要晚,也是可以的,假设位于南半球。
★day-起始月份的日期
★year-使用4位数表示的年份。clock命令支持的年份范围是1993到2035年。
★timezone-命令clock timezone设置时钟按照指定的时区显示。不会改变PIX防火墙内部的时间,内部仍然是UTC。
★hours-相对于UTC偏移的小时数。
★minutes-相对于UTC偏移的分钟数。
★detail-显示时钟源和当前的夏令时。
 
2、命令ntp
 
    命令ntp server让PIX防火墙和指定的网络时间服务器保持同步。可以配置PIX防火墙要求在与NTP服务器进行同步时进行认证。要启动并支持认证,需要几条其他的NTP命令配合ntp server命令。下面是ntp命令的格式用法:
●ntp server-指定NTP服务器。只有配置了NTP服务器的PIX防火墙接口会侦听NTP数据包(端口123)。如果NTP数据包,不是针对PIX防火墙请求的响应数据包,就会被丢弃。
●ntp authenticate-启动NTP认证。
●ntp authentication-key-定义NTP命令使用的认证密钥。如果使用认证方式,PIX防火墙和NTP服务器山的密钥必须相同。
●ntp trusted-key-定义一个或多个密钥号码,为了让PIX防火墙接受与NTP服务器的同步,NTP服务器在它的NTP数据包中提供密钥号码。如果NTP认证启动了,要使用这个命令。
 
    可以使用show ntp命令来显示当前的NTP配置,使用show ntp status命令来显示NTP时钟信息。命令clear ntp可以删除NTP配置,包括关闭认证,删除所有的认证密钥和所有的指定NTP服务器。
 
    命令NTP的语法为:
ntp authenticate
ntp authentication-key number md5 value
ntp server ip_address [key number] source if_name [prefer]
ntp trusted-key number
★authenticate-启动NTP认证。如果启动,在与NTP服务器进行同步之前PIX防火墙要求进行认证。
★authentication-key-定义在其他的NTP命令中使用的认证密钥。
★if_name-指定向网络时间服务器发送数据包时所用的接口。
★ip_address-指定要与之同步的网络时间服务器的IP地址。
★key-指定认证密钥。
★md5-认证算法。
★number-认证密钥的号码。
★prefer-指定特定的网络时间服务器作为进行时间同步的优选服务器。
★server-网络时间服务器。
★source-指定网络时间服务器
★trusted-key-指定认证时使用的可信任的密钥
★value-密钥的值,最多可以到32个字符。当使用命令write terminal或show tech-support查看文件时,密钥值显示为“*********”
 
    下面例子中,指定位于内部接口的10.0.0.12的NTP服务器作为PIX防火墙的优选网络时间源,同时还指定了认证密钥为1234:
pixfirewall(config)#ntp server 10.0.0.12 key 1234 source inside prefer
五、基本的PIX防火墙配置
 
    可以用PDM或CLI接口对PIX防火墙进行基本的配置。
 
1、命令nameif
 
    命令nameif给PIX防火墙的每个边界物理或逻辑接口分配一个名字,并指定它们的安全级别(除了PIX防火墙的内部和外部接口,它们的名字是缺省的)。命令nameif的语法是:
nameif {hardware_id | vlan_id} if_name security_level
clear nameif
show nameif
★hardware_id-指定边界接口和它在PIX防火墙中的插槽位置。
★vlan_id-VLAN标识符。
★if_name-对边界接口进行描述。你所指定的名字在后面配置边界接口时可以引用。
★security_level-指明边界接口的安全级别,有效范围是1~99。
 
例如:下面的命令为接口ethernet2分配的名字是“dmz”,安全级别是50。
pixfirewall(config)#nameif ethernet2 dmz sec50
 
2、命令interface
 
    命令interface指明硬件、设置硬件的速率、启动接口。选项shutdown禁用接口。当首次安全PIX防火墙时,所有的接口缺省都是关闭的。需要通过interface命令,不加shutdown参数来启动这些接口。
 
    interface命令的语法是:
interface hardware_id [hardware_speed] [shutdown]
interface hardware_id vlan_id [logical | physical] [shutdown]
interface hardware_id change-vlan old_vlan_id new_vlan_id
clear interface
★change-vlan--表明要改变一个接口的VLAN标识符
★hardware_id--指定接口和它在PIX中的槽位号。和命令nameif中使用的变量相同。
★hardware_speed--确定连接速率。可能的以太网值有:
                10baset-设置成10Mbit/s以太网半双工通信。
                10full-设置成10Mbit/s以太网全双工通信。
                100basetx-设置成100Mbit/s以太网半双工通信。
                100full-设置成100Mbit/s以太网全双工通信。 
                1000sxfull-设置成1000Mbit/s吉比特全双工通信。
                1000basex-设置成1000Mbit/s吉比特半双工通信。
                1000auto-设置成1000Mbit/s吉比特以太网自动协商全双工或半双工。建议不要使用这个选项设置交换机户欧网络上的其他设备。
                aui-把附加单元接口(AUI)电缆设置成10Mit/s以太网半双工通信
                auto-设置成以太网速率自适应模式。只能在10/100速率自适应MIC上使用auto关键字。
                bnc-把BNC电缆接口设置成10Mbit/s以太网半双工通信方式
               
★logical--创建一个逻辑接口,并应用这个VLAN
★new_vlan_id--新VLAN标识符
★old_vlan_id--当前的VLAN标识符
★physical--把VLAN应用到物理接口
★vlan_id--VLAN标识符。
★shutdown--管理性关闭接口。
 
    只有在PIX防火墙软件版本6.3或更高的版本上才支持逻辑接口和VLAN配置。防火墙服务模块(FWSM)也支持逻辑接口。
 
    尽管默认情况下硬件的速率都设置成自适应的方式,实际上应该给网络接口指定速率。如果网络环境中包含交换机或其他不能正确处理自适应协商的设备时,PIX防火墙也能正常运行。
 
    下面例子说明使用interface命令配置物理或逻辑接口。
pixfirewall(config)#interface ethernet4 100full
pixfirewall(config)#interface ethernet4 vlan1 physical
pixfirewall(config)#interface ethernet4 vlan5 logical
 
3、命令ip address
 
    在对一个接口进行了配置,并使用命令interface和nameif进行了命名以后,还必须使用命令ip address给这个接口分配一个IP地址。使用clear ip命令把所有的接口地址重新设置成127.0.0.1。
 
    除了可以手工为PIX防火墙的外部接口配置IP地址,还可以启动PIX防火墙的DHCP客户端功能,让PIX防火墙从DHCP服务器上动态获得IP地址。当PIX防火墙配置成DHCP客户端以后,DHCP服务器可以给PIX防火墙的外部接口分配IP地址、子网掩码和作为可选项的缺省路由。使用ip address outside dhcp命令可以启动此功能。
 
    使用命令show ip address dhcp可以查看当前DHCP租用的相关信息。重新输入ip address outside dhcp会释放并重新获得DHCP租用,也可以使用命令clear ip来释放并重新获得DHCP租用,但是会清除每个PIX防火墙接口的配置。如果只删除外部接口上通过DHCP租用的IP地址,可以使用命令clear ip address outside dhcp。命令debug dhcp packet | detail | error为DHCP客户端功能提供了诊断工具。
 
    命令ip address的语法是:
ip address if_name ip_address [netmask]
ip address outside dhcp [setroute] [retry retry_cnt]
show ip address outside dhcp
clear ip
clear ip address outside dhcp [setroute] [retry retry_cnt]
★dhcp--指定PIX防火墙通过使用DHCP来获得一个IP地址
★if_name--描述接口。给接口分配的名字,在以后配置时必须使用它对接口进行引用
★ip_address--指定接口的IP地址
★netmask--指定用于ip_address的网络掩码。如果没有具体指定掩码,使用缺省掩码
★outside--指定PIX防火墙获取信息的接口
★retry--启动PIX防火墙再次尝试获取DHCP信息的功能
★retry_cnt--指定PIX防火墙尝试获得DHCP信息的次数,可选的范围是4到16,没有指定时,缺省是4
★setroute--告诉PIX防火墙,使用DHCP服务器返回的缺省网关参数来设置缺省路由
 
    PIX防火墙DHCP客户端不支持配置故障倒换。
 
    下面例子中第一条命令指定外部接口从一台DHCP服务器上获取IP地址,第二条命令把名为dmz的接口的IP地址设为172.16.0.1,掩码为255.255.255.0。
pixfirewall(config)#ip address outside dhcp
pixfirewall(config)#ip address dmz 172.16.0.1 255.255.255.0
六、nat命令
 
    网络地址转换(NAT)可以将PIX防火墙后边的内部IP地址对外隐藏起来。NAT是通过在转发数据包到外部网络之前,将全球不唯一的内部IP地址转换成全球公认的IP地址来完成这个任务。在PIX防火墙中使用nat和global命令来执行NAT。
 
    当一台内部网络中的设备发送一个出站IP数据包,到达一台配置了NAT的PIX防火墙时,PIX防火墙将提取出源地址并与一个内部的转换表进行比较。如果在表中不存在该设备的地址,那么在转换时将为该设备创建一个新的条目,并从一个全局IP地址池中给它分配一个IP地址。该全局地址可以使用global命令来配置。在转换完成后,将更新表格并转发转换后的IP数据包。如果在用户设置的超时周期(缺省为3小时)内没有使用相应IP地址做转换的数据包经过时,将从表中删除这些相应的条目,并释放相应的全局地址用于其他的内部设备。
 
    在PIX防火墙上启用NAT的第一步是输入nat命令。通过nat命令可以指定转换一台主机或一个主机范围。还可以使用nat 1 0.0.0.0 0.0.0.0命令来转换所有内部主机产生的出站连接。
 
    可以使用一个0代替0.0.0.0来简化nat命令的条目。
 
    nat命令的语法如下:
nat [(if_name)] nat_id address [netmask] [timeout hh:mm:ss]
★if_name--接口的名称,对该接口连接的网络进行地址转换
★nat_id--一个大于0的数字,该数字指定你想用于动态地址转换的全局地址池
★address--要进行转换的IP地址。可以使用0.0.0.0来允许所有的主机发起出站连接。0.0.0.0可以所写成0
★netmask--用于地址的网络掩码。使用0.0.0.0则表示允许所有的出站连接使用全局地址池中的IP地址进行转换
★timeout--改变缺省的xlate超时值,缺省为3小时
★hh:mm:ss--转换槽的超时时间。如果在超时时间内没有TCP或用户数据包协议(UDP)连接使用转换,将发生超时。
 
    在内部网络中使用私有地址,并在转发内部网络的数据包到外部网络时将私有地址转换成全球公认的IP地址,在提供更好安全性的同时,也可以减少所需公共IP地址的数量。尽管建议使用这个配置,并且该配置经常被部署到网络中,但是有时可能不想把通过PIX防火墙的数据包进行地址转换(例如,当PIX防火墙位于另外一个NAT设备后面时)。这种情况下,就可以使用nat 0命令来配置PIX防火墙,使PIX防火墙不对通过它的数据包进行地址转换。
 
    下面例子中示范了如何使用nat 0命令为指定的主机关闭地址转换。把网络10.0.0.0中主机发起的出站连接进行地址转换,而当网络192.168.0.0中的主机发起的出站连接通过PIX时,则不对其进行地址地址转换。
pixfirewall(config)#nat (inside) 1 10.0.0.0 255.0.0.0
pixfirewall(config)#nat (inside) 0 192.168.0.0 255.255.255.0
 
1、global命令
 
    当某台内部主机通过防火墙访问外部网络时,可以使用global命令和nat命令来为这台内部主机分配一个注册或者公共的IP地址。如果使用了nat命令,就必须使用global命令来定义用于转换的IP地址池。
 
    使用no global命令删除相应的global条目(例如:no global (outside) 1 192.168.1.20-192.168.1.254 netmask 255.255.255.0)。
 
    global命令的语法如下:
global [(if_name)] nat_id {global_ip [-global_ip] [netmask global_mask]} | interface
★if_name--使用全局地址的外部网络接口名称
★nat_id--标识全局地址池,要与nat命令中nat_id进行匹配
★global_ip--一个IP地址或者一个全局IP地址范围内的起始IP地址
★-global_ip--全局IP地址范围内的结束IP地址
★global_mask--用于global_ip地址的网络掩码。使用netmask命令指定一个地址范围,在全局地址池中,这个命令不使用广播或网络地址。例如,如果使用从192.150.50.20~192.150.50.140这样的一个地址范围并且网络掩码为255.255.255.128,那么在全局地址池中将不包括广播地址192.150.50.127和网络地址192.150.50.128
★interface--指定PAT使用接口上的IP地址。
 
    例如,使用以下列出的命令,允许对所有的内部主机进行NAT,并将它们的私有地址转换成192.168.0.20到192.168.0.254范围中的公共地址:
pixfirewall(config)#nat (inside) 1 0.0.0.0 0.0.0.0
pixfirewall(config)#global (outside) 1 192.168.0.20-192.168.0.254
 
    PIX防火墙从全局地址池中分配地址时,是以global命令中所指定的地址范围内从低到高顺序进行分配的。
 
    PIX防火墙使用全局地址分配一个虚地址到一个内部NAT地址。在添加、改动或删除一个global命令语句后,要使用IP命令来确保IP地址在转换表中是可用的。
 
2、route命令
 
    在任何的PIX防火墙基础配置中都需要route命令,该命令为一个接口定义一条静态或缺省路由。
 
    route命令的语法如下:
route if_name ip_address netmask gateway_ip [metric]
★if_name--内部或外部网络接口名称
★ip_address--内部或外部网络IP地址。使用0.0.0.0指定一条缺省路由。
★netmask--指定一个应用到ip_address上的网络掩码。使用0.0.0.0指定一条缺省路由。
★gateway_ip--指定网关路由器的IP地址(路由的下一跳地址)
★metric--指定到gateway_ip的跳数。如果不确定,输入1。这个信息可以由你的WAN管理员提供给你,还可使用traceroute命令来获得到gateway_ip的跳数信息。如果metric没有被指定,缺省是1。
 
    如果想通过一台IP地址为192.168.1.1的路由器路由所有的出站数据包(外部接口),诗云女冠下列命令:
pixfirewall(config)#route outside 0.0.0.0 0.0.0.0 192.168.1.1 1
以下列出的命令与上面的命令结果是相同的:
pixfirewall(config)#route outside 0 0 192.168.1.1
 
    在PIX防火墙上为了配置可达所有的网络的路由,需要配置多条route命令语句。例如:如果10.0.10.0和10.0.2.0这两个网络连接到一台路由器上,并且这台路由器与PIX防火墙DMZ接口的连接地址为10.0.0.1。在PIX防火墙上配置到达这两个网络所需的静态路由是:
pixfirewall(config)#route dmz 10.0.1.0 255.255.255.0 10.0.0.1 1
pixfirewall(config)#route dmz 10.0.2.0 255.255.255.0 10.0.0.1 1
 
    可以使用多条route命令语句来为不同的网络配置静态路由。不管怎样,只能配置一条缺省路由(route if_name 0 0 gateway_ip),并且不能配置多条路由到相同的网络(切记,PIX防火墙不是路由器)。
 
    可以使用PIX防火墙上一个接口的IP地址作为网关地址。如果这样做了,PIX防火墙在广播一个地址解析协议(ARP)请求时,所询问的MAC地址是数据包中目的地址所对应的MAC地址,而不是缺省网关IP地址所对应的MAC地址。
七、Syslog命令
 
    PIX防火墙为系统事件产生系统日志(syslog)消息,可以使用系统日志消息创建E-mail告警和日志文件,或者将它们显示在指定的系统日志主机的控制台上。PIX能够发送系统日志消息到任何一台系统日志服务器。在所有的系统日志服务器或主机处于离线状态时,PIX防火墙能够最多存储100条消息到它的内存中。后续到达的消息将从缓存的第一行开始覆盖。
 
    PIX防火墙发送的系统日志消息将记录以下的事件:
●安全--丢弃的UDP数据包和拒绝的TCP连接
●资源--连接通告和转换槽消耗
●系统--铜鼓欧console和Telnet的登录和退出,以及重启PIX防火墙
●统计--每个连接传输的字节数
 
    要想产生系统日志消息,第一步在PIX防火墙上使用logging on命令启用日志记录。在启用日志记录后,使用logging console命令指定在PIX防火墙的console上显示什么样的系统日志消息。使用logging console命令中的level参数,可以限制在console上显示消息的类型。
 
    在一台生产环境中的设备上使用logging console命令时要小心,因为它将导致PIX防火墙性能的下降。如果要在一台生产环境中的PIX防火墙上启用logging console,就要配置它只能记录重要的消息,减少日志记录对正常运行的影响。
 
    在PIX防火墙上可以使用logging buffered命令,配置在缓存中存储系统日志消息,最多可以存储100条系统日志消息。这个处理过程通常用于快速检查PIX防火墙上最近产生的系统日志消息,然后利用这些系统日志消息进行排错。可以使用show logging命令来查看缓存中当前消息的列表。可以使用clear logging命令清除缓存中的消息。新的消息将被添加到缓冲的末端。
 
    使用logging message命令指定一条被允许的消息。它与no命令配合使用可以抑制一条消息。除非明确地指出不允许,否则所有的系统日志消息都将被允许。要阻挡一条具体的消息,可使用消息编号来决定抑制或允许。例如:如果在系统日志中有一条%PIX-1-101001的消息,它的syslog_id为101001,可以使用这个syslog_id来进行阻挡。
 
    不能阻挡“PIX Startup begin”消息,每一条命令语句中只能阻挡一条消息。
 
    使用logging standby命令允许一台处于故障倒换备份状态下的PIX防火墙发送系统日志消息。这个选项缺省是关闭的。启用此项功能,在发生故障倒换时,处于备份状态的PIX防火墙会拥有同步的系统日志消息;但是,这样会导致系统日志服务器上的流量加倍。可以使用no logging standby命令来关闭这个特性。
 
    logging命令的语法如下:
logging buffered level
logging console level
logging device-id {hostname | ipaddress if_name | string text}
logging history level
logging host [in_if_name] ip_address [protocol/port] [format emblem]
logging message syslog_id [level level]
logging monitor level
logging queue queue_size
logging standby
logging timestamp
logging trap level
clear logging [disable]
show logging [message {syslog_id | all} | level | disable]
show logging queue
★buffered--将系统日志消息发送到内部缓存中。可以通过使用show logging命令进行查看
★level--一个数字或字符串用来指定系统日志消息的级别。指定级别及以下各级的日志都要记录下来。以下列出了有可能作为level值的数字和字符串:
●0-emergencies--系统不可用的信息
●1-alerts--立即采取行动
●2-critical--紧急的情况
●3-errors--错误信息
●4-warnings--警告信息
●5-notifications--正常但重要的信息
●6-informational--情报信息
●7-debugging--Debug信息、记录FTP命令和WWW的URL
★console--将系统日志信息发送到PIX防火墙的控制台(console)上。使用level可以限制在console上显示的信息类型。在生产环境中的防火墙不建议使用这个选项
★device-id--包含在系统日志消息中的PIX防火墙设备ID
★history--设置需要发送系统日志traps的简单网络管理协议(SNMP)消息的级别
★host--指定一台系统日志服务器,用来接收PIX防火墙发送的消息。可以使用多条logging host命令,指定多台用来接收系统日志消息的服务器。但是,一台服务器只能指定接收UDP或TCP这两个协议中的一个。PIX防火墙只能向PIX防火墙系统日志服务器(PFSS)发送TCP系统日志消息
★hostname--指定PIX防火墙的主机名将用于PIX防火墙系统日志消息的唯一标识
★if_name--指定接口名字,此接口上的IP地址将用于PIX防火墙系统日志消息的唯一标识
★in_if_name--指定系统日志服务器所在的接口
★ip_address--系统日志服务器的IP地址
★ipaddress--指定if_name对应的PIX防火墙接口的IP地址将用于PIX防火墙系统日志消息的唯一标识
★protocol--指定系统日志消息使用什么协议进行发送:可以是TCP或UDP。只有PIX防火墙系统日志服务器才支持TCP系统日志消息。可以使用write terminal命令来查看以前输入的端口和协议值。TCP协议代码是6,UDP协议代码是17
★port--PIX防火墙发送UDP或TCP系统日志消息所使用的端口。必须与系统日志服务器所监听的端口相同。UDP端口缺省是514,改变时可用端口范围为1025到65535。TCP缺省端口是1470,可用范围为1025到65535。TCP端口只能与PIX防火墙日志服务器协同工作
★format emblem--使用这个选项后,每台系统日志服务器上(per-syslog-server)将以EMBLEM格式记录日志。以EMBLEM格式记录日志只适用于UDP系统日志消息,并且缺省是关闭的。
★message--指定一条允许的消息。使用no logging message命令抑制一条系统日志消息。使用clear logging disabled命令将抑制的消息恢复到最初的设置。使用show message disabled命令列出所抑制的消息。除非明确指出抑制,否则所有的系统日志消息都将被允许。不能阻挡“PIX Startup begin”消息,每一条命令语句中只能阻挡一条消息。
★syslog_id--指定一个允许或抑制的消息编号。如果在系统日志中有一条%PIX-1-101001的消息,使用101001作为syslog_id。
★monitor--指定在PIX防火墙的Telnet会话上显示系统日志消息。可以通过使用level参数来限制发送到Telnet会话上的消息类型。
★queue queue_size--指定用于存储系统日志消息的队列大小。在处理系统日志消息前使用该参数。队列参数缺省为512条消息,0表示无限制(受限于可用内存),队列的最小值为1条消息。当流量很大时,如果产生的消息大于PIX防火墙对它们的处理能力并且在队列中所存储的系统日志消息也已经饱和,这时消息将被丢弃
★standby--允许处于故障倒换备份状态下的PIX防火墙发送系统日志消息。该选项缺省是关闭的。启用它,在发生了故障倒换时,可以确保处于备份状态的PIX防火墙拥有同步的系统日志消息。但是,这样会导致系统日志服务器的流量加倍,可以使用no logging syandby命令关闭这个特性
★timestamp--指定在每条发送到系统日志服务器的系统日志消息上盖上时戳
★trap--只为系统日志消息设置日志记录的级别
★show--列出哪些日志记录选项被启用。如果使用了logging buffered命令,show logging命令将列出当前缓存中的消息
★clear--清除logging buffered命令所使用的消息缓存
★all--所有的系统日志消息ID
★disabled--清除或列出被no logging message命令所抑制的消息
 
    配置PIX防火墙发送系统日志消息到一台系统日志服务器,需以下配置:
★使用logging on命令启用日志记录。使用no logging on命令关闭发送消息。
★使用logging host命令,指定一台用于接收消息的主机。
logging host [in_if_name] ip_address [protocol/port]
    使用连接服务器的接口的名称替代in_if_name,使用服务器的IP地址替代ip_address。如果系统日志服务器在一个不标准的端口上接收消息,可以使用UDP和新的端口号来替代protocol。缺省的协议为UDP,缺省端口为514,改变时其端口可用范围是从1025到65535。同样可以指定TCP协议,其端口可用范围是从1025到65535,缺省为1470
★使用logging trap命令,指定将要被发送到系统日志服务器上的日志记录的级别:
logging trap level
★使用logging facility命令,指定PIX防火墙为系统日志消息分配哪个日志记录设施(logging facility):
logging facility facility
    因为网络设备共享8台设施,所以要使用logging facility命令在日志消息上设置设施的值。
★如果想在发送到日志服务器上的消息上盖上时戳,可以使用logging timestamp命令,使用no logging timestamp命令关闭在日志记录消息上盖时戳。
 
==================
  可以配置PIX防火墙使之有选择地允许某些流量通过其接口,这些配置方式有:基于源地址或目的地址;基于服务类型;基于验证、授权和计费(AAA)需求;基于内容或目的URL。
 
    ACL是由路由器和PIX防火墙维护的用来控制流量的一个列表。内容过滤可以阻止特定类型的内容(比如Java applets,ActiveX控件等)进入你的网络,还可以用来控制和阻止网络内部主机对受限的web站点的访问。
 
一、访问控制列表
 
    使用access-list和access-group这两条命令可以实现ACL。
 
    access-list命令用来创建ACL,access-group命令用来把ACL绑定到路由器或PIX防火墙的特定接口上。使用access-group命令在一个接口上只能绑定一个ACL。
 
    与使用Cisco IOS的路由器不同的是,在PIX防火墙上使用access-group命令只能将ACL绑定到任意接口的入站流量上。不过,在PIX防火墙上仍然能控制出站流量(例如,从inside接口到outside接口),但是必须使用access-group acl_id in interface inside命令将ACL绑定到inside接口上,从而控制从内部主机到inside接口的流量。
 
    access-list和access-group命令可以代替outbound或者conduit命令,且access-list和access-group命令具有较高的优先级。
 
    当用来允许或拒绝流量时,access-list命令与conduit命令遵循同样的原理和规则。以下是设计和实现ACL时遵循的规则:
●从较高到较低的安全性:
  -用ACL来限制出站流量;
  -ACL命令中的源地址是主机或网络的实际地址。
●从较低到较高的安全性:
  -用ACL来限制入站流量;
  -ACL命令中的目的地址是经过转换的全局地址。
 
    access-list命令使你可以指明允许或拒绝某IP地址访问某端口或协议。缺省情况下,访问列表中的所有访问都是被拒绝。因此,需要允许访问时必须明确指出。
 
    在PIX防火墙6.3中加入了对ACL编辑及注释的支持。该版本中可以为特定的ACL条目指定行编号,并把它放到ACL中的任意位置。
 
    当把主机的IP地址作为源或目的地址时,可以使用关键字host来代替网络掩码255.255.255.255。例如,下列ACL允许到主机192.168.1.1的FTP流量:
access-list SAMPLEACL permit tcp any host 192.168.1.1 eq ftp
 
    show access-list命令可以列出配置中的access-list命令语句,还可以列出access-list命令搜索过程中各元素的匹配命中统计。在6.3版本中,还可以显示出所有添加到ACL中的注释和每个条目的行编号。
 
    clear access-list命令将从配置中删除所有的access-list命令语句。如果指定了clear access-list命令中的acl_id参数,那么仅仅删除与该参数对应的ACL。如果指定counters选项,那么将清除指定ACL的匹配命中统计。
 
    使用clear access-list命令的同时会阻止与被影响的access-list命令语句相关的所有流量通过PIX防火墙。
 
    使用no access-list命令时,如果所提供的参数与已有的特定命令相匹配,那么将从配置中删掉该命令。
 
    当使用no access-list命令且仅指定相关ACL的名称时,整个ACL将被删除。如:no access-list out_in
 
    如果一个ACL组中所有的access-list命令语句都已被删除,那么no access-list命令相当于从配置中删除相应的access-group命令。
 
    处理子网掩码的顺序相反之外,access-list命令在PIX防火墙中与Cisco IOS软件中的语法是一样的。如,在Cisco IOS中access-list命令指定的子网掩码为0.0.0.255,那么在PIX防火墙中access-list命令将指定该子网掩码为255.255.255.0。
 
    以下列出了access-list命令的语法:
access-list acl_ID [line line_num] deny | permit protocol source_addr source_mask [operator port [port]] destination_addr destination_mask operator [port [port]]
access-list acl_ID [line line_num] deny | permit icmp source_addr source_mask destination_addr destination_mask [icmp_type]
access-list acl_ID [line line_num] remark text
show access-list
clear access-list [acl_ID] [acl_ID counters]
 
    对于入站连接来说,destination_addr指经过NAT转换后的地址;对于出站连接来说,source_addr指未经NAT转换的地址。
 
    access-group命令用来绑定一个ACL到一个接口。ACL用来控制一个接口的入站流量(这点与路由器上的ACL不同,在PIX上没有出站ACL)。使用access-group命令在一个接口上只能绑定一个ACL。
 
    no access-group命令可以解除绑定在接口interface_name上的以参数acl_ID表示的ACL。
 
    show access-group命令用来列出当前绑定在接口上的ACL。
 
    clear access-group命令将删除以参数acl_ID表示的ACL中的所有条目。如果未指明参数acl_ID,那么配置中所有access-list命令语句都会被删除。
 
    以下列出了access-group命令的语法:
access-group acl_ID in interface interface_name
no access-group acl_ID in interface interface_name
show access-group acl_ID in interface interface_name
clear access-group
●acl_ID--与给定的ACL相关联的名称
●in interface--在给定的接口上过滤入站的数据包
●interface_name--网络接口的名称
 
    nat命令可以为主机或网络启用NAT地址转换。nat access-list将在nat命令的基础上实现策略NAT,可以只对与访问控制列表ACL中的条目相匹配的流量进行NAT转换。还可以使用nat 0 access-list命令对与ACL的条目相匹配的流量不进行地址转换。
 
    以下列出了nat access-list命令的语法:
nat [(if_name)] nat_id access-list acl_name [outside]
●if_name--内部网络接口名称。如果该接口绑定了一个ACL,那么if_name参数就是拥有较高安全级别接口的名称
●nat_id--在0和65535之间的一个整数。如果nat_id取值为0,则表示匹配ACL的流量将不进行NAT转换。如果nat_id在1和65535之间取值,则表示启用策略NAT
●access-list--该参数使nat 0命令与access-list命令相关联
●acl_name--用于标识access-list命令语句的名称
●outside--用于指定将nat命令应用到outside接口地址上。
 
    下面例子说明使用nat 0 access-list命令可以使内部主机10.0.0.11在连接到外部主机10.2.1.3时不经过NAT地址转换。
pixfirewall(config)#access-list NONAT permit ip host 10.0.0.11 host 10.2.1.3
pixfirewall(config)#nat (inside) 0 access-list NONAT
 
Turbo ACL
 
    一个典型的ACL是由多个ACL条目组成,这些条目在PIX防火墙内被有序地组织起来形成一个链表。当使用访问控制列表来处理数据包时,PIX防火墙顺序地查找该链表以发现匹配地条目。被匹配的条目用来决定转发或丢弃该数据包。在线性的查找过程中,平均查找时间与ACL的大小成正比。
 
    Turbo ACL通过让PIX防火墙重新编辑ACL表格,在ACL包含大量条目时可以提高平均查找时间。可以先对所有ACL启用该特性,然后再针对特定的ACL禁用该特性;也可以为某个特定的ACL启用该特性。对于较短的ACL来说,Turbo ACL特性不会提高性能。一个Turbo ACL查询一个任意长度的ACL所需要的时间,与在一个大约由12到18个条目构成的ACL中进行常规的查询所需的时间大致是相同的。因此,Turbo ACL特性既是被启用,也仅仅被用到包含19个甚至更多条目的ACL上。
 
    Turbo ACL最少需要2.1MB的内存而且每2000条ACL条目大约需要1MB的内存。实际所需的那促不仅与ACL中所拥有的条目数量有关,而且还和条目的复杂程度有关。因此比较适合在高端PIX防火墙上使用,例如PIX防火墙525或535。当在启用Trubo ACL特性的ACL中添加或删除某个条目时,与该ACL相关联的内部数据表格将重新生成,这对PIX防火墙的CPU所增加的负担是不可忽略的。
 
    501型号的PIX防火墙不支持Turbo ACL。
 
    Turbo ACL特性可以统一配置,也可以针对每个ACL逐个配置。用access-list compiled命令可以为所有包含19个或更多条目的ACL启用Turbo ACL特性。该命令将使Turbo ACL处理过程扫描所有现有的ACL。在扫描期间,将给每个ACL添加Turbo配置标记,并为包含19个以上条目的且尚未被编辑的ACL进行编辑。
 
    可以使用access-list acl_ID compiled命令为单独的ACL启用turbo ACL特性,还可以在统一配置Turbo ACL后使用该命令的no形式为特定的ACL关闭该特性。
 
    no access-list compiled命令缺省地会使PIX防火墙的Turbo ACL处理过程扫描所有编辑过的ACL,并且将每个ACL标记为non-Turbo,还会删除所有存在的Turbo ACL结构。
 
    使用show access-list命令可以查看Turbo ACL配置情况。在配置了Turbo ACL的情况下,该命令会输出每个经过Turbo编辑的ACL的内存使用情况和所有这些ACL共享的内存使用情况,当没有ACL被Turbo编辑过,那么不会输出Turbo统计。
二、把conduit转换成ACL
 
    在PIX防火墙配置中建议使用ACL而不是conduit。
 
    access-list命令在PIX防火墙中与Cisco IOS中使用相同的语法,但是两者由一个很重要的区别。在PIX防火墙中,access-list命令与其他命令一样指定子网掩码,这一点与Cisco IOS版本中的access-list命令是完全不同的。
 
    ACL和conduit最重要的相同点大概就是两个命令都可以结合static命令来允许或拒绝从PIX防火墙的外部网络到位于内部网络上主机的TCP/UDP服务的访问。更确切地说,这两个命令都可以用来允许或拒绝从具有较低安全级别地接口到具有较高安全级别地接口地连接。
 
    conduit定义了可以在这两个接口之间流动地流量,且通过允许从一个接口访问位于另一个接口上的主机,在PIX防火墙的适应性算法(ASA)中创建了一个例外。相比而言,在access-group命令中用到的access-list命令仅仅作用于耽搁接口上,且会影响进入该接口的所有流量,而不管该接口的安全级别。同时,ACL在最后由一条隐含的deny规则。一旦在一个接口上应用ACL,进入该接口的所有inbound数据包必须遵守该ACL的规则,而不管该接口的安全级别。
 
    下面列出ACL和conduit的特性:
●access-list命令只有通过access-group命令将其捆绑到一个接口上才能控制访问,而conduit根本不需要绑定到一个接口上;
●配置时,access-list和access-group命令比conduit命令具有更高的优先级;
●ACL比conduit更灵活。可以限制从具有较高安全级别的接口到具有较低安全级别的接口的连接,也可以允许或拒绝从拥有较低安全级别的接口到拥有较高安全级别的接口的连接。
 
    由于在未来版本的PIX防火墙中将不提供对conduit的支持,所以有必要将配置中已有的conduit命令转换成ACL。
 
    conduit permit | deny protocol global_ip global_mask operator port [port] foreign_ip foreign_mask [operator port [port]]
 
    access-list acl_ID [line line_num] deny | permit protocol source_addr source_mask [operator port [port]] destination_addr destination_mask operator port [port]
 
    将conduit命令中的参数搬到access-list命令中来使用,可以把conduit转换成ACL。这种变动的确有效,因为conduit命令中的foreign_ip参数与access-list命令中的source_addr参数是相同的,conduit命令中的global_ip参数与access-list命令中的destination_addr参数是相同的。以下是把conduit命令替换为access-list命令的例子。
 
    access-list acl_ID permit | deny protocol foreign_ip foreign_mask [foreign_operator foreign_port [foreign_port]] global_ip global_mask global_operator global_port [global_port]
 
    下面列出一条conduit命令语句及其与之等价的access-list命令语句。
conduit permit tcp host 172.18.0.10 eq ftp 172.18.0.0 255.255.255.0
access-list 102 permit tcp 172.18.0.0 255.255.255.0 host 172.18.0.10 eq ftp
三、使用ACL
 
    在下面所示的网络,在inside接口上使用名为acl_out的ACL来控制入站流量。该ACL拒绝来自内部网络的HTTP连接,而允许其他所有的IP流量通过。在inside接口上使用这个ACL可以限制内部用户建立通向外部的连接。
    为允许出站连接,内部网络地址(10.0.0.0)被动态转换为从192.168.0.20到192.168.0.254之间的地址。
 
    下面列出了实现上图所描述的网络拓扑结构的ACL配置。
pixfirewall(config)#write terminal
...
nameif ethernet0 outside sec0
nameif ethernet1 insside sec100
access-list acl_out deny tcp any any eq www
access-list acl_out permit ip any any
access-group acl_out in interface inside
nat (inside) 1 10.0.0.0 255.255.255.0
global (outside) 1 192.168.0.20-192.168.0.254 netmask 255.255.255.0
 
    如下图所示的网络,在outside接口上使用名为acl_in_dmz的ACL来控制入站流量。该ACL只允许从Internet Web服务器通过80端口的web连接,而拒绝其他所有到DMZ或内部网络的IP访问。
    当从外部网络访问DMZ上的web服务器时,需要将外部地址(192.168.0.11)静态转换成DMZweb服务器的地址(172.16.0.2)。
 
    下面列出了实现上图所描述的网络拓扑结构的ACL配置。
pixfirewall(config)#write terminal
...
nameif ethernet0 outside sec0
nameif ethernet1 inside sec100
nameif ethernet2 dmz sec50
ip address outside 192.168.0.2 255.255.255.0
ip address dmz 172.16.0.1 255.255.255.0
static (dmz,outside) 192.168.0.11 172.16.0.2
access-list acl_in_dmz permit tcp any host 192.168.0.11 eq www
access-list acl_in_dmz deny ip any any
access-group acl_in_dmz in interface outside
 
    如下图所示的网络,在Partnernet网络的接口上使用名为acl_partner的ACL来控制