cunshen

cisco pix 防火墙 配置

1.interface command
在配置用户接口的时候我们经常听到关于接口的专有名词
hardware_id指ethernet 0,e1,e2
interface_name指outside,inside,dmz
hardware_speed,通产设置为自动,但是cisco推荐我们手动配置速度.关于速度和你选择的网络传输介质有关.
no shutdown在router上用户激活这个端口,在pix中,没有no shutdown命令,只有使用到shutdown这个参数,主要用于管理关闭接口.
interface hardware_id hardware_speed [shutdown]
interface e0 auto
interface e1 auto
interface e2 auto

2.nameif command
nameif 主要用于命令一个接口,并且给它分配一个从1到99的安全值,因为外部接口和内部接口都是默认的,分别是0和100,同时默认情况下e0是外部接口,e1是指内部接口.
nameif hardware_id if_name security_level
nameif e0 outside 0
nameif e1 inside 100
nameif e2 dmz 50
使用show nameif来查看配置情况
关于security_level值得区别,请都看看我前面写的.从高安全段的流量到低安全段的流量怎么走,放过又怎么走,需要什么条件才能流进流出.

3.ip address command
cisco pix接口的ip 地址可以从两个地方来获得,分别是 manual 和dhcp
ip address用于手动配置一个接口上的ip address,通过将一个逻辑地址添加到一个硬件ID上.
ip address if_name ip_address [netmask]
ip address inside 192.168.6.0 255.255.255.0
Remove the currently configured ip address pix(config)#clear ip address  (全部清除ip address)
pix(config)#no ip address inside 192.168.6.0 255.255.255.0(清除这个接口的ip address)

4.Nat command
用于一组ip 地址转换成另外一组ip 地址,昨天我看到6.2版本支持nat outside ip address,不知道这个究竟在什么环境才用到,呵呵
在用nat命令的时候,有个特别的注意点:nat 0有特殊含义,其次nat 总是和global一起使用.
nat (if_name) nat_id local_ip [netmas]
nat (inside) 1 192.168.6.0 255.255.255.0

5.Global command
global命令用于定义用nat命令转换成的地址或者地址范围,注意global命令中的nat_id需要和你配置的nat命令中的nat_id相同.
global (if_name) nat_id global_ipglobal_ip-global_ip [netmask]
global (outside) 1 10.0.0.1 255.0.0.0   (PAT转换,当你用这个命令,CLI会给你一个警告信息指出pix要PAT的所有地址)
global (outside) 1 10.0.0.1~10.0.0.254 255.0.0.0

这里有这样一个命令可以在pix检测转换表中查看你是否有这个特定ip的入口.show xlate,一般一个被转换的ip address保存在转换表中的默认时间是3个小时.你可以通过timeout xlate hh:ss来更改这个设置.

这里你也同样需要了解PAT是怎么工作的,同样你要知道PAT也有局限,不能支持H.323和高速缓存使用的名称服务器,老实说我也不知道这两个是什么东东:(

6.route command,very important!!!
route告诉我们要在那个特定的接口转发,并指定那个特定的网络地址.使用route命令向pix增加一个静态路由.
route if_name ip_address netmask gateway_ip [metric]
说明一下if_name指你数据要离开处的那个端口
ip_address被路由的ip address
netmask被路由的ip address的网络掩码
gateway_ip 下一跳的ip address
metric到下一个设备的跳数

在pix上用的最多的是配置一个默认路由
route outside 0 0 192.168.1.3 1 其中0 0 表示网段内所有的ip address从outside ip address是192.168.1.3出去
如果你想要测试新的路由配置,在这之前用clear arp清除pix firewall的arp高速缓存is a good idea.

7.RIP command
不讲,不想了解,也不知道,没有见过那个人在配置PIX用过RIP协议的
需要了解的人查书吧,如果你有这方面的经验,可以写出来大家share一下:)

8.测试你的配置,一般有几种,首先查看一下你的配置命令是否正确,show xxxxx来查看。show interface,show nameif,show ip address,show route,show nat,show global 等等.其次使用ping命令,前提是你需要使用icmp permit any any outside,因为默认情况下pix是拒绝所有来自于外部接口的输入流量的,除非你使用conduit permit icmp any any ,但是这个命令使你不能ping通外部接口的ip address.最后是用debug命令,debug icmp trace,建议大家可以看看,但是看了之后最好关掉,以便影响pix的performance.

9.配置每一个pix命令是在pix立刻反应出来的,所以你可以尝试配置,但是不要配置,等你有把握时在保存wr m,但你配置错误,你可以reload一下就可以了.

