Cisco PIX防火墙配置指南

总结了防火墙基本配置十个方面的内容。

硬件防火墙,是网络间的墙,防止非法侵入,过滤信息等,从结构上讲,简单地说是一种pc式的电脑主机加上闪存(flash)和防火墙操作系统。它的硬件跟共控机差不多,都是属于能适合24小时工作的,外观造型也是相类似。闪存基本上跟路由器一样,都是那中eeprom,操作系统跟cisco ios相似,都是命令行(command)式。

防火墙是cisco firewall pix 515e,是一种机架式标准(即能安装在标准的机柜里),有1u的高度,正面看跟cisco 路由器一样,只有一些指示灯,从背板看,有三个以太口(rj-45网卡),一个配置口(console),2个usb,一个15针的failover口,还有pci扩展口。

如何开始cisco firewall pix呢?应该是跟cisco 路由器使用差不多吧,于是用配置线从电脑的com2连到pix 515e的console口,进入pix操作系统采用windows系统里的“超级终端”,通讯参数设置为默然。初始使用有一个初始化过程,主要设置:date(日期)、time(时间)、hostname(主机名称)、inside ip address(内部网卡ip地址)、domain(主域)等,如果以上设置正确,就能保存以上设置,也就建立了一个初始化设置了。

进入pix 515e采用超级用户(enable),默然密码为空,修改密码用passwd 命令。一般情况下firewall配置

下面讲一下一般用到的最基本配置

1、 建立用户和修改密码

跟cisco ios路由器基本一样。

2、 激活以太端口

必须用enable进入,然后进入configure模式

pix515e>enable

password:

pix515e#config t

pix515e(config)#interface ethernet0 auto

pix515e(config)#interface ethernet1 auto

在默然情况下ethernet0是属外部网卡outside, ethernet1是属内部网卡inside, inside在初始化配置成功的情况下已经被激活生效了,但是outside必须命令配置激活。

3、 命名端口与安全级别

采用命令nameif

pix515e(config)#nameif ethernet0 outside security0

pix515e(config)#nameif ethernet0 outside security100

security0是外部端口outside的安全级别(0安全级别最高)

security100是内部端口inside的安全级别,如果中间还有以太口,则security10,security20等等命名,多个网卡组成多个网络,一般情况下增加一个以太口作为dmz(demilitarized zones非武装区域)。

4、 配置以太端口ip 地址

采用命令为:ip address

如:内部网络为:192.168.1.0 255.255.255.0

外部网络为:222.20.16.0 255.255.255.0

pix515e(config)#ip address inside 192.168.1.1 255.255.255.0

pix515e(config)#ip address outside 222.20.16.1 255.255.255.0

5、 配置远程访问[telnet]

在默然情况下,pix的以太端口是不允许telnet的,这一点与路由器有区别。inside端口可以做telnet就能用了,但outside端口还跟一些安全配置有关。

pix515e(config)#telnet 192.168.1.1 255.255.255.0 inside

pix515e(config)#telnet 222.20.16.1 255.255.255.0 outside

测试telnet

在[开始]->[运行]

telnet 192.168.1.1

pix passwd:

输入密码:cisco

6、 访问列表(access-list)

此功能与cisco ios基本上是相似的,也是firewall的主要部分,有permit和deny两个功能,网络协议一般有ip|tcp|udp|icmp等等,如:只允许访问主机:222.20.16.254的www,端口为:80

pix515e(config)#access-list 100 permit ip any host 222.20.16.254 eq www

pix515e(config)#access-list 100 deny ip any any

pix515e(config)#access-group 100 in interface outside

7、 地址转换(nat)和端口转换(pat)

nat跟路由器基本是一样的,

首先必须定义ip pool,提供给内部ip地址转换的地址段,接着定义内部网段。

pix515e(config)#global (outside) 1 222.20.16.100-222.20.16.200 netmask 255.255.255.0

pix515e(config)#nat (outside) 1 192.168.0.0 255.255.255.0

如果是内部全部地址都可以转换出去则:

pix515e(config)#nat (outside) 1 0.0.0.0 0.0.0.0

则某些情况下,外部地址是很有限的,有些主机必须单独占用一个ip地址,必须解决的是公用一个外部ip(222.20.16.201),则必须多配置一条命令,这种称为(pat),这样就能解决更多用户同时共享一个ip,有点像代理服务器一样的功能。配置如下:

pix515e(config)#global (outside) 1 222.20.16.100-222.20.16.200 netmask 255.255.255.0

pix515e(config)#global (outside) 1 222.20.16.201 netmask 255.255.255.0

pix515e(config)#nat (outside) 1 0.0.0.0 0.0.0.0

8、 dhcp server

在内部网络,为了维护的集中管理和充分利用有限ip地址,都会启用动态主机分配ip地址服务器(dhcp server),cisco firewall pix都具有这种功能,下面简单配置dhcp server,地址段为192.168.1.100—192.168.168.1.200

dns: 主202.96.128.68 备202.96.144.47

主域名称:abc.com.cn

dhcp client 通过pix firewall

pix515e(config)#ip address dhcp

dhcp server配置

pix515e(config)#dhcpd address 192.168.1.100-192.168.1.200 inside

pix515e(config)#dhcp dns 202.96.128.68 202.96.144.47

pix515e(config)#dhcp domain abc.com.cn

9、 静态端口重定向(port redirection with statics)

在pix 版本6.0以上,增加了端口重定向的功能,允许外部用户通过一个特殊的ip地址/端口通过firewall pix 传输到内部指定的内部服务器。这种功能也就是可以发布内部www、ftp、mail等服务器了,这种方式并不是直接连接,而是通过端口重定向,使得内部服务器很安全。

命令格式:

static [(internal_if_name,external_if_name)]{global_ip|interface} local_ip

