本节书摘来异步社区《Cisco安全防火墙服务模块(FWSM)解决方案》一书中的第2章,第2.7节,作者:【美】Ray Blair ,Arvind Durai,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.7 软件架构
Cisco安全防火墙服务模块(FWSM)解决方案
对于基于计算机的任何系统来说,另外一个组件就是软件。无论硬件多么复杂,如果没有安装操作系统,则它无异于一个发射器或纸镇1。
幸好FWSM拥有许多可以利用的特性和可以旋转的“傻瓜式旋钮”。理解软件如何处理流量只是一个基础,在下一节,你还需要花费大量的时间,以求对软件特性有一个非常详细的了解。
首先要对输入的数据包进行分段检查,如果有必要,将对数据包进行重组,然后再发送到“管理/路由”决策进程。该进程用来确定数据包是路由信息还是用于管理目的的数据包(比如Telnet、SSH或HTTPS)。如果数据包匹配该评判标准,将通过接口ACL,然后发送到会话管理进程并进行处理。
如果匹配评判标准,则第三方决策进程(TCP/UDP/ICMP)会把非TCP/UDP/ICMP数据包从那些需要进行目的网络地址转换(DNAT)、RPF校验和地址池分配的数据包中分离出去。为了验证数据包,还会对其执行ACL检查。
如果数据包是现有会话的一部分,那就会直接送至NAT进程并发送出去;否则,将执行ACL检查。如果有必要,数据包还会被发送到协议检测进程。协议检测进程(之前被称为“修正”协议)会对需要特别关注的数据包进行检测和修改,如下所示。
计算机电话集成快速缓冲区编码(CTIQBE):CTIQBE是Cisco私有的VoIP协议,用于电话应用编程接口(TAPI)和Java电话应用编程接口(JTAPI),以与呼叫管理器通信。
域名系统(DNS):DNS用于把主机名或域名转换成IP地址。
文件传输协议(FTP):FTP是一种用于在计算机之间交换文件的通信协议。
通用分组无线业务(GPRS)隧道协议(GTP):用于在节点之间传送信令与用户流量。 -H.323:H.323是国际电信联盟(ITU)推荐的用于多媒体通信的方法。
超文本传输协议(HTTP):HTTP是用于信息传输的协议。 - Internet控制消息协议(ICMP):ICMP用于交换控制、错误和信息消息。
Internet定位服务(ILS):ILS用于支持Microsoft的NetMeeting客户端。
媒体网关控制协议(MGCP):MGCP用于VoIP应用程序中的信令与控制。
网络基本输入/输出系统(NetBIOS):NetBIOS是计算机用来在相同的二层网络中进行通信的一种机制。 - 点对点隧道协议(PPTP):PPTP是一种跨越IP网络,对点对点(PPP)会话进行扩展的隧道协议。
远程Shell(RSH):RSH是用于远程执行命令的UNIX命令。 - 实时流传输协议(RTSP):**RTSP用于控制实时流量的数据交付。
会话初始化协议(SIP):SIP是一种用于多媒体会话的信令协议。
内部(Skinny)呼叫控制协议(SCCP):SCCP是一种用于VoIP应用程序通信的Cicso专有协议。
简单邮件传输协议(SMTP)/扩展简单邮件传输协议(ESMTP):这两个协议用于发送和接收E-mail消息。 - 简单网络管理协议(SNMP):SNMP是一种用于管理和监控网络设备的协议。
结构化查询语言SQL*Net/Net8:在客户端/服务器应用程序中用来进行数据库访问。
Sun远程过程调用(SunRPC):SunRPC是一种允许过程在另外一台计算机上运行的功能;它由Sun Microsystems公司开发。 - 简单文件传输协议(TFTP):TFTP是一种传输信息的机制。 - X显示管理器控制协议(XDMCP):XDMCP用于X终端与运行UNIX的工作站之间的通信。
这些应用要么已经在数据包的数据部分嵌入了IP地址、开放了辅助信道,要么需要对数据包的数据部分进行额外的检测。除非防火墙识别这些“特殊的应用程序”,否则这些应用程序可能无法正常工作,甚至防火墙会允许会这些应用程序的非必要访问。
从数据包的流动过程中可以看到,ACL不会检查属于已有会话的数据包,从实施的角度来看,这意味着如果允许流量从在接口之间传输,则它在刚开始时被ACL检查,但是返回流量(已经是已有会话的一部分)将不会再被检查。当允许访问服务或应用程序时,要记住这一点。
可以把这些服务部署在一个专用接口上,并创建一个无需在高级别接口上创建任何ACL,就能够允许流量从低级别接口(与安全等级相关,具体内容请见第4章)去往高级别端口(与安全等级相关,服务就是部署在高级别端口)的静态条目。由于会话已经建立,因此流量会正常返回。需要注意的是,没有配置ACL的高级别接口上不允许发起流量。该功能将人为配置错误的影响降至最低,并且不允许有权访问设备的人出于非法目的建立出站连接,从而增强了设备的安全性。
图2-3所示为决策进程的概述,用来帮助独立理解流量的传输。
当流量从高级别接口向下低级别接口传输时,仍然需要ACL。关键点是流量要首先匹配现有会话。
理解了流量的传输过程、在传输中历经哪些组件,以及以哪种顺序穿过FWSM后,你在FWSM设计、实施与排错方面也将会取得长足进步。