今天我们来介绍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的配置实例,对于关键地方将为大家加上注释。希望各位读者真正掌握每条语句。