[netmask mask][max_cons[max_cons[emb_limit[norandomseq]]]

static [(internal_if_name,external_if_name)]{tcp|udp}{global_ip|interface} local_ip

[netmask mask][max_cons[max_cons[emb_limit[norandomseq]]]

!----外部用户直接访问地址222.20.16.99 telnet端口,通过pix重定向到内部主机192.168.1.99的telnet端口(23)。

pix515e(config)#static (inside,outside) tcp 222.20.16.99 telnet 192.168.1.99 telnet netmask 255.255.255.255 0 0

!----外部用户直接访问地址222.20.16.99 ftp,通过pix重定向到内部192.168.1.3的ftp server。

pix515e(config)#static (inside,outside) tcp 222.20.16.99 ftp 192.168.1.3 ftp netmask 255.255.255.255 0 0

!----外部用户直接访问地址222.20.16.208 www(即80端口),通过pix重定向到内部192.168.123的主机的www(即80端口)。

pix515e(config)#static (inside,outside) tcp 222.20.16.208 www 192.168.1.2 www netmask 255.255.255.255 0 0

!----外部用户直接访问地址222.20.16.201 http(8080端口),通过pix重定向到内部192.168.1.4的主机的www(即80端口)。

pix515e(config)#static (inside,outside) tcp 222.20.16.208 8080 192.168.1.4 www netmask 255.255.255.255 0 0

!----外部用户直接访问地址222.20.16.5 smtp(25端口),通过pix重定向到内部192.168.1.5的邮件主机的smtp(即25端口)

pix515e(config)#static (inside,outside) tcp 222.20.16.208 smtp 192.168.1.4 smtp netmask 255.255.255.255 0 0

10、显示与保存结果

采用命令show config

保存采用write memory

配置Cisco PIX防火墙

--------------------------------------------------------------------------------

任何企业安全策略的一个主要部分都是实现和维护防火墙,因此防火墙在网络安全的实现当中扮演着重要的角色。防火墙通常位于企业网络的边缘,这使得内部网络与Internet之间或者与其他外部网络互相隔离,并限制网络互访从而保护企业内部网络。设置防火墙目的都是为了在内部网与外部网之间设立唯一的通道,简化网络的安全管理。

在众多的企业级主流防火墙中,Cisco PIX防火墙是所有同类产品性能最好的一种。Cisco PIX系列防火墙目前有5种型号PIX506,515,520,525,535。其中PIX535是PIX 500系列中最新,功能也是最强大的一款。它可以提供运营商级别的处理能力,适用于大型的ISP等服务提供商。但是PIX特有的OS操作系统,使得大多数管理是通过命令行来实现的,不象其他同类的防火墙通过Web管理界面来进行网络管理,这样会给初学者带来不便。本文将通过实例介绍如何配置Cisco PIX防火墙。

在配置PIX防火墙之前,先来介绍一下防火墙的物理特性。防火墙通常具有至少3个接口,但许多早期的防火墙只具有2个接口;当使用具有3个接口的防火墙时,就至少产生了3个网络,描述如下:

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

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

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

由于PIX535在企业级别不具有普遍性,因此下面主要说明PIX525在企业网络中的应用。

PIX防火墙提供4种管理访问模式:

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

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

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

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

配置PIX防火墙有6个基本命令:nameif,interface,ip address,nat,global,route.

这些命令在配置PIX是必须的。以下是配置的基本步骤:

1. 配置防火墙接口的名字,并指定安全级别(nameif)。

Pix525(config)#nameif ethernet0 outside security0

Pix525(config)#nameif ethernet1 inside security100

Pix525(config)#nameif dmz security50

提示:在缺省配置中,以太网0被命名为外部接口(outside),安全级别是0;以太网1被命名为内部接口(inside),安全级别是100.安全级别取值范围为1~99,数字越大安全级别越高。若添加新的接口,语句可以这样写:

Pix525(config)#nameif pix/intf3 security40 (安全级别任取)

2. 配置以太口参数(interface)

Pix525(config)#interface ethernet0 auto(auto选项表明系统自适应网卡类型 )

Pix525(config)#interface ethernet1 100full(100full选项表示100Mbit/s以太网全双工通信 )

Pix525(config)#interface ethernet1 100full shutdown (shutdown选项表示关闭这个接口,若启用接口去掉shutdown )

3. 配置内外网卡的IP地址(ip address)

Pix525(config)#ip address outside 61.144.51.42 255.255.255.248

Pix525(config)#ip address inside 192.168.0.1 255.255.255.0

很明显,Pix525防火墙在外网的ip地址是61.144.51.42,内网ip地址是192.168.0.1

4. 指定要进行转换的内部地址(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地址的子网掩码。

例1.Pix525(config)#nat (inside) 1 0 0

表示启用nat,内网的所有主机都可以访问外网,用0可以代表0.0.0.0

例2.Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0

表示只有172.16.5.0这个网段内的主机可以访问外网。

5. 指定外部地址范围(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地址的网络掩码。

例1. 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地址。

例2. Pix525(config)#global (outside) 1 61.144.51.42

表示内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个单一ip地址。

例3. Pix525(config)#no global (outside) 1 61.144.51.42

表示删除这个全局表项。

6. 设置指向内网和外网的静态路由(route)

定义一条静态路由。route命令配置语法:route (if_name) 0 0 gateway_ip [metric]

其中(if_name)表示接口名字,例如inside,outside。Gateway_ip表示网关路由器的ip地址。[metric]表示到gateway_ip的跳数。通常缺省是1。

例1. Pix525(config)#route outside 0 0 61.144.51.168 1

表示一条指向边界路由器(ip地址61.144.51.168)的缺省路由。

例2. 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

如果内部网络只有一个网段,按照例1那样设置一条缺省路由即可;如果内部存在多个网络,需要配置一条以上的静态路由。上面那条命令表示创建了一条到网络10.1.1.0的静态路由,静态路由的下一条路由器ip地址是172.16.0.1

[page]

OK,这6个基本命令若理解了,就可以进入到pix防火墙的一些高级配置了。

A. 配置静态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地址。

例1. 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之间的静态映射。

例2. Pix525(config)#static (inside, outside) 192.168.0.2 10.0.1.3

例3. Pix525(config)#static (dmz, outside) 211.48.16.2 172.16.10.8

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

B. 管道命令(conduit)

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

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命令参数。

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

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

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

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

例3. Pix525(config)#conduit permit icmp any any

表示允许icmp消息向内部和外部通过。

例4. 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静态映射:192.168.0.3->61.144.51.62(全局),然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。

C. 配置fixup协议

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

例1. Pix525(config)#fixup protocol ftp 21

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

例2. Pix525(config)#fixup protocol http 80

Pix525(config)#fixup protocol http 1080

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

例3. Pix525(config)#no fixup protocol smtp 80

禁用smtp协议。

D. 设置telnet

telnet有一个版本的变化。在pix OS 5.0(pix操作系统的版本号)之前,只能从内部网络上的主机通过telnet访问pix。在pix OS 5.0及后续版本中,可以在所有的接口上启用telnet到pix的访问。当从外部接口要telnet到pix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或vpn客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnet到PIX防火墙,PIX支持SSH1和SSH2,不过SSH1是免费软件,SSH2是商业软件。相比之下cisco路由器的telnet就作的不怎么样了。

telnet配置语法:telnet local_ip [netmask]

local_ip 表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。

说了这么多,下面给出一个配置实例供大家参考。

Welcome to the PIX firewall

Type help or '?' for a list of available commands.

PIX525> en

Password:

PIX525#sh config

: Saved

:

PIX Version 6.0(1) ------ PIX当前的操作系统版本为6.0

Nameif ethernet0 outside security0

Nameif ethernet1 inside security100 ------ 显示目前pix只有2个接口

Enable password 7Y051HhCcoiRTSQZ encrypted

Passed 7Y051HhCcoiRTSQZ encrypted ------ pix防火墙密码在默认状态下已被加密,在配置文件中不会以明文显示,telnet 密码缺省为cisco

Hostname PIX525 ------ 主机名称为PIX525

Domain-name 123.com ------ 本地的一个域名服务器123.com,通常用作为外部访问

Fixup protocol ftp 21

Fixup protocol http 80

fixup protocol h323 1720

fixup protocol rsh 514

fixup protocol smtp 25

fixup protocol sqlnet 1521

fixup protocol sip 5060 ------ 当前启用的一些服务或协议,注意rsh服务是不能改变端口号

names ------ 解析本地主机名到ip地址,在配置中可以用名字代替ip地址,当前没有设置,所以列表为空

pager lines 24 ------ 每24行一分页

interface ethernet0 auto

interface ethernet1 auto ------ 设置两个网卡的类型为自适应

mtu outside 1500

mtu inside 1500 ------ 以太网标准的MTU长度为1500字节

ip address outside 61.144.51.42 255.255.255.248

ip address inside 192.168.0.1 255.255.255.0 ------ pix外网的ip地址61.144.51.42,内网的ip地址192.168.0.1

ip audit info action alarm

ip audit attack action alarm ------ pix入侵检测的2个命令。当有数据包具有攻击或报告型特征码时,pix将采取报警动作(缺省动作),向指定的日志记录主机产生系统日志消息;此外还可以作出丢弃数据包和发出tcp连接复位信号等动作,需另外配置。

pdm history enable ------ PIX设备管理器可以图形化的监视PIX

arp timeout 14400 ------ arp表的超时时间

global (outside) 1 61.144.51.46 ------ 如果你访问外部论坛或用QQ聊天等等,上面显示的ip就是这个

nat (inside) 1 0.0.0.0 0.0.0.0 0 0

static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0

conduit permit icmp any any

conduit permit tcp host 61.144.51.43 eq www any

conduit permit udp host 61.144.51.43 eq domain any

------ 用61.144.51.43这个ip地址提供domain-name服务,而且只允许外部用户访问domain的udp端口

route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 ------ 外部网关61.144.51.61

timeout xlate 3:00:00 ------ 某个内部设备向外部发出的ip包经过翻译(global)后,在缺省3个小时之后此数据包若没有活动,此前创建的表项将从翻译表中删除,释放该设备占用的全局地址

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00

timeout uauth 0:05:00 absolute ------ AAA认证的超时时间,absolute表示连续运行uauth定时器,用户超时后,将强制重新认证

aaa-server TACACS+ protocol tacacs+

aaa-server RADIUS protocol radius ------ AAA服务器的两种协议。AAA是指认证,授权,审计。Pix防火墙可以通过AAA服务器增加内部网络的安全

no snmp-server location

no snmp-server contact

snmp-server community public ------ 由于没有设置snmp工作站,也就没有snmp工作站的位置和联系人

no snmp-server enable traps ------ 发送snmp陷阱

floodguard enable ------ 防止有人伪造大量认证请求,将pix的AAA资源用完

no sysopt route dnat

telnet timeout 5

ssh timeout 5 ------ 使用ssh访问pix的超时时间

terminal width 80

Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7

PIX525#

PIX525#write memory ------ 将配置保存

上面这个配置实例需要说明一下,pix防火墙直接摆在了与internet接口处,此处网络环境有十几个公有ip,可能会有朋友问如果我的公有ip很有限怎么办?你可以添加router放在pix的前面,或者global使用单一ip地址,和外部接口的ip地址相同即可。另外有几个维护命令也很有用,show interface查看端口状态,show static查看静态地址映射,show ip查看接口ip地址,ping outside | inside ip_address确定连通性。

本文只是对pix防火墙的基本配置做了相关描述,pix其他的一些功能例如AAA服务器,vpn等等限于篇幅,不再一一介绍。希望本文能够抛砖引玉,

若有兴趣的读者可以访问以下资源:

[url]http://www.cisco.com/global/CN/products/sc/index.shtml[/url] pix防火墙中文资料

[url]http://www.cisco.com/en/US/products...ons_guides.html[/url] pix防火墙英文官方网站,详细的技术资料

[url]http://www.net130.com/ccnp-labs[/url] 一个不错的pix在线实验

关于PIX的配置及注解完全手册

--------------------------------------------------------------------------------

PIX Version 6.3(1)

interface ethernet0 auto 设定端口0 速率为自动

interface ethernet1 100full 设定端口1 速率为100兆全双工

interface ethernet2 auto 设定端口2 速率为自动

nameif ethernet0 outside security0 设定端口0 名称为 outside 安全级别为0

nameif ethernet1 inside security100 设定端口1 名称为 inside 安全级别为100

nameif ethernet2 dmz security50 设定端口2 名称为 dmz 安全级别为50

enable password Dv0yXUGPM3Xt7xVs encrypted 特权密码

passwd 2KFQnbNIdI.2KYOU encrypted 登陆密码

hostname hhyy 设定防火墙名称

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 sip udp 5060

no fixup protocol skinny 2000

fixup protocol smtp 25

fixup protocol sqlnet 1521

允许用户查看、改变、启用或禁止一个服务或协议通过PIX防火墙,防火墙默认启用了一些常见的端口,但对于ORACLE等专有端口,需要专门启用。

names

access-list 101 permit ip 192.168.99.0 255.255.255.0 192.168.170.0 255.255.255.0

access-list 101 permit ip 192.168.12.0 255.255.255.0 192.168.180.0 255.255.255.0

access-list 101 permit ip 192.168.23.0 255.255.255.0 192.168.180.0 255.255.255.0

access-list 101 permit ip 192.168.99.0 255.255.255.0 192.168.101.0 255.255.255.0

建立访问列表,允许特定网段的地址访问某些网段

access-list 120 deny icmp 192.168.2.0 255.255.255.0 any

access-list 120 deny icmp 192.168.3.0 255.255.255.0 any

access-list 120 deny icmp 192.168.4.0 255.255.255.0 any

access-list 120 deny icmp 192.168.5.0 255.255.255.0 any

access-list 120 deny icmp 192.168.6.0 255.255.255.0 any

access-list 120 deny icmp 192.168.7.0 255.255.255.0 any

access-list 120 deny icmp 192.168.8.0 255.255.255.0 any

access-list 120 deny icmp 192.168.9.0 255.255.255.0 any

access-list 120 deny icmp 192.168.10.0 255.255.255.0 any

access-list 120 deny icmp 192.168.11.0 255.255.255.0 any

access-list 120 deny icmp 192.168.12.0 255.255.255.0 any

access-list 120 deny icmp 192.168.13.0 255.255.255.0 any

access-list 120 deny icmp 192.168.14.0 255.255.255.0 any

access-list 120 deny icmp 192.168.15.0 255.255.255.0 any

access-list 120 deny icmp 192.168.16.0 255.255.255.0 any

access-list 120 deny icmp 192.168.17.0 255.255.255.0 any

access-list 120 deny icmp 192.168.18.0 255.255.255.0 any

access-list 120 deny icmp 192.168.19.0 255.255.255.0 any

access-list 120 deny icmp 192.168.20.0 255.255.255.0 any

access-list 120 deny icmp 192.168.21.0 255.255.255.0 any

access-list 120 deny icmp 192.168.22.0 255.255.255.0 any

access-list 120 deny udp any any eq netbios-ns

access-list 120 deny udp any any eq netbios-dgm

access-list 120 deny udp any any eq 4444

access-list 120 deny udp any any eq 1205

access-list 120 deny udp any any eq 1209

access-list 120 deny tcp any any eq 445

access-list 120 deny tcp any any range 135 netbios-ssn

access-list 120 permit ip any any

建立访问列表120防止各个不同网段之间的ICMP发包及拒绝135、137等端口之间的通信(主要防止冲击波病毒)

access-list 110 permit ip 192.168.99.0 255.255.255.0 192.168.101.0 255.255.255.0

pager lines 24

logging on

logging monitor debugging

logging buffered debugging

logging trap notifications

mtu outside 1500

mtu inside 1500

mtu dmz 1500

ip address outside 10.1.1.4 255.255.255.224 设定外端口地址

ip address inside 192.168.1.254 255.255.255.0 设定内端口地址

ip address dmz 192.168.19.1 255.255.255.0 设定DMZ端口地址

ip audit info action alarm

ip audit attack action alarm

ip local pool hhyy 192.168.170.1-192.168.170.254

建立名称为hhyy的地址池,起始地址段为:192.168.170.1-192.168.170.254

ip local pool yy 192.168.180.1-192.168.180.254

建立名称为yy 的地址池,起始地址段为:192.168.180.1-192.168.180.254

no failover

failover timeout 0:00:00

failover poll 15

no failover ip address outside

no failover ip address inside

no failover ip address dmz

no pdm history enable

arp timeout 14400

不支持故障切换

global (outside) 1 10.1.1.13-10.1.1.28

global (outside) 1 10.1.1.7-10.1.1.9

global (outside) 1 10.1.1.10

定义内部网络地址将要翻译成的全局地址或地址范围

nat (inside) 0 access-list 101

使得符合访问列表为101地址不通过翻译,对外部网络是可见的

nat (inside) 1 192.168.0.0 255.255.0.0 0 0

内部网络地址翻译成外部地址

nat (dmz) 1 192.168.0.0 255.255.0.0 0 0

DMZ区网络地址翻译成外部地址

static (inside,outside) 10.1.1.5 192.168.12.100 netmask 255.255.255.255 0 0

static (inside,outside) 10.1.1.12 192.168.12.158 netmask 255.255.255.255 0 0

static (inside,outside) 10.1.1.3 192.168.2.4 netmask 255.255.255.255 0 0

设定固定主机与外网固定IP之间的一对一静态转换

static (dmz,outside) 10.1.1.2 192.168.19.2 netmask 255.255.255.255 0 0

设定DMZ区固定主机与外网固定IP之间的一对一静态转换

static (inside,dmz) 192.168.0.0 192.168.0.0 netmask 255.255.0.0 0 0

设定内网固定主机与DMZ IP之间的一对一静态转换

static (dmz,outside) 10.1.1.29 192.168.19.3 netmask 255.255.255.255 0 0

设定DMZ区固定主机与外网固定IP之间的一对一静态转换

access-group 120 in interface outside

access-group 120 in interface inside

access-group 120 in interface dmz

将访问列表应用于端口

conduit permit tcp host 10.1.1.2 any

conduit permit tcp host 10.1.1.3 any

conduit permit tcp host 10.1.1.12 any

conduit permit tcp host 10.1.1.29 any

设置管道:允许任何地址对全局地址进行TCP协议的访问

conduit permit icmp 192.168.99.0 255.255.255.0 any

设置管道:允许任何地址对192.168.99.0 255.255.255.0地址进行PING测试

rip outside passive version 2

rip inside passive version 2

route outside 0.0.0.0 0.0.0.0 10.1.1.1

设定默认路由到电信端

route inside 192.168.2.0 255.255.255.0 192.168.1.1 1

route inside 192.168.3.0 255.255.255.0 192.168.1.1 1

route inside 192.168.4.0 255.255.255.0 192.168.1.1 1

route inside 192.168.5.0 255.255.255.0 192.168.1.1 1

route inside 192.168.6.0 255.255.255.0 192.168.1.1 1

route inside 192.168.7.0 255.255.255.0 192.168.1.1 1

route inside 192.168.8.0 255.255.255.0 192.168.1.1 1

route inside 192.168.9.0 255.255.255.0 192.168.1.1 1

route inside 192.168.10.0 255.255.255.0 192.168.1.1 1

route inside 192.168.11.0 255.255.255.0 192.168.1.1 1

设定路由回指到内部的子网

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 radius

aaa-server LOCAL protocol local

no snmp-server location

no snmp-server contact

snmp-server community public

no snmp-server enable traps

floodguard enable

sysopt connection permit-ipsec

sysopt connection permit-pptp

service resetinbound

service resetoutside

crypto ipsec transform-set myset esp-des esp-md5-hmac

定义一个名称为myset的交换集

crypto dynamic-map dynmap 10 set transform-set myset

根据myset交换集产生名称为dynmap的动态加密图集(可选)

crypto map vpn 10 ipsec-isakmp dynamic dynmap

将dynmap动态加密图集应用为IPSEC的策略模板(可选)

crypto map vpn 20 ipsec-isakmp

用IKE来建立IPSEC安全关联以保护由该加密条目指定的数据流

crypto map vpn 20 match address 110

为加密图指定列表110作为可匹配的列表

crypto map vpn 20 set peer 10.1.1.41

在加密图条目中指定IPSEC对等体

crypto map vpn 20 set transform-set myset

指定myset交换集可以被用于加密条目

crypto map vpn client configuration address initiate

指示PIX防火墙试图为每个对等体设置IP地址

crypto map vpn client configuration address respond

指示PIX防火墙接受来自任何请求对等体的IP地址请求

crypto map vpn interface outside

将加密图应用到外部接口

isakmp enable outside

在外部接口启用IKE协商

isakmp key ******** address 10.1.1.41 netmask 255.255.255.255

指定预共享密钥和远端对等体的地址

isakmp identity address

IKE身份设置成接口的IP地址

isakmp client configuration address-pool local yy outside

isakmp policy 10 authentication pre-share

指定预共享密钥作为认证手段

isakmp policy 10 encryption des

指定56位DES作为将被用于IKE策略的加密算法

isakmp policy 10 hash md5

指定MD5 (HMAC变种)作为将被用于IKE策略的散列算法

isakmp policy 10 group 2

指定1024比特Diffie-Hellman组将被用于IKE策略

isakmp policy 10 lifetime 86400

每个安全关联的生存周期为86400秒(一天)

vpngroup cisco idle-time 1800

vpngroup pix_vpn address-pool yy

vpngroup pix_vpn idle-time 1800

vpngroup pix_vpn password ********

vpngroup 123 address-pool yy

vpngroup 123 idle-time 1800

vpngroup 123 password ********

vpngroup 456 address-pool yy

vpngroup 456 idle-time 1800

vpngroup 456 password ********

telnet 192.168.88.144 255.255.255.255 inside

telnet 192.168.88.154 255.255.255.255 inside

telnet timeout 5

ssh timeout 5

console timeout 0

vpdn group 1 accept dialin pptp

vpdn group 1 ppp authentication pap

vpdn group 1 ppp authentication chap

vpdn group 1 ppp authentication mschap

vpdn group 1 ppp encryption mppe 40

vpdn group 1 client configuration address local hhyy

vpdn group 1 pptp echo 60

vpdn group 1 client authentication local

vpdn username cisco password *********

vpdn enable outside

username cisco password 3USUcOPFUiMCO4Jk encrypted privilege 2

vpnclient vpngroup cisco_vpn password ********

vpnclient username pix password ********

terminal width 80

Cryptochecksum:9524a589b608c79d50f7c302b81bdfa4b

PIX配置大全

--------------------------------------------------------------------------------

在配置PIX防火墙之前,先来介绍一下防火墙的物理特性。防火墙通常具有至少3个接口,但许多早期的防火墙只具有2个接口;当使用具有3个接口的防火墙时,就至少产生了3个网络,描述如下:

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

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

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

注意:2个接口的防火墙是没有停火区的。

由于PIX535在企业级别不具有普遍性,因此下面主要说明PIX525在企业网络中的应用。

PIX防火墙提供4种管理访问模式:

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

特权模式。 输入enable进入特权模式,可以改变当前配置。显示为pixfirewall#

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

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

配置PIX防火墙有6个基本命令:nameif,interface,ip address,nat,global,route.

这些命令在配置PIX时是必须的。以下是配置的基本步骤:

1. 配置防火墙接口的名字,并指定安全级别(nameif)。

Pix525(config)#nameif ethernet0 outside security0

Pix525(config)#nameif ethernet1 inside security100

Pix525(config)#nameif dmz security50

提示:在缺省配置中,以太网0被命名为外部接口(outside),安全级别是0;以太网1被命名为内部接口(inside),安全级别是100.安全级别取值范围为1~99,数字越大安全级别越高。若添加新的接口,语句可以这样写:

Pix525(config)#nameif pix/intf3 security40 (安全级别任取)

2. 配置以太口参数(interface)

Pix525(config)#interface ethernet0 auto        (auto选项表明系统自适应网卡类型 )

Pix525(config)#interface ethernet1 100full        (100full选项表示100Mbit/s以太网全双工通信 )

Pix525(config)#interface ethernet1 100full shutdown (shutdown选项表示关闭这个接口,若启用接口去掉shutdown )

3. 配置内外网卡的IP地址(ip address)

Pix525(config)#ip address outside 61.144.51.42 255.255.255.248

Pix525(config)#ip address inside 192.168.0.1 255.255.255.0

很明显,Pix525防火墙在外网的ip地址是61.144.51.42,内网ip地址是192.168.0.1

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

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

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

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

例3. Pix525(config)#conduit permit icmp any any

表示允许icmp消息向内部和外部通过。

例4. 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静态映射:192.168.0.3->61.144.51.62(全局),然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。

C. 配置fixup协议

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

例1. Pix525(config)#fixup protocol ftp 21            启用ftp协议,并指定ftp的端口号为21

例2. Pix525(config)#fixup protocol http 80

Pix525(config)#fixup protocol http 1080         为http协议指定80和1080两个端口。

例3. Pix525(config)#no fixup protocol smtp 80        禁用smtp协议。

D. 设置telnet

telnet有一个版本的变化。在pix OS 5.0(pix*作系统的版本号)之前,只能从内部网络上的主机通过telnet访问pix。在pix OS 5.0及后续版本中,可以在所有的接口上启用telnet到pix的访问。当从外部接口要telnet到pix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或vpn客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnet到PIX防火墙,PIX支持SSH1和SSH2,不过SSH1是免费软件,SSH2是商业软件。相比之下cisco路由器的telnet就做得不怎么样了。

telnet配置语法:telnet local_ip [netmask] local_ip

表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。

说了这么多,下面给出一个配置实例供大家参考。

Welcome to the PIX firewall

Type help or '?' for a list of available commands.

PIX525> en

Password:

PIX525#sh config :

Saved :

PIX Version 6.0(1) ------ PIX当前的*作系统版本为6.0

Nameif ethernet0 outside security0

Nameif ethernet1 inside security100 ------ 显示目前pix只有2个接口

Enable password 7Y051HhCcoiRTSQZ encrypted

Passed 7Y051HhCcoiRTSQZ encrypted ------ pix防火墙密码在默认状态下已被加密,在配置文件中不会以明文显示,telnet 密码缺省为cisco

Hostname PIX525 ------ 主机名称为PIX525

Domain-name 123.com ------ 本地的一个域名服务器123.com,通常用作为外部访问

Fixup protocol ftp 21

Fixup protocol http 80

fixup protocol h323 1720

fixup protocol rsh 514

fixup protocol smtp 25

fixup protocol sqlnet 1521

fixup protocol sip 5060 ------ 当前启用的一些服务或协议,注意rsh服务是不能改变端口号的

names ------ 解析本地主机名到ip地址,在配置中可以用名字代替ip地址,当前没有设置,所以列表为空

pager lines 24 ------ 每24行一分页

interface ethernet0 auto

interface ethernet1 auto ------ 设置两个网卡的类型为自适应

mtu outside 1500

mtu inside 1500 ------ 以太网标准的MTU长度为1500字节

ip address outside 61.144.51.42 255.255.255.248

ip address inside 192.168.0.1 255.255.255.0 ------ pix外网的ip地址61.144.51.42,内网的ip地址192.168.0.1

ip audit info action alarm

ip audit attack action alarm ------ pix入侵检测的2个命令。当有数据包具有攻击或报告型特征码时,pix将采取报警动作(缺省动作),向指定的日志记录主机产生系统日志消息;此外还可以作出丢弃数据包和发出tcp连接复位信号等动作,需另外配置。

pdm history enable ------ PIX设备管理器可以图形化的监视

PIX arp timeout 14400 ------ arp表的超时时间

global (outside) 1 61.144.51.46 ------ 如果你访问外部论坛或用QQ聊天等等,上面显示的ip就是这个

nat (inside) 1 0.0.0.0 0.0.0.0 0 0

static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0

conduit permit icmp any any

conduit permit tcp host 61.144.51.43 eq www any

conduit permit udp host 61.144.51.43 eq domain any ------ 用61.144.51.43这个ip地址提供domain-name服务,而且只允许外部用户访问domain的udp端口

route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 ------ 外部网关61.144.51.61

timeout xlate 3:00:00 ------ 某个内部设备向外部发出的ip包经过翻译(global)后,在缺省3个小时之后此数据包若没有活动,此前创建的表项将从翻译表中删除,释放该设备占用的全局地址

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00

timeout uauth 0:05:00 absolute ------ AAA认证的超时时间,absolute表示连续运行uauth定时器,用户超时后,将强制重新认证

aaa-server TACACS+ protocol tacacs+

aaa-server RADIUS protocol radius ------ AAA服务器的两种协议。AAA是指认证,授权,审计。Pix防火墙可以通过AAA服务器增加内部网络的安全

no snmp-server location no snmp-server contact snmp-server community public ------ 由于没有设置snmp工作站,也就没有snmp工作站的位置和联系人

no snmp-server enable traps ------ 发送snmp陷阱 floodguard enable ------ 防止有人伪造大量认证请求,将pix的AAA资源用完

no sysopt route dnat telnet timeout 5 ssh timeout 5 ------ 使用ssh访问pix的超时时间

terminal width 80 Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7

PIX525#

PIX525#write memory ------ 将配置保存

上面这个配置实例需要说明一下,pix防火墙直接摆在了与internet接口处,此处网络环境有十几个公有ip,可能会有朋友问如果我的公有ip很有限怎么办?你可以添加router放在pix的前面,或者global使用单一ip地址,和外部接口的ip地址相同即可。另外有几个维护命令也很有用,show interface查看端口状态,show static查看静态地址映射,show ip查看接口ip地址,ping outside | inside ip_address确定连通性。

PIX上实现VPN步骤

在PIX上防火墙用预共享密钥配置IPSec加密主要涉及到4个关键任务:

一、为IPSec做准备

为IPSec做准备涉及到确定详细的加密策略,包括确定我们要保护的主机和网络,选择一种认证方法,确定有关IPSec对等体的详细信息,确定我们所需的IPSec特性,并确认现有的访问控制列表允许IPSec数据流通过;

步骤1:根据对等体的数量和位置在IPSec对等体间确定一个IKE(IKE阶段1,或者主模式)策略;

步骤2:确定IPSec(IKE阶段2,或快捷模式)策略,包括IPSec对等体的细节信息,例如IP地址及IPSec变换集和模式;

步骤3:用"write terminal"、"show isakmp"、"show isakmp policy"、"show crypto map "命令及其他"show"命令来检查当前的配置;

步骤4:确认在没有使用加密前网络能够正常工作,用"ping"命令并在加密前运行测试数据流来排除基本的路由故障;

步骤5:确认在边界路由器和PIX防火墙中已有的访问控制列表允许IPSec数据流通过,或者想要的数据流将可以被过滤出来。

二、配置IKE 配置IKE涉及到启用IKE(和isakmp是同义词),创建IKE策略,和验证我们的配置;

步骤1:用"isakmp enable"命令来启用或关闭IKE;

步骤2:用"isakmp policy"命令创建IKE策略;

步骤3:用"isakmp key"命令和相关命令来配置预共享密钥;

步骤4:用"show isakmp [policy]"命令来验证IKE的配置。

三、配置IPSec

IPSec配置包括创建加密用访问控制列表,定义变换集,创建加密图条目,并将加密集应用到接口上去;

步骤1:用access-list命令来配置加密用访问控制列表; 例如: access-list acl-name {permit|deny} protocol src_addr src_mask [operator port [port]]dest_addr dest_mask [operator prot [port]]

步骤2:用crypto ipsec transform-set 命令配置变换集; 例如: crypto ipsec transform-set transform-set-name transform1 [transform2 [transform3]]  3. 步骤3:(任选)用crypto ipsec security-association lifetime命令来配置全局性的IPSec 安全关联的生存期;

步骤4:用crypto map 命令来配置加密图;

步骤5:用interface 命令和crypto map map-name interface应用到接口上;  6. 步骤6:用各种可用的show命令来验证IPSec的配置。

四、测试和验证IPSec

该任务涉及到使用"show " 、"debug"和相关的命令来测试和验证IPSec加密工作是否正常,并为之排除故障。

样例:

PIX 1的配置:

!configure the IP address for each PIX Firewall interface

ip address outside 192.168.1.1 255.255.255.0

ip address inside 10.1.1.3 255.255.255.0

ip address dmz 192.168.11.1 255.255.255.0

global (outside) 1 192.168.1.10-192.168.1.254 netmask 255.255.255.0

!creates a global pooll on the outside interface,enables NAT.

!windows NT server

static (inside,outside) 192.168.1.10 10.1.1.4 netmask 255.255.255.0

!Crypto access list specifiles between the global and the inside server beind PIX Firewalls is encrypted ,The source and destination IP address are the global IP addresses of the statics.

Access-list 101 permit ip host 192.168.1.10 host 192.168.2.10

!The conduit permit ICMP and web access for testing.

Conduit permit icmp any any Conduit permit tcp host 192.168.1.10 eq www any

route outside 0.0.0.0 0.0.0.0 192.168.1.2 1

!Enable IPSec to bypass access litst,access ,and confuit restrictions

syspot connnection permit ipsec

!Defines a crypto map transform set to user esp-des

crypto ipsec transform-set pix2 esp-des

crypto map peer2 10 ipsec-isakmp!

完全配置:  ip address outside 202.105.113.194 255.255.255.0 /*看电信给你的IP

ip address inside 192.168.1.1 255.255.255.0

!

global (outside) 1 202.105.113.195-202.105.113.200

global (outside) 1 202.105.113.201

nat (inside) 1 0.0.0.0 0.0.0.0 0 0

static (inside,outside) 202.105.113.203 192.168.1.10 netmask 255.255.255.255 0 0

static (inside,outside) 202.105.113.205 192.168.1.11netmask 255.255.255.255 0 0

conduit permit icmp any any conduit permit tcp host 202.105.113.203 eq www any

conduit permit tcp host 202.105.113.203 eq ftp any

conduit permit tcp host 202.105.113.205 eq smtp any

conduit permit tcp host 202.105.113.205 eq pop3 any

!

route outside 0.0.0.0 0.0.0.0 202.105.113.193 1

route inside 0.0.0.0 0.0.0.0 192.168.1.1

4. 指定要进行转换的内部地址(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地址的子网掩码。

例1.Pix525(config)#nat (inside) 1 0 0

表示启用nat,内网的所有主机都可以访问外网,用0可以代表0.0.0.0

例2.Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0

表示只有172.16.5.0这个网段内的主机可以访问外网。

5. 指定外部地址范围(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地址的网络掩码。

例1.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地址。

例2.Pix525(config)#global (outside) 1 61.144.51.42 表示内网要访问外网时,pix防火墙将为访问外网的所有主机统一使用61.144.51.42这个单一ip地址。

例3. Pix525(config)#no global (outside) 1 61.144.51.42 表示删除这个全局表项。

6. 设置指向内网和外网的静态路由(route) 定义一条静态路由。

route命令配置语法:route (if_name) 0 0 gateway_ip [metric]

其中(if_name)表示接口名字,例如inside,outside。Gateway_ip表示网关路由器的ip地址。[metric]表示到gateway_ip的跳数。通常缺省是1。

例1. Pix525(config)#route outside 0 0 61.144.51.168 1

表示一条指向边界路由器(ip地址61.144.51.168)的缺省路由。

例2. 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

如果内部网络只有一个网段,按照例1那样设置一条缺省路由即可;如果内部存在多个网络,需要配置一条以上的静态路由。上面那条命令表示创建了一条到网络10.1.1.0的静态路由,静态路由的下一条路由器ip地址是172.16.0.1。

OK,这6个基本命令若理解了,就可以进入到pix防火墙的一些高级配置了。

A. 配置静态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地址。

例1. 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之间的静态映射。

例2. Pix525(config)#static (inside, outside) 192.168.0.2 10.0.1.3

例3. Pix525(config)#static (dmz, outside) 211.48.16.2 172.16.10.8

注释同例1。

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

B. 管道命令(conduit)

前面讲过使用static命令可以在一个本地ip地址和一个全局ip地址之间创建了一个静态映射,但从外部到内部接口的连接仍然会被pix防火墙的自适应安全算法(ASA)阻挡。

conduit命令用来允许数据流从具有较低安全级别的接口流向具有较高安全级别的接口,例如允许从外部到DMZ或内部接口的入方向的会话。对于向内部接口的连接,static和conduit命令将一起使用,来指定会话的建立。

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命令参数。

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

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

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

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

例3. Pix525(config)#conduit permit icmp any any

表示允许icmp消息向内部和外部通过。

例4. 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静态映射:192.168.0.3->61.144.51.62(全局),然后利用conduit命令允许任何外部主机对全局地址61.144.51.62进行http访问。

C. 配置fixup协议

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

例1. Pix525(config)#fixup protocol ftp 21            启用ftp协议,并指定ftp的端口号为21

例2. Pix525(config)#fixup protocol http 80

Pix525(config)#fixup protocol http 1080         为http协议指定80和1080两个端口。

例3. Pix525(config)#no fixup protocol smtp 80        禁用smtp协议。

D. 设置telnet

telnet有一个版本的变化。在pix OS 5.0(pix*作系统的版本号)之前,只能从内部网络上的主机通过telnet访问pix。在pix OS 5.0及后续版本中,可以在所有的接口上启用telnet到pix的访问。当从外部接口要telnet到pix防火墙时,telnet数据流需要用ipsec提供保护,也就是说用户必须配置pix来建立一条到另外一台pix,路由器或vpn客户端的ipsec隧道。另外就是在PIX上配置SSH,然后用SSH client从外部telnet到PIX防火墙,PIX支持SSH1和SSH2,不过SSH1是免费软件,SSH2是商业软件。相比之下cisco路由器的telnet就做得不怎么样了。

telnet配置语法:telnet local_ip [netmask] local_ip

表示被授权通过telnet访问到pix的ip地址。如果不设此项,pix的配置方式只能由console进行。

说了这么多,下面给出一个配置实例供大家参考。

Welcome to the PIX firewall

Type help or '?' for a list of available commands.

PIX525> en

Password:

PIX525#sh config :

Saved :

PIX Version 6.0(1) ------ PIX当前的*作系统版本为6.0

Nameif ethernet0 outside security0

Nameif ethernet1 inside security100 ------ 显示目前pix只有2个接口

Enable password 7Y051HhCcoiRTSQZ encrypted

Passed 7Y051HhCcoiRTSQZ encrypted ------ pix防火墙密码在默认状态下已被加密,在配置文件中不会以明文显示,telnet 密码缺省为cisco

Hostname PIX525 ------ 主机名称为PIX525

Domain-name 123.com ------ 本地的一个域名服务器123.com,通常用作为外部访问

Fixup protocol ftp 21

Fixup protocol http 80

fixup protocol h323 1720

fixup protocol rsh 514

fixup protocol smtp 25

fixup protocol sqlnet 1521

fixup protocol sip 5060 ------ 当前启用的一些服务或协议,注意rsh服务是不能改变端口号的

names ------ 解析本地主机名到ip地址,在配置中可以用名字代替ip地址,当前没有设置,所以列表为空

pager lines 24 ------ 每24行一分页

interface ethernet0 auto

interface ethernet1 auto ------ 设置两个网卡的类型为自适应

mtu outside 1500

mtu inside 1500 ------ 以太网标准的MTU长度为1500字节

ip address outside 61.144.51.42 255.255.255.248

ip address inside 192.168.0.1 255.255.255.0 ------ pix外网的ip地址61.144.51.42,内网的ip地址192.168.0.1

ip audit info action alarm

ip audit attack action alarm ------ pix入侵检测的2个命令。当有数据包具有攻击或报告型特征码时,pix将采取报警动作(缺省动作),向指定的日志记录主机产生系统日志消息;此外还可以作出丢弃数据包和发出tcp连接复位信号等动作,需另外配置。

pdm history enable ------ PIX设备管理器可以图形化的监视

PIX arp timeout 14400 ------ arp表的超时时间

global (outside) 1 61.144.51.46 ------ 如果你访问外部论坛或用QQ聊天等等,上面显示的ip就是这个

nat (inside) 1 0.0.0.0 0.0.0.0 0 0

static (inside, outside) 61.144.51.43 192.168.0.8 netmask 255.255.255.255 0 0

conduit permit icmp any any

conduit permit tcp host 61.144.51.43 eq www any

conduit permit udp host 61.144.51.43 eq domain any ------ 用61.144.51.43这个ip地址提供domain-name服务,而且只允许外部用户访问domain的udp端口

route outside 0.0.0.0 0.0.0.0 61.144.51.61 1 ------ 外部网关61.144.51.61

timeout xlate 3:00:00 ------ 某个内部设备向外部发出的ip包经过翻译(global)后,在缺省3个小时之后此数据包若没有活动,此前创建的表项将从翻译表中删除,释放该设备占用的全局地址

timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323 0:05:00 sip 0:30:00 sip_media 0:02:00

timeout uauth 0:05:00 absolute ------ AAA认证的超时时间,absolute表示连续运行uauth定时器,用户超时后,将强制重新认证

aaa-server TACACS+ protocol tacacs+

aaa-server RADIUS protocol radius ------ AAA服务器的两种协议。AAA是指认证,授权,审计。Pix防火墙可以通过AAA服务器增加内部网络的安全

no snmp-server location no snmp-server contact snmp-server community public ------ 由于没有设置snmp工作站,也就没有snmp工作站的位置和联系人

no snmp-server enable traps ------ 发送snmp陷阱 floodguard enable ------ 防止有人伪造大量认证请求,将pix的AAA资源用完

no sysopt route dnat telnet timeout 5 ssh timeout 5 ------ 使用ssh访问pix的超时时间

terminal width 80 Cryptochecksum:a9f03ba4ddb72e1ae6a543292dd4f5e7

PIX525#

PIX525#write memory ------ 将配置保存

上面这个配置实例需要说明一下,pix防火墙直接摆在了与internet接口处,此处网络环境有十几个公有ip,可能会有朋友问如果我的公有ip很有限怎么办?你可以添加router放在pix的前面,或者global使用单一ip地址,和外部接口的ip地址相同即可。另外有几个维护命令也很有用,show interface查看端口状态,show static查看静态地址映射,show ip查看接口ip地址,ping outside | inside ip_address确定连通性。

Pix515 防火墙配置策略实例分析

--------------------------------------------------------------------------------

需求:想通过pix做snat使内网用户上网,再做dnat使访问本公网IP的http服务、ssh服务转换为192.168.4.2的http服务、ssh服务,对192.168.4.2开放本pix的telnet服务

pix515防火墙配置策略实例

#转换特权用户

pixfirewall>ena

pixfirewall#

#进入全局配置模式

pixfirewall# conf t

#激活内外端口

interface ethernet0 auto

interface ethernet1 auto

#下面两句配置内外端口的安全级别

nameif ethernet0 outside security0

nameif ethernet1 inside security100

#配置防火墙的用户信息

enable password pix515

hostname pix515

domain-name domain

#下面几句配置内外网卡的IP地址

ip address inside 192.168.4.1 255.255.255.0

ip address outside 公网IP 公网IP子网掩码

global (outside) 1 interface

nat (inside) 1 192.168.4.0 255.255.255.0 0 0

#下面两句将定义转发公网IP的ssh和www服务到192.168.4.2

static (inside,outside) tcp 公网IP www 192.168.4.2 www netmask 255.255.255.255 0 0

static (inside,outside) tcp 公网IP ssh 192.168.4.2 ssh netmask 255.255.255.255 0 0

#下面两句将定义外部允许访问内部主机的服务

conduit permit tcp host 公网IP eq www any

conduit permit tcp host 公网IP eq ssh 信任IP 255.255.255.255

#允许内部服务器telnet pix

telnet 192.168.4.2 255.255.255.0 inside

#下面这句允许ping

conduit permit icmp any any

#下面这句路由网关

route outside 0.0.0.0 0.0.0.0 公网IP网关 1

#保存配置

write memory

本文转自 liang831002 51CTO博客,原文链接:http://blog.51cto.com/leo0216/34115,如需转载请自行联系原作者

上一篇:孤军大作战!疯狂DIY 1U硬件防火墙实录(二)
下一篇:防火墙与路由器的区别