一、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
管道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数据流需要用***隧道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口出去。

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)查看或清除转换槽信息
 

防火墙的具体配置步骤如下:
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表示访问规则号,根据当前已配置的规则条数来确定,不能与原来规则的重复,也必须是正整数。关于这个命令还将在下面的高级配置命令中详细介绍。
10. 地址转换(NAT)
防火墙的NAT配置与路由器的NAT配置基本一样,首先也必须定义供NAT转换的内部IP地址组,接着定义内部网段。
定义供NAT转换的内部地址组的命令是nat,它的格式为:nat [(if_name)] nat_id local_ip [netmask [max_conns [em_limit]]],其中if_name为接口名;nat_id参数代表内部地址组号;而local_ip为本地网络地址;netmask为子网掩码;max_conns为此接口上所允许的最大TCP连接数,默认为"0",表示不限制连接;em_limit为允许从此端口发出的连接数,默认也为"0",即不限制。如:
nat (inside) 1 10.1.6.0 255.255.255.0
表示把所有网络地址为10.1.6.0,子网掩码为255.255.255.0的主机地址定义为1号NAT地址组。
随后再定义内部地址转换后可用的外部地址池,它所用的命令为global,基本命令格式为:
global  [(if_name)] nat_id global_ip [netmask [max_conns [em_limit]]] ,各参数解释同上。如:
global (outside) 1 175.1.1.3-175.1.1.64 netmask 255.255.255.0
将上述nat命令所定的内部IP地址组转换成175.1.1.3~175.1.1.64的外部地址池中的外部IP地址,其子网掩耳盗铃码为255.255.255.0。
11. Port Redirection with Statics
这是静态端口重定向命令。在Cisco PIX版本6.0以上,增加了端口重定向的功能,允许外部用户通过一个特殊的IP地址/端口通过防火墙传输到内部指定的内部服务器。其中重定向后的地址可以是单一外部地址、共享的外部地址转换端口(PAT),或者是共享的外部端口。这种功能也就是可以发布内部WWW、FTP、Mail等服务器,这种方式并不是直接与内部服务器连接,而是通过端口重定向连接的,所以可使内部服务器很安全。
命令格式有两种,分别适用于TCP/UDP通信和非TCP/UDP通信:
(1).  static[(internal_if_name, external_if_name)]{global_ip|interface}local_ip[netmask mask] max_conns [emb_limit[norandomseq]]]
(2). static [(internal_if_name, external_if_name)] {tcp|udp}{global_ip|interface} global_port local_ip local_port [netmask mask] [max_conns [emb_limit [norandomseq]]]
此命令中的以上各参数解释如下:
internal_if_name:内部接口名称;external_if_name:外部接口名称;{tcp|udp}:选择通信协议类型;{global_ip|interface}:重定向后的外部IP地址或共享端口;local_ip:本地IP地址;[netmask mask]:本地子网掩码;max_conns:允许的最大TCP连接数,默认为"0",即不限制;emb_limit:允许从此端口发起的连接数,默认也为"0",即不限制;norandomseq:不对数据包排序,此参数通常不用选。
 
现在我们举一个实例,实例要求如下
●外部用户向172.18.124.99的主机发出Telnet请求时,重定向到10.1.1.6。
●外部用户向172.18.124.99的主机发出FTP请求时,重定向到10.1.1.3。
●外部用户向172.18.124.208的端口发出Telnet请求时,重定向到10.1.1.4。
●外部用户向防火墙的外部地址172.18.124.216发出Telnet请求时,重定向到10.1.1.5。
●外部用户向防火墙的外部地址172.18.124.216发出HTTP请求时,重定向到10.1.1.5。
●外部用户向防火墙的外部地址172.18.124.208的8080端口发出HTTP请求时,重定向到10.1.1.7的80号端口。
以上重写向过程要求如图2所示,防火墙的内部端口IP地址为10.1.1.2,外部端口地址为172.18.124.216。

图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 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
failoverf
ailover timeout 0:00:00failover 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 
确认你使用写入内存或者“wr m”命令存储你的设置。如果你没有使用这个命令,当关闭PIX防火墙电源的时候,你的设置就会丢失。