为了满足用户的更高要求,防火墙体系架构经历了从低性能的x86、PPC软件防火墙向高性能硬件防火墙的过渡,并逐渐向不但能够满足高性能,也需要支持更多业务能力的方向发展。
防火墙在经过几年繁荣的发展后,已经形成了多种类型的体系架构,并且这几种体系架构的设备并存互补,并不断进行演变升级。
防火墙体系架构“老中青”
防火墙的发展从第一代的PC机软件,到工控机、PC-Box,再到MIPS架构。第二代的NP、ASIC架构。发展到第三代的专用安全处理芯片背板交换架构,以及“All In One”集成安全体系架构。
为了支持更广泛及更高性能的业务需求,各个厂家全力发挥各自优势,推动着整个技术以及市场的发展。
目前,防火墙产品的三代体系架构主要为:
第一代架构:主要是以单一CPU作为整个系统业务和管理的核心,CPU有x86、PowerPC、MIPS等多类型,产品主要表现形式是PC机、工控机、PC-Box或RISC-Box等;
第二代架构:以NP或ASIC作为业务处理的主要核心,对一般安全业务进行加速,嵌入式CPU为管理核心,产品主要表现形式为Box等;
第三代架构:ISS(Integrated Security System)集成安全体系架构,以高速安全处理芯片作为业务处理的主要核心,采用高性能CPU发挥多种安全业务的高层应用,产品主要表现形式为基于电信级的高可靠、背板交换式的机架式设备,容量大性能高,各单元及系统更为灵活。
 防火墙三代体系架构业务特性、性能对比分布图
 安全芯片防火墙体系架构框图
基于FDT指标的体系变革
衡量防火墙的性能指标主要包括吞吐量、报文转发率、最大并发连接数、每秒新建连接数等。
吞吐量和报文转发率是关系防火墙应用的主要指标,一般采用FDT(Full Duplex Throughput)来衡量,指64字节数据包的全双工吞吐量,该指标既包括吞吐量指标也涵盖了报文转发率指标。
FDT与端口容量的区别:端口容量指物理端口的容量总和。如果防火墙接了2个千兆端口,端口容量为2GB,但FDT可能只是200MB。
FDT与HDT的区别:HDT指半双工吞吐量(Half Duplex Throughput)。一个千兆口可以同时以1GB的速度收和发。按FDT来说,就是1GB;按HDT来说,就是2GB。有些防火墙的厂商所说的吞吐量,往往是HDT。
一般来说,即使有多个网络接口,防火墙的核心处理往往也只有一个处理器完成,要么是CPU,要么是安全处理芯片或NP、ASIC等。
对于防火墙应用,应该充分强调64字节数据的整机全双工吞吐量,该指标主要由CPU或安全处理芯片、NP、ASIC等核心处理单元的处理能力和防火墙体系架构来决定。
对于不同的体系架构,其FDT适应的范围是不一样的,如对于第一代单CPU体系架构其理论FDT为百兆级别,对于中高端的防火墙应用,必须采用第二代或第三代ISS集成安全体系架构。
基于ISS机构的第三代安全体系架构,充分继承了大容量GSR路由器、交换机的架构特点,可以在支持多安全业务的基础上,充分发挥高吞吐量、高报文转发率的能力。
防火墙体系架构经历了从低性能的x86、PPC软件防火墙向高性能硬件防火墙的过渡,并逐渐向不但能够满足高性能也需要支持更多业务能力的方向发展。
ISS集成安全体系
作为防火墙第三代体系架构,ISS根据企业未来对于高性能多业务安全的需求,集成安全体系架构,吸收了不同硬件架构的优势。
恒扬科技推出了自主研发的SempSec、SempCrypt安全芯片和P4-M CPU以及基于ISS集成安全系统架构的自主产权操作系统SempOS。它可以提升防火墙产品的报文过滤检测、攻击检测、加解密、NAT特性、VPN特性等各方面性能的同时,并可实现安全业务的全方面拓展。国微通讯也推出了基于ISS安全体系架构的GCS3000系列防火墙。
ISS架构灵活的模块化结构,综合报文过滤、状态检测、数据加解密功能、VPN业务、NAT业务、流量监管、攻击防范、安全审计以及用户管理认证等安全功能于一体,实现业务功能的按需定制和快速服务、响应升级。
ISS体系架构的主要特点:
1. 采用结构化芯片技术设计的专用安全处理芯片作为安全业务的处理核心,可以大幅提升吞吐量、转发率、加解密等处理能力;结构化芯片技术可编程定制线速处理模块,以快速满足客户需求;
2. 采用高性能通用CPU作为设备的管理中心和上层业务拓展平台,可以平滑移植并支持上层安全应用业务,提升系统的应用业务处理能力;
3. 采用大容量交换背板承载大量的业务总线和管理通道,其中千兆Serdes业务总线和PCI管理通道物理分离,不仅业务层次划分清晰,便于管理,而且性能互不受限;
4. 采用电信级机架式设计,无论是SPU安全处理单元、MPU主处理单元及其他各类板卡、电源、机框等模块在可扩展、可拔插、防辐射、防干扰、冗余备份、可升级等方面做了全方位考虑,真正地实现了安全设备的电信级可靠性和可用性;
5.不仅达到了安全业务的高性能而且实现了“All in One”,站在客户角度解决了多业务、多设备的整合,避免了单点设备故障和安全故障,大大降低了管理复杂度;
6. 通过背板及线路接口单元LIU扩展可提供高密度的业务接口。
#p#
三、配置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确定连通性。
|