零起点配置PIX防火墙

来源:互联网 发布:淘宝宝贝描述排版 编辑:程序博客网 时间:2024/05/21 07:49

  本文以目前最流行的Cisco公司出品的PIX系列防火墙的新版本PIX535为例,从安装PIX,配置PIX的命令介绍到真正实例讲解三大部分为读者详细讲解PIX的使用。

 

  PIX综述:

  什么是PIX呢?PIX是Cisco公司开发的防火墙系列设备,主要起到策略过滤,隔离内外网,根据用户实际需求设置DMZ。它和一般硬件防火墙一样具有转发数据包速度快,可设定的规则种类多,配置灵活的特点。最新的PIX版本为PIX535。

 

  PIX的安装:

 

  PIX防火墙从外观上和路由器差不多。(如图1)正面没有任何接口,只显示指示灯。所有的接口都在PIX防火墙的背面。(如图2)

 

 

图二

  大家会发现该设备接口很多,从RJ45到USB接口,从显示器接口到电源接口。我们进一步放大背面各个接口可以看得更加清晰。(如图3)

 

 

图三

  各位读者可以根据图中的指示找到对应的接口,当然默认情况下只有这些接口,如果我们希望添加某个类型的接口还可以卸下相应的面板自行安装新接口。我们用到最多的是console口(控制台)和Slot5,Slot6(RJ45网线接口)。

  安装PIX和安装普通的路由器和交换机一样,用锣钉将设备固定在机柜上即可,同时注意散热和UPS不间断电源的供应。

