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、ip address、nat、global、route、static等。
1、nameif
设置接口名称,并指定安全级别,安全级别取值范围为1~100,数字越大安全级别越高。
例如要求设置:
ethernet0命名为外部接口outside,安全级别是0。
ethernet1命名为内部接口inside,安全级别是100。
ethernet2命名为中间接口dmz, 安装级别为50。
使用命令:
PIX525(config)#nameif ethernet0 outside security0
PIX525(config)#nameif ethernet1 inside security100
PIX525(config)#nameif ethernet2 dmz security50


2、interface
配置以太口工作状态,常见状态有:auto、100full、shutdown。
auto:设置网卡工作在自适应状态。
100full:设置网卡工作在100Mbit/s,全双工状态。
shutdown:设置网卡接口关闭,否则为激活。
命令:
PIX525(config)#interface ethernet0 auto
PIX525(config)#interface ethernet1 100full
PIX525(config)#interface ethernet1 100full shutdown

3、ip address
配置网络接口的IP地址,例如:
PIX525(config)#ip address outside 133.0.0.1 255.255.255.252
PIX525(config)#ip address inside 192.168.0.1 255.255.255.0
内网inside接口使用私有地址192.168.0.1,外网outside接口使用公网地址133.0.0.1。

4、global
指定公网地址范围:定义地址池。
Global命令的配置语法:
global (if_name) nat_id ip_address-ip_address [netmark global_mask]
其中:
(if_name):表示外网接口名称,一般为outside。
nat_id:建立的地址池标识(nat要引用)。
ip_address-ip_address:表示一段ip地址范围。
[netmark global_mask]:表示全局ip地址的网络掩码。

例如:
PIX525(config)#global (outside) 1 133.0.0.1-133.0.0.15
地址池1对应的IP是:133.0.0.1-133.0.0.15
PIX525(config)#global (outside) 1 133.0.0.1
地址池1只有一个IP地址 133.0.0.1。
PIX525(config)#no global (outside) 1 133.0.0.1
表示删除这个全局表项。

5、nat
地址转换命令,将内网的私有ip转换为外网公网ip。
nat命令配置语法:nat (if_name) nat_id local_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) 1 0 0
表示内网的所有主机(0 0)都可以访问由global指定的外网。

PIX525(config)#nat (inside) 1 172.16.5.0 255.255.0.0
表示只有172.16.5.0/16网段的主机可以访问global指定的外网。

6、route
route命令定义静态路由。
语法:
route (if_name) 0 0 gateway_ip [metric]
其中:
(if_name):表示接口名称。
0 0 :表示所有主机
Gateway_ip:表示网关路由器的ip地址或下一跳。
[metric]:路由花费。缺省值是1。

例如:
PIX525(config)#route outside 0 0 133.0.0.1 1
设置缺省路由从outside口送出,下一跳是133.0.0.1。
0 0 代表 0.0.0.0 0.0.0.0,表示任意网络。

PIX525(config)#route inside 10.1.0.0 255.255.0.0 10.8.0.1 1
设置到10.1.0.0网络下一跳是10.8.0.1。最后的“1”是花费。

7、static
配置静态IP地址翻译,使内部地址与外部地址一一对应。
语法:
static(internal_if_name,external_if_name) outside_ip_addr inside_ 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.1 192.168.0.8
表示内部ip地址192.168.0.8,访问外部时被翻译成133.0.0.1全局地址。

PIX525(config)#static (dmz,outside) 133.0.0.1 172.16.0.2
中间区域ip地址172.16.0.2,访问外部时被翻译成133.0.0.1全局地址。

8、conduit
管道conduit命令用来设置允许数据从低安全级别的接口流向具有较高安全级别的接口。
例如允许从outside到DMZ或inside方向的会话(作用同访问控制列表)。
语法:
conduit permit|deny protocol global_ip port[-port] foreign_ip [netmask]
其中:
global_ip是一台主机时前面加host参数,所有主机时用any表示。
foreign_ip 表示外部ip。
[netmask] 表示可以是一台主机或一个网络。
例如:
PIX525(config)#static (inside,outside) 133.0.0.1 192.168.0.3
PIX525(config)#conduit permit tcp host 133.0.0.1 eq www any