10.pix对dhcp支持
    10.1首先是可以将pix配置为dhcp server.PIX dhcp服务器只能在pix的内部接口上激活,同时你需要查找资料,因为个别的如506/506e,由于OS版本不同,对client ip address支持数目也不同.
        dhcpd enable inside
        dhcpd address 192.168.10.0-192.168.10.200 255.255.255.0
        dhcpd lease 2700 (授权用户的租借长度,默认时间是3600s)
        dhcpd dns 61.177.7.1
        dhcpd wins 61.177.7.1
        dhcpd domain testing.cn
    10.2可以将pix的外部接口配置为从ISP处接收地址
         ip address outside dhcp [setroute] [retry retry_cnt]
         setroute告诉pix防火墙使用默认网关参数设置的DHCP服务器返回的默认路由,当使用setroute选项时不再配置默认路由
     同样可以使用ip address dhcp来释放和重建一个外部接口的ip address
通过show ip address dhcp来查看当前的租借信息.
       
11.时间设置和NTP支持
手动配置和通过NTP服务器获得系统时间.
手动配置clock set hh:mm:ss month day year,关于通过NTP来配置,大家查查资料吧,也没有见过别人来做过,安全要求太高了.

1.配置经由PIX的入站访问
  有一个方法可以让从低安全级界面的连接访问高安全级的界面
  1.1 静态网络地址转换,为了使外部主机向内部主机发送数据,需要为内部主机配置一个静态转换列表,这也可以通过使用一个nat 0 access-

list地址转换规则来完成.
static (inside,outside) 192.168.100.10 10.1.100.10 netmask 255.255.255.0
10.1.100.10是将被映射的地址
192.168.100.10是real_address转换而成的地址.

可以通过static命令来转换一个ip 子网
static (inside,outside) 192.168.1.0 10.1.100.0 netmask 255.255.255.0
  关于静态端口地址转换,使用static命令的interface选项,可以运用静态PAT来允许外部主机访问归于一台内部主机的TCP/UDP服务.
  1.2 acl或者conduit

2.nat 0命令
如果在内部网络有一个公用地址,要想内部主机不经过转换去外部网络,可以让NAT停止作用。nat 0命令禁止地址转换,所以对外部网络来说

内部ip 地址是可见的,重要的是要注意到nat 0是与acl联合起来使用的,提供对发生于内部主机/网络不经过转换到外部网络的流量的访问
access-list acl_nonat permit 192.168.43.0 255.255.255.0 192.168.6.0
nat (inside) 0 acl_nonat
使用static命令或nat 0命令时要求使用访问列表来对已识别的主机/网络建立一个连接.

3.使用ACLS
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等等设备使用通配符

1,3命令示范
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

4.对象分组概述
使用这个功能,主要是可以对诸如主机(服务器和客户方)服务,网络等对象进行分组并对各组应用不同的安全策略和规则。
[no] object-group object-type id
在这里object-group用来表示索要配置的对象分组类型,有如下4个选项:
network
protocol
service
icmp-type
对所分组用一个描述性的名字来替代grp-id.

4.1network对象类型
pix(config)#object-group network web_servers
pix(config-network)#description Public web servers
pix(config-network)#network-object host 192.168.1.12
pix(config-network)#network-object host 192.168.1.14
pix(config-network)#exit
pix(config)#access-list 102 permit tcp any object-group web_servers eq www
pix(config)#access-group 102 in interface outside
pix(config)#show object-group

4.2Protocol对象类型
要在现存的协议对象分组中加入一项单独的协议,使用protocol-object protocol命令
pix(config)#object-group protocol grp_citrix
pix(config-network)#protocol-object tcp
pix(config-network)#protocol-object citrix
pix(config-network)#exit

4.3service对象类型
service对象类型定义可以分组的端口号,其在管理应用程序时尤为有用。
[no] object-group service obj_grp_id tcp/UDP/tcp-udp
port-object eq service命令就会将一个单独的TCP/UDP端口号加入到服务对象分组中去.port-object rang begin_service end_service则会将一系列

TCP/UDP端口号加入到服务对象分组中去.
pix(config)#object-group service mis_service tcp
pix(config-network)#port-object eq ftp
pix(config-network)#port-object rang 5200 6000


>pix(config-network)#exit

4.4关于icmp-type对象类型和嵌套对象分组,省略,基本上用处不大.

5Fixup命令的使用
由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 vpn client访问公司的lotus notes信箱,很有意思的是我不能直接打开lotus notes,而只能在island状态下作replication,后来我关闭了no fixup protocol smtp 25,就可以了。


no fixup protocol ftp命令来使ftp fixups失去作用,出站用户只能以被动模式来发起连接,而所有的入站ftp都被静止.



PS:nat 0 1.1.1.0 255.255.255.0 和nat 0 access-lit 1 有什么区别?

(1)nat 0 1.1.1.0 255.255.255.0这样的方式,从OUTSIDE可以直接访问INSIDE

(2)nat 0 access-lit 1 必须要先由内发起连接

分类:

技术点:

相关文章: