配置
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
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
防火墙的一些高级配置了。
<!--[if !supportLists]-->
A. <!--[endif]-->
配置静态
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
地址。这样就可以为具备较低安全级别的指定接口建立一个入口,使它们能够进入到具备较高安全级别的指定接口。
static (inside,outside) tcp 200.1.1.1 www 192.168.0.100 www netmask 255.255.255.255
static (inside,outside) tcp interface 8080 192.168.1.200 www netmask 255.255.255.255
只有一个公网
ip
的静态映射。
从
inside
访问
dmz
,也须要配置
static
Static
(
inside
,
dmz
)
interface 192.168.1.x
(内网
ip
段),同时还须要配置
acl
应用到
dmz
接口。由于
inside
等级为
100
,
dmz
等级为
50
,因此须要配置
ACL
实现
INSIDE
访问
DMZ
。
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
,路由器或
***
客户端的
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:a
9f
03ba4ddb72e1ae
6a
543292dd
4f
5e7
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
上防火墙用预共享密钥配置
IPSec
加密主要涉及到
4
个关键任务:
1、为
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
数据流经过,或者想要的数据流将能够被过滤出来。
2、配置
IKE
配置
IKE
涉及到启用
IKE
(和
isakmp
是同义词),建立
IKE
策略,和验证咱们的配置;
步骤
1
:用\
"isakmp enable
\
"
命令来启用或关闭
IKE
;
步骤
2
:用\
"isakmp policy
\
"
命令建立
IKE
策略;
步骤
3
:用\
"isakmp key
\
"
命令和相关命令来配置预共享密钥;
步骤
4
:用\
"show isakmp [policy]
\
"
命令来验证
IKE
的配置。
3、配置
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
的配置。
4、测试和验证
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