一台新的PIX防火墙不经过任何配置是无法投入使用的。我们需要用CONSOLE线连接设备的CONSOLE口并根据实际应用环境进行设置,登录PIX的管理界面很简单,将CONSOLE线连接控制台接口即可。

 

 

  在配置PIX防火墙之前,各位读者要跟随我了解一下防火墙的物理特性。防火墙通常具有至少3个接口,但许多早期的防火墙只具有2个接口;当使用具有3个接口的防火墙时,就至少产生了三个网络,三个网络的基本描述如下:

  (1)内部区域(内网),内部区域通常就是指企业内部网络或者是企业内部网络的一部分。它是互连网络的信任区域,即受到了防火墙的保护。

  (2)外部区域(外网),外部区域通常指Internet或者非企业内部网络。它是互连网络中不被信任的区域,当外部区域想要访问内部区域的主机和服务,通过防火墙,就可以实现有限制的访问。

  (3)停火区(DMZ),停火区是一个隔离的网络或几个网络。位于停火区中的主机或服务器被称为堡垒主机。一般在停火区内可以放置Web服务器,Mail服务器等。停火区对于外部用户通常是可以访问的,这种方式让外部用户可以访问企业的公开信息,但却不允许他们访问企业内部网络。

  小提示:

  早期的防火墙功能很有限,只有两个接口,因此这类防火墙是没有停火区的。当然PIX系列防火墙新版本都是有三个接口的。

 

  PIX的工作模式

  了解了PIX的区域划分后我们还需对防火墙的管理访问模式有所区分。实际上PIX防火墙和CISCO以往的路由交换设备一样有四个管理访问模式。依次如下:

  (1)非特权模式。PIX防火墙开机自检后,就是处于这种模式。系统显示为pixfirewall> 。

  (2)特权模式。在非特权模式下输入enable进入特权模式,可以改变当前配置。显示为pixfirewall#。

  (3)配置模式。在特权模式下输入configure terminal进入此模式,绝大部分的系统配置都在这里进行。显示为pixfirewall(config)#。

  (4)监视模式。PIX防火墙在开机或重启过程中,按住Escape键或发送一个“Break”字符,进入监视模式。这里可以更新操作系统映象和口令恢复。显示为monitor> 。

  这四个管理访问模式我们最常用的还是特权模式和配置模式,95%以上的操作命令都是在这两个模式下完成的,而监视模式主要用于恢复PIX默认密码等调试工作,非特权模式则只能查看PIX设备运行状况,不能修改任何设置。

 

  总结:

  虽然本篇文章没有涉及任何关于PIX防火墙的配置命令,仅仅对PIX的外观、工作模式、工作区域进行了介绍,但这就好比为PIX配置打地基一样,只有对上面介绍的内容有了清晰的认识才能在下一篇文章中更快的掌握各种配置命令。

 

  上面我们介绍了PIX的概述和外观以及工作模式和工作区域,下面闲话少说为大家马上呈现PIX的配置命令,读者跟着我理解了本文介绍的全部命令再结合一些基础的网络知识就可以自行配置PIX设备了。

  配置PIX防火墙有六个基本命令:nameif、interface、ip address、nat、global、route。我们先掌握这六个基本命令,然后再学习更高级的配置语句。

  配置防火墙接口的名字,并指定安全级别(nameif):
  Pix525(config)#nameif ethernet0 outside security0
  设置以太网口1为外网接口,安全级别为0,安全系数最低。
  Pix525(config)#nameif ethernet1 inside security100
  设置以太网口2为内网接口,安全级别为100。安全系数最高。
  Pix525(config)#nameif dmz security50
  设置DMZ接口为停火区,安全级别50。安全系数居中。
  在缺省配置中,以太网口0被命名为外部接口(outside),安全级别是0;以太网口1被命名为内部接口(inside),安全级别是100。安全级别取值范围为1到99,数字越大安全级别越高。若添加新的接口,语句可以这样写: Pix525(config)#nameif pix/intf3 security40,这句表示将PIX的3端口设置为安全级别40。

  配置以太口参数(interface):
  Pix525(config)#interface ethernet0 auto
  设置以太接口0为AUTO模式,auto选项表明系统网卡速度工作模式等为自动适应,这样该接口会自动在10M/100M,单工/半双工/全双工直接切换。
  Pix525(config)#interface ethernet1 100full
  强制设置以太接口1为100Mbit/s全双工通信。
  Pix525(config)#interface ethernet1 100full shutdown
  关闭以太接口1,有的时候会临时将某接口关闭,阻止对该接口连接网段的访问,这时可以使用上面这个命令。shutdown选项表示关闭这个接口,若启用接口去掉shutdown。

  小提示:
  在节假日需要关闭停火区的服务器的服务时可以在PIX设备上使用interface dmz 100full shutdown,这样DMZ区会关闭对外服务。

  配置内外网卡的IP地址(ip address):
  Pix525(config)#ip address outside 61.144.51.42 255.255.255.248
  设置外网接口为61.144.51.42,子网掩码为255.255.255.248。
  Pix525(config)#ip address inside 192.168.0.1 255.255.255.0
  设置内网接口为192.168.0.1,子网掩码为255.255.255.0。
  有的读者可能会问为什么用的是outside和inside而没有使用ethernet1,ethernet0呢?其实这样写是为了方便我们配置,不容易出错误。只要我们通过nameif设置了各个接口的安全级别和接口类别,接口类别就代表了相应的端口,也就是说outside=ethernet0,inside=ethernet1。

  指定要进行转换的内部地址(nat):
  网络地址翻译(nat)作用是将内网的私有ip转换为外网的公有ip,Nat命令总是与global命令一起使用,这是因为nat命令可以指定一台主机或一段范围的主机访问外网,访问外网时需要利用global所指定的地址池进行对外访问。
  nat命令配置语法:nat (if_name) nat_id local_ip [netmark] 其中(if_name)表示内网接口名字,例如inside,Nat_id用来标识全局地址池,使它与其相应的global命令相匹配,local_ip表示内网被分配的ip地址。例如0.0.0.0表示内网所有主机可以对外访问。[netmark]表示内网ip地址的子网掩码。示例语句如下:
  Pix525(config)#nat (inside) 1 0 0
  启用nat,内网的所有主机都可以访问外网,用0可以代表0.0.0.0
  Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0
  设置只有172.16.5.0这个网段内的主机可以访问外网。

  指定外部地址范围(global):
  global命令把内网的ip地址翻译成外网的ip地址或一段地址范围。Global命令的配置语法:global (if_name) nat_id ip_address-ip_address [netmark global_mask] 其中(if_name)表示外网接口名字,例如outside,Nat_id用来标识全局地址池,使它与其相应的nat命令相匹配,ip_address-ip_address表示翻译后的单个ip地址或一段ip地址范围。[netmark global_mask]表示全局ip地址的网络掩码。示例语句如下:
  Pix525(config)#global (outside) 1 61.144.51.42-61.144.51.48
  设置内网的主机通过pix防火墙要访问外网时,pix防火墙将使用61.144.51.42-61.144.51.48这段ip地址池为要访问外网的主机分配一个全局ip地址。
  Pix525(config)#global (outside) 1 61.144.51.42
  设置内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个单一ip地址。
  Pix525(config)#no global (outside) 1 61.144.51.42
  删除global中对61.144.51.42的宣告,也就是说数据包通过NAT向外传送时将不使用该IP,这个全局表项被删除。

  设置指向内网和外网的静态路由(route):
  route命令定义一条静态路由。route命令配置语法:route (if_name) 0 0 gateway_ip [metric] 其中(if_name)表示接口名字,例如inside、outside。Gateway_ip表示网关路由器的ip地址。[metric]表示到gateway_ip的跳数。通常缺省是1。示例语句如下:
  Pix525(config)#route outside 0 0 61.144.51.168 1
  设置一条指向边界路由器(ip地址61.144.51.168)的缺省路由
  Pix525(config)#route inside 10.1.1.0 255.255.255.0 172.16.0.1 1
  设置一条指向内部的路由
  Pix525(config)#route inside 10.2.0.0 255.255.0.0 172.16.0.1 1
  设置另一条指向内部的路由

  总结:
  目前我们已经掌握了设置PIX的六大基本命令,通过这六个命令我们已经可以让PIX为我们的网络服务了。不过让网络运行还远远不够,我们要有效的利用网络,合理的管理网络,这时候就需要一些高级命令了。下一篇中我们会为大家讲解四个配置PIX的高级命令。

 

  下面我们来介绍PIX防火墙的一些高级配置。

  配置静态IP地址翻译(static):

  如果从外网发起一个会话,会话的目的地址是一个内网的ip地址,static就把内部地址翻译成一个指定的全局地址,允许这个会话建立。

  static命令配置语法:static (internal_if_name,external_if_name) outside_ip_address inside_ ip_address,其中internal_if_name表示内部网络接口,安全级别较高。如inside.。external_if_name为外部网络接口,安全级别较低,如outside等。

  outside_ip_address为正在访问的较低安全级别的接口上的ip地址。inside_ ip_address为内部网络的本地ip地址。 示例语句如下:

  Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.8

  ip地址为192.168.0.8的主机,对于通过pix防火墙建立的每个会话,都被翻译成61.144.51.62这个全局地址,也可以理解成static命令创建了内部ip地址192.168.0.8和外部ip地址61.144.51.62之间的静态映射。PIX将把192.168.0.8映射为61.144.51.62以便NAT更好的工作。

  小提示:

  使用static命令可以让我们为一个特定的内部ip地址设置一个永久的全局ip地址。这样就能够为具有较低安全级别的指定接口创建一个入口,使它们可以进入到具有较高安全级别的指定接口。


  管道命令(conduit):

  使用static命令可以在一个本地ip地址和一个全局ip地址之间创建了一个静态映射,但从外部到内部接口的连接仍然会被pix防火墙的自适应安全算法(ASA)阻挡,conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口,例如允许从外部到DMZ或内部接口的入方向的会话。

  对于向内部接口的连接,static和conduit命令将一起使用,来指定会话的建立。说得通俗一点管道命令(conduit)就相当于以往CISCO设备的访问控制列表(ACL)。

 

  conduit命令配置语法:

  conduit permit|deny global_ip port[-port] protocol foreign_ip [netmask],其中permit|deny为允许|拒绝访问,global_ip指的是先前由global或static命令定义的全局ip地址,如果global_ip为0,就用any代替0;如果global_ip是一台主机,就用host命令参数。

  port指的是服务所作用的端口,例如www使用80,smtp使用25等等,我们可以通过服务名称或端口数字来指定端口。protocol指的是连接协议,比如:TCP、UDP、ICMP等。foreign_ip表示可访问global_ip的外部ip。对于任意主机可以用any表示。如果foreign_ip是一台主机,就用host命令参数。示例语句如下:

  Pix525(config)#conduit permit tcp host 192.168.0.8 eq www any

  表示允许任何外部主机对全局地址192.168.0.8的这台主机进行http访问。其中使用eq和一个端口来允许或拒绝对这个端口的访问。Eq ftp就是指允许或拒绝只对ftp的访问。

  Pix525(config)#conduit deny tcp any eq ftp host 61.144.51.89

  设置不允许外部主机61.144.51.89对任何全局地址进行ftp访问。

  Pix525(config)#conduit permit icmp any any

  设置允许icmp消息向内部和外部通过。

  Pix525(config)#static (inside, outside) 61.144.51.62 192.168.0.3 Pix525(config)#conduit permit tcp host 61.144.51.62 eq www any

  这两句是将static和conduit语句结合而生效的,192.168.0.3在内网是一台web服务器,现在希望外网的用户能够通过pix防火墙得到web服务。所以先做static静态映射把内部IP192.168.0.3转换为全局IP61.144.51.62,然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。

  小提示:

  对于上面的情况不使用conduit语句设置容许访问规则是不可以的,因为默认情况下PIX不容许数据包主动从低安全级别的端口流向高安全级别的端口。

  配置fixup协议:

  fixup命令作用是启用,禁止,改变一个服务或协议通过pix防火墙,由fixup命令指定的端口是pix防火墙要侦听的服务。示例例子如下:

  Pix525(config)#fixup protocol ftp 21

  启用ftp协议,并指定ftp的端口号为21

  Pix525(config)#fixup protocol http 80
  Pix525(config)#fixup protocol http 1080

  为http协议指定80和1080两个端口。

  Pix525(config)#no fixup protocol smtp 80

  禁用smtp协议。


  设置telnet:

  在pix5.0之前只能从内部网络上的主机通过telnet访问pix。在pix 5.0及后续版本中,可以在所有的接口上启用telnet到pix的访问。当从外部接口要telnet到pix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或vpn客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnet到PIX防火墙。

  我们可以使用telnet语句管理登录PIX的权限,telnet配置语法:telnet local_ip [netmask] local_ip 表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。也就是说默认情况下只有通过console口才能配置PIX防火墙。

  小提示:

  由于管理PIX具有一定的危险性,需要的安全级别非常高,所以不建议大家开放提供外网IP的telnet管理PIX的功能。如果实际情况一定要通过外网IP管理PIX则使用SSH加密手段来完成。

 

  总结:

  通过六个基本命令和四个高级命令我们就可以合理配置PIX设备,对于其他公司的PIX配置命令我们也可以一句句的看懂了。下一篇我们就为大家呈现一套PIX的配置实例,对于关键地方将为大家加上注释。希望各位读者真正掌握每条语句。

 

 

图一

原创粉丝点击