8.  conduit(管道命令)
  前面讲过使用static命令可以在一个本地ip地址和一个全局ip地址之间创建了一个静态映射,但从外部到内部接口的连接仍然会被pix防火墙的自适应安全算法(ASA)阻挡,conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口,例如允许从外部到DMZ或内部接口的入方向的会话。对于向内部接口的连接,staticconduit命令将一起使用,来指定会话的建立。
  conduit命令配置语法:
   conduit permit | deny global_ip port[-port] protocol foreign_ip [netmask]
  permit | deny 允许 | 拒绝访问
  global_ip 指的是先前由globalstatic命令定义的全局ip地址,如果global_ip0,就用any代替0;如果global_ip是一台主机,就用host命令参数。
  port 指的是服务所作用的端口,例如www使用80smtp使用25等等,我们可以通过服务名称或端口数字来指定端口。
  protocol 指的是连接协议,比如:TCPUDPICMP等。
  foreign_ip 表示可访问global_ip的外部ip。对于任意主机,可以用any表示。如果foreign_ip是一台主机,就用host命令参数。
  例 1. Pix506(config)#conduit permit tcp host 192.168.0.8 eq www any
  这个例子表示允许任何外部主机对全局地址192.168.0.8的这台主机进行http访问。其中使用eq和一个端口来允许或拒绝对这个端口的访问。Eq ftp 就是指允许或拒绝只对ftp的访问。
  例 2. Pix506(config)#conduit deny tcp any eq ftp host 61.144.51.89
  表示不允许外部主机61.144.51.89对任何全局地址进行ftp访问。
  例 3. Pix506(config)#conduit permit icmp any any
  表示允许icmp消息向内部和外部通过。
  例 4. Pix506(config)#static (inside, outside) 61.144.51.62 192.168.0.3
   Pix506(config)#conduit permit tcp host 61.144.51.62 eq www any
  这个例子说明staticconduit的关系。192.168.0.3在内网是一台web服务器,现在希望外网的用户能够通过pix防火墙得到web服务。所以先做static静态映射:192.168.0.3>61.144.51.62(全局),然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。

 

9.  ACL访问控制列表)
访问控制列表的命令与couduit命令类似
access-list id action protocol source_address s_mask s_port destination_address d_mask d_port
通过access-group应用到相应的pix界面上 .
access-group id ininterface interface_name
注意在cisco ios软件访问列表时,在定义子网掩码时,pix使用规则标准的子网掩码,而像router等等设备使用通配符

pix(config)#static (inside,outside) 192.168.1.10 10.1.100.10 netmask 255.255.255.255
使用 static 命令将 10.1.100.10 转换成 192.168.1.10

pix(config)#access-list acl_out permit tcp any host 192.168.1.10 eq www
acl
命令允许 http 只是访问主机 10.1.100.10, 已经被转换成 192.168.1.10

pix(config)#access-group acl_out in interface outside
acl 运用到外部界面

** 对于入站访问,必须先拒绝然后再许可
**
对于进站访问,必须先许可然后再拒绝
限制内部用户对位于端口 80 的一个外部网络服务器的访问
pix(config)#access-list acl_in dengy tcp any host 172.16.68.20 eq www
pix(config)#access-list acl_in permit ip any any
pix(config)#access-group acl_in in interface inside

 

9 .   fixup( 配置协议 )
   fixup 命令作用是启用或禁止一个服务或协议,改变一个服务或协议通过 pix 防火墙,由 fixup 命令指定的端口是 pix 防火墙要侦听的服务。  
fixup 命令所制定的端口是 pix 监听到的对象 ,fixup 命令可以用来改变缺省的端口分配 .
[no] fixup protocol [protocol] [port]
no pix protocol
命令来重设对缺省配置的应用程序检查条目。
clear fixup
命令从添加的配置中移除 fixup 命令,但其并不移除缺省的 fixup protocol 命令
所以这里需要记住,如果你只用 protocol protocol http 8080 ,并没有改变默认的 fixup protocol http 80 ,通过 show fixup 你可以看到 pix 在端口 80,8080,8888 监听到 http 流量

经验,我做过一个 cisco *** client 访问公司的 lotus notes 信箱,很有意思的是我不能直接打开 lotus notes, 而只能在 island 状态下作 replication ,后来我关闭了 no fixup protocol smtp 25, 就可以了。

no fixup protocol ftp 命令来使 ftp fixups 失去作用,出站用户只能以被动模式来发起连接,而所有的入站 ftp 都被静止。见下面例子:
  例 1 Pix506(config)#fixup protocol ftp 21
  启用 ftp 协议,并指定 ftp 的端口号为 21
  例 2 Pix506(config)#fixup protocol http 80
   Pix506(config)#fixup protocol http 1080
  为 http 协议指定 80 1080 两个端口。
  例 3 Pix506(config)#no fixup protocol smtp 80
  禁用 smtp 协议。

10.  telnet (配置远程访问)
  telnet有一个版本的变化。在pix OS 5.0pix操作系统的版本号)之前,只能从内部网络上的主机通过telnet访问pix。在pix OS 5.0及后续版本中,可以在所有的接口上启用telnetpix的访问。当从外部接口要telnetpix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或***客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnetPIX防火墙,PIX支持SSH1SSH2,不过SSH1是免费软件,SSH2是商业软件。相比之下cisco路由器的telnet就作的不怎么样了。
  telnet配置语法: telnet local_ip [netmask]
  local_ip 表示被授权通过telnet访问到pixip地址。在默然情况下,pix的以太端口是不允许telnet的,这一点与路由器有区别。inside端口可以做telnet就能用了,outside端口还跟一些安全配置有关。如果不设此项,pix的配置方式只能由console进行。当从外部接口要telnetPIX防火墙时,telnet数据流需要用***隧道ipsec提供保护或在PIX上配置SSH,然后用SSHclient从外部到PIX防火墙。
pix506e(config)#telnet 192.168.1.1 255.255.255.0 inside
pix506e(config)#telnet 222.20.16.1 255.255.255.0 outside
测试telnet          

[开始]->[运行]       

telnet 192.168.1.1
pix passwd:
输入密码: cisco