这个例子说明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-list 100 permit ip any host 133.0.0.1 eq www
PIX525(config)#access-list 100 deny ip any any
PIX525(config)#access-group 100 in interface outside

10、侦听命令fixup
作用是启用或禁止一个服务或协议,
通过指定端口设置PIX防火墙要侦听listen服务的端口。
例:
PIX525(config)#fixup protocol ftp 21
启用ftp协议,并指定ftp的端口号为21

PIX525(config)#fixup protocol http 8080
PIX525(config)#no fixup protocol http 80
启用http协议8080端口,禁止80端口。

11、telnet
当从外部接口要telnet到PIX防火墙时,telnet数据流需要用***隧道ipsec提供保护或
在PIX上配置SSH,然后用SSH client从外部到PIX防火墙。
例:
telnet local_ip [netmask]
local_ip 表示被授权可以通过telnet访问到PIX的ip地址。
如果不设此项,PIX的配置方式只能用console口接超级终端进行。

12、显示命令:
show interface  ;查看端口状态。
show static   ;查看静态地址映射。
show ip     ;查看接口ip地址。
show config   ;查看配置信息。
show run ;显示当前配置信息。
write terminal    ;将当前配置信息写到终端。
show cpu usage ;显示CPU利用率,排查故障时常用。
show traffic ;查看流量。
show connect count ;查看连接数。
show blocks ;显示拦截的数据包。
show mem ;显示内存

13、DHCP 服务
PIX具有DHCP服务功能。
例:
PIX525(config)#ip address dhcp
PIX525(config)#dhcpd address 192.168.1.100-192.168.1.200 inside
PIX525(config)#dhcp dns 202.96.128.68 202.96.144.47
PIX525(config)#dhcp domain abc.com.cn

五、PIX防火墙举例
设:
ethernet0命名为外部接口outside,安全级别是0。
ethernet1被命名为内部接口inside,安全级别100。
ethernet2被命名为中间接口dmz,安全级别50。

PIX525#conf t
PIX525(config)#nameif ethernet0 outside security0
PIX525(config)#nameif ethernet1 inside security100
PIX525(config)#nameif ethernet2 dmz security50
PIX525(config)#interface ethernet0 auto
PIX525(config)#interface ethernet1 100full
PIX525(config)#interface ethernet2 100full
PIX525(config)#ip address outside 133.0.0.1 255.255.255.252 ;设置接口IP
PIX525(config)#ip address inside 10.66.1.200 255.255.0.0 ;设置接口IP
PIX525(config)#ip address dmz 10.65.1.200 255.255.0.0 ;设置接口IP
PIX525(config)#global (outside) 1 133.1.0.1-133.1.0.14 ;定义的地址池
PIX525(config)#nat (inside) 1 0 0 ;0 0表示所有

PIX525(config)#route outside 0 0 133.0.0.2 ;设置默认路由
PIX525(config)#static (dmz,outside) 133.1.0.1 10.65.1.101 ;静态NAT
PIX525(config)#static (dmz,outside) 133.1.0.2 10.65.1.102 ;静态NAT
PIX525(config)#static (inside,dmz) 10.66.1.200 10.66.1.200 ;静态NAT
PIX525(config)#access-list 101 permit ip any host 133.1.0.1 eq www;设置ACL
PIX525(config)#access-list 101 permit ip any host 133.1.0.2 eq ftp;设置ACL
PIX525(config)#access-list 101 deny ip any any ;设置ACL
PIX525(config)#access-group 101 in interface outside ;将ACL应用在outside端口

当内部主机访问外部主机时,通过nat转换成公网IP,访问internet。
当内部主机访问中间区域dmz时,将自己映射成自己访问服务器,否则内部主机将会
映射成地址池的IP,到外部去找。
当外部主机访问中间区域dmz时,对133.0.0.1映射成10.65.1.101, static是双向的。
PIX的所有端口默认是关闭的,进入PIX要经过acl入口过滤。
静态路由指示内部的主机和dmz的数据包从outside口出去。