现在,网络安全已成为每个联网企业的首要关注问题,而且防火墙也已作为一种主要的安全机制被人们采用。虽然一些企业已经开始致力于“防火墙应用”,(我并不是说这是一种最好的解决办法),但这些应用对于中小型企业来说相当昂贵。比如,一台Cisco PIX Firewall要花费几千美元。
不过,现在出现了一种价廉物美的防火墙解决方案,可能这种解决方案一直被大家所忽视。目前,许多公司都使用标准的路由器联入互联网,如果您使用的是Cisco路由器,那么您应该知道Cisco IOS集成了一系列构建防火墙和入侵检测系统的功能。利用这些功能,您就可以不再需要单独的防火墙设备(Firewall Box),使用已有的Cisco路由器您完全可以构建自己的防火墙。我喜欢把这种方案称之为“穷人的防火墙”。
相关安全资源
美国国家安全局(National Security Agency)站点下的executive summary for Cisco router security有一些关于如何利用Cisco路由器构建防火墙的非常好的建议。这是我所见到的介绍这方面知识的最好站点。
获取合适的的IOS
首先,您应该获取适合自己Cisco路由器的IOS。如果您只对最基本的防火墙感兴趣(对IP地址和端口进行过滤),那么您可以通过Cisco路由器中已有的扩展访问控制列表来实现这种过滤。但如果您想要防火墙更强大的功能,那么您还需要加入防火墙/入侵检测系统(FW/IDS)。
访问Cisco IOS Upgrade Planner ,您可以获取带有FW/IDS的IOS,不过,只有Cisco站点的注册用户才能访问此链接。利用IOS Upgrade Planner,您可以选择合适的路由器模块,您需要的IOS版本(最好是最新的版本),以及您寻找的软件功能。请一定确保您选择的IOS带有FW/IDS(为使用FW/IDS,您可能需要支付少量注册许可费用)。接着,您可以下载选好的IOS,升级路由器到新版本,并重启路由器。
配置NAT
下一步,您需要正确配置防火墙和IDS。就象我前文提到的那样,可以通过扩展IP访问控制列表配置最基本的防火墙。同样,这也是配置更高级防火墙的基准点。
因为许多公司使用了网络地址转换(NAT)和企业内部私有TCP/IP地址,所以我们首先应该配置这部分的访问控制列表。通常,NAT在如下环境中实现:路由器通过串口与英特网联接,通过以太口联结局域网。这种情况下,NAT通过在企业内部网中使用私有TCP/IP地址,加强了内部网络的秘密性和安全性。而且,企业更换Internet服务提供商(ISP)后,也不必改动内部网络的地址。
可以按照如下的步骤配置Cisco路由器:
interface Serial1/0 description Internet connection – external ip address 1.1.1.254 255.255.255.0 !real Internet network no ip proxy-arp ip nat outside interface Ethernet1/1 description Local Network Ethernet Connection - internal ip address 10.253.2.2 255.255.0.0 !local private network no ip proxy-arp ip nat inside ip nat inside source static 10.253.1.1 1.1.1.1 ! Web server ip nat inside source static 10.253.1.2 1.1.1.2 ! Email server ip route 0.0.0.0 0.0.0.0 1.1.1.0 |
注意,本地Web服务器的IP地址现在是10.253.1.1,本地邮件服务器的IP地址是10.253.1.2。在实现防火墙之前,这两个拥有公共IP地址的系统,1.1.1.1(Web服务器)和 1.1.1.2(邮件服务器),在英特网上没有受到保护。而现在,这两台服务器拥有了内部IP地址,它们的外部公共IP地址在防火墙处被转换成为内部IP地址。
同样,其他的内部和外部地址都相应被转换,目的地址不是本地10.x.x.x网络的包会通过串口发送出去。
配置访问列表
现在可以针对某类网络的安全来配置访问列表了。如果您的安全策略是在Web服务器上只允许HTTP协议,在邮件服务器上只允许SMTP协议,那么您应该配置如下的控制列表:
access-list 100 remark Begin -- IP .1 10.253.1.1 Web Server access-list 100 permit tcp any eq www host 1.1.1.1 access-list 100 remark End --------------------------------- ! access-list 100 remark Begin -- IP .2 10.253.1.2 Email Server access-list 100 permit tcp any eq smtp host 1.1.1.2 gt 1023 access-list 100 permit tcp any host 1.1.1.2 eq smtp access-list 100 remark End ---------------------------------- |
然后,使用下面的命令将控制列表应用到串口(英特网接口)上:
interface Serial1/0 ip access-group 100 in |
对网络安全来说,将防火墙阻断的各类数据记录到日志中是相当重要的一点。尽管每个访问控制列表都清楚地列出了应该拒绝的数据包,但防火墙却不能将这些报文记录到日志中。我建议在网络中安装一台日志服务器,让路由器登录到该日志服务器上,记录所有被防火墙拒绝的数据包。在本例中,网络中的Web服务器也是日志服务器,您可以通过下面的命令对路由器进行相应配置:
access-list 100 deny ip any any log logging 10.253.1.1 |
配置NBAR
说了这么多,我们仍然还没有真正接触到Cisco FW/IDS。下面我们将配置基于网络应用的识别(NBAR),这是防火墙的一个特征。基本上,NBAR能识别应用层命令,如HTTP、MIME、PC Anywhere、Microsoft SQL server,以及其他一些应用的命令,并可以采取下一步措施——例如丢弃这个连结。
举一个简单的例子,我们看看如何利用NBAR阻止红色代码攻击。首先,定义一个此类攻击的class-map,指明您想阻断对哪种应用、那个文件的访问:
class-map match-any http-hacks match protocol http url "*cmd.exe*" match protocol http url "*root.exe*" |
接着,利用一个策略映射(Policy Map)标记具有这些特征的数据包:
policy-map mark-inbound-http-hacks class http-hacks set ip dscp |
然后,在以太口(英特网接口)上应用该策略映射:
interface Serial1/0 service-policy input mark-inbound-http-hacks |
NBAR可以有效阻止各种散布在英特网中的蠕虫入侵,这些蠕虫有的是通过电子邮件传播,有的是从Web网页上下载下来的。NBAR仅是Cisco FW/IDS的一个特色;其他的功能我们可参考Cisco配置指南。
应用IDS特色和其他选项
入侵检测系统(IDS)是网络安全的另一重要领域。Cisco IDS能识别“攻击特征”,我称之为“攻击模式”。以垃圾邮件为例,Cisco IDS能识别这些垃圾邮件的发源地并采取指定的处理措施。(或丢弃保文,或通知管理员,等等。)
以后我可能会写一篇如何配置Cisco IDS的文章。由于IDS只是防火墙的一个可选部分,我还是有机会再介绍吧。不过,我建议您在配置Cisco IDS之前,仔细阅读一下配置Cisco IOS入侵检测系统。
Cisco FW/IDS的另外两个重要特色是基于上下文的访问控制(CBAC)和TCP报文截取(TCP Intercept)。CBAC能识别数据报文的“上下文”环境,能根据上下文创建动态访问控制列表。
以FTP通信为例,如果您只允许向外的FTP访问,那么您应该使用CBAC,而不是在访问控制列表中完全开放相应端口。一般情况下,防火墙应该拒绝FTP数据回应报文访问内部网,但CBAC能识别该FTP连结是从内部网络中发起的,并自动打开相应端口,以便让数据回应报文返回给内部网用户。当这种通信没有发生时,您的网络就没有“突破口”(开放的端口),黑客就不能进行攻击,因此,这将使您的网络更安全。
TCP报文截取能防止您的网络遭受拒绝服务攻击(DoS)。在数据包到达目的主机(网络中的服务器)之前,TCP报文截取能检验某个TCP包的源地址是否真实存在。如果源地址不存在,那么路由器能在该TCP包到达服务器之前丢弃它,并消耗其有效处理时间,这可以停止DoS攻击的攻击过程。
总结
我们可以看到,Cisco IOS FW/IDS提供了强大的功能。它可以在一台设备上实现路由器和防火墙,对我的公司来说这是一种省钱的解决方案,对您的公司来说这可能也是一种省钱的方案。尽管本文只是介绍了构建Cisco IOS 防火墙的一些肤浅知识,但我想这对于您来说有可能是一个好的开始。
关于Cisco IOS防火墙新特性的详细资料
新的防火墙特性和优点
Cisco IOS安全服务包括一系列特性,能使管理人员将一台Cisco路由器配置为一个防火墙。Cisco IOS防火墙特性集给现有的Cisco IOS安全解决方案增加了更大的深度和灵活性。表1提供新特性的一个概览,这些新特性给可能已经作为防火墙运行的路由器带来新增的灵活性和保护。目前,这些特性可用于Cisco 1600和2500系列路由器,并将从1998年第三季度开始可用于Cisco 2600和3600系列路由器。
表1:Cisco IOS防火墙特性集概览 |
新特性 | 说明 |
基于上下文的访问控制(CBAC) | 针对通过周边(例如专用企业网和Internet之间)的所有通信流量,给内部用户提供安全的、基于每应用的访问控制。 |
Java阻断 | 提供针对未识别的恶意Java小程序的保护。 |
Denial of Service(服务拒绝)检测/预防 | 防御和保护路由器资源免受常见攻击;检查数据包包头和丢掉可疑的数据包。 |
审计踪迹 | 详细说明事务;记录事件印迹、源主机、目的主机、端口、持续时间和传输的总字节数。 |
实时告警 | 记录在发生服务拒决攻击或出现其他预配置条件时的告警。 |
支持ConfigMaker | 一种基于Win95/WinNT向导的网络配置工具,为网络设计、寻址和防火墙特性集实现提供逐步的指导。 |
以前发布的Cisco IOS防火墙功能包括:
基于上下文的访问控制
基于上下文的访问控制(CBAC)是Cisco IOS防火墙特性集最显著的新增特性。CBAC技术的重要性在于,它第一次使管理员能够将防火墙智能实现为一个集成化单框解决方案的一部分。现在,紧密安全的网络不仅允许今天的应用通信,而且为未来先进的应用(例如多媒体和电视会议)作好了准备。CBAC通过严格审查源和目的地址,增强了使用众所周知端口(例如FTP和电子邮件通信)的TCP和UDP应用程序的安全。
CBAC的工作原理
CBAC是一个适用于IP通信的基于每个应用的控制机制,包括标准TCP和UDP Internet应用程序、多媒体应用程序(包括H.323应用程序、CU-SeeME、VDOLive、Streamworks及其他应用程序)以及Oracle数据库。CBAC检查TCP和UDP包,并跟踪它们的“状态”或连接状态。
TCP是一个面向连接的协议。在传输数据之前,源主机与一个目的主机洽谈连接,通常被称为“三向握手”。这种握手过程确保有效的TCP连接和无错的传输。在连接建立期间,TCP穿过几个“状态”或阶段(由数据包头标识的)。标准和扩展的访问控制列肯(ACL)从包头状态来决定是否允许通信通过一个连接。
CBAC通过检查整个(数据)包了解应用程序状态信息,给ACL功能增加了检查智能。CBAC利用这种信息创建一个暂时的、对话期特定的ACL入口,从而允许回返通信进入可靠网络。这种暂时的ACL有效地在防火墙中打开了一个大门。当一个对话期结束时,ACL入口被删除,大门关闭。标准和扩展的ACL不能创建暂时的ACL入口,因此直至目前,管理员一直被迫针对信息访问要求衡量安全风险。利用标准或扩展的ACL,难以确保为回返通信流量选择通道的先进应用程序的安全。
CBAC比目前的ACL解决方案更加安全,因为它根据应用类型决定是否允许一个对话通过防火墙,并决定是否为回返通信流量从多个通道进行选择。在CBAC之前,管理员仅通过编写基本上使防火墙大门洞开的永久性ACL,就能够许可先进的应用通信,因此大多数管理员选择否决所有这类应用通信。现在,有了CBAC,通过在需要时打开防火墙大门和其他时候关闭大门,他们能够安全地许可多媒体和其他应用通信。例如,如果CBAC被配置成允许Microsoft NetMeeting,那么当一个内部用户初始化一次连接时,防火墙允许回返通信。但是,如果一个外部NetMeeting来源与一个内部用户出始化连接时,CBAC将否决进入,并撤消数据包。
从一个更加技术的观点来看,CBAC使用几个加强机制:
CBAC适用于何处
CBAC是根据每个接口配置的。CBAC可能被配置用于控制源于防火墙另一方的通信(双向);但是,大多数客户将CBAC用于仅源于一方的通信(单向)。
将CBAC配置为一个单向控制,其中客户对话是在内部网内启动的,必须穿过防火墙才能访问一个主机。例如,一个分支办事处可能需要跨一个广域网连接或Internet访问企业服务器。CBAC根据需要打开连接,并监视回返通信流量。
当一个防火墙双方都需要保护时,CBAC适合作为一个双向解决方案。这种配置的一个例子是在两个合作伙伴公司的网络之间,其中某些应用程序通信被限制在一个方向,其他应用程序在另一个方向。
有关CBAC的其他说明
Java阻断
随着大量Java小程序可用于Internet,保护网络免受恶意小程序的攻击已经成为网络管理人员的一个主要课题。可以配置Java阻断来过滤或完全拒绝对没有嵌入在一个文档或压缩文件中的Java小程序的访问。
服务拒绝检测和预防
新近增强的服务拒绝检测和预防针对syn泛滥、端口扫瞄和包注入提供网络防御。服务拒绝检测和预防检查TCP连接中的包顺序号。如果这些号码不在预期的范围内,路由器将撤消可疑的包。当路由器检测出新建,它就发出一条告警信息。它还撤消半开的TCP连接状态表,以防止系统资源耗尽。
审计跟踪
增强的审计跟踪利用系统日志来跟踪所有事务;记录时间印迹、来源主机、目的地主机、所用的端口、对话以及传输的总字节数。
实时告警
一旦查出可疑的活动,实时告警将向中央管理控制台发送系统日志错误信息。网络管理人员有能力立即对入侵作出反应。支持ConfigMaker 通过使用ConfigMaker(一种基于Win95/WinNT向导的管理工具,它能使你将网络上支持的任何路由器配置为一个防火墙),Cisco IOS防火墙特性集非常容易安装。ConfigMaker是现有Cisco命令行接口工具的一个配置替换。它指导分销商和网络管理员完成网络设计及路由器安装过程。ConfigMaker允许从一台单一PC配置整个路由器网络,而不是将每一个路由器以独立的设备方式配置。
应用程序
分支办事处与总部和Internet的连接
作为分支办事处一个关键的安全部件,Cisco IOS防火墙特性集不占用布线柜中的额外空间。例如:使用Cisco 2514利用一个端口连接Internet网,另一个端口通过专线访问总部资源。通过防火墙特性集,管理员可以远程配置路由器,从而在一个接口拒绝某些应用通信和从Internet下载的Java小程序,并允许SNA通信和Java小程序通过另一个广域网进入总部网络。这一解决方案授权访问要求的应用程序,例如SNA主机和客户机/服务器应用程序,并拒绝对意外应用通信的访问。
小型企业Web服务器
在另一种情况中,一家小企业老板正通过一个现场Internet Web服务器与客户和供应商通信。通过使用一个Cisco 1605路由器,客户和供应商可以随时登录Web服务器,而内部以太网在另一个接口上仍然受到保护。防火墙特性集在每一个端口提供CBAC检查,密切监视通信,并保护Web服务器和内部网免受攻击。
Cisco端到端网络
一项稳健的安全策略不仅需要周边控制,或防火墙安装和管理。Cisco IOS软件是实现一项全球安全策略的理想工具。建立一个端到端Cisco解决方案可以给管理人员提供随网络发展在整个网络加强安全策略的能力。
Cisco支持
根据现有的一项支持计划,你可以从Cisco获奖的Web站点-Cisco Connection Online随时获得Cisco IOS安全软件的升级版本。为了补充其业界领先的网络解决方案,Cisco开发了全面的支持解决方案。Cisco以寿命周期为重点的支持产品提供启动、维护、市场以及先进的服务和定制服务,来保护和实现你的投资的最大化。这些服务一起提供根据特定应用程序和环境定制解决方案的覆盖面、广度以及灵活性。现在,通过世界级的Cisco支持服务,网络管理人员可以端到端地支持他们的局域和广域Cisco网络。
表2:Cisco IOS防火墙特性集规范 |
特性 | 说明 |
基于上下文的访问控制(CBAC) | |
包状态检查 | 维护穿过路由器的每一个连接的状态和上下文;检查入站和出站通信,加强安全策略 |
智能检查过滤器 | 了解控制通道中应用程序特定的指令;检测应用程序攻击;在动态分配(根据需要)的基础上打开端口 |
CBAC支持的应用程序(可以模块化安装) | |
TCP/UDP应用程序 | Telnet、http、tftp、SNMP |
文件传输协议(FTP) | 包括积极和被动模式 |
多媒体应用程序 | 检查控制通道流,确保在每一次对话期间打开视频和音频通道;支持H.323应用程序、CU-SeeMe、RealAudio、StreamWorks和VDOLive |
电子邮件服务(SMTP协议检查) | 查出无效的SMTP指令;消除对"非军事化区域"中外部邮件中继的需求 |
远程过程呼叫(RPC)服务 | 检查端口映象程序请求,在需要时打开通道支持RPC通信流量 |
伯克莱标准分布(BSD)-Rcmds | 检查服务器回答,打开任何辅助通道 |
Oracle数据库应用程序支持 | 检查来自Oracle收听者过程的转向信息;为客户连接到服务器打开端口 |
基于T.323的电视会议应用程序 | 检查Q931和H.245控制消息,为视频和音频数据打开增加的UDP通道。 |
服务拒绝检测和预防 | |
防御流行的攻击模式 | 防御syn泛滥、端口扫瞄和包注入;防止路由器资源耗尽 |
包撤消 | 暂时撤消始自攻击者的包;基于IP地址 |
顺序号检查 | 检查TCP连接中的包顺序号,确保它们是在预期的范围之内 |
事务记录 | 详细说明事务;记录终止时间印迹、源主机、目的主机、端口和传输的总字节数 |
推荐的缺省选项(请参见全面的推荐缺省选项目录) | 允许/否决推荐的启动设置;来源路由关/开;废止/使能代理arp;仅启动所需的应用程序/所有应用程序;通过Message Digest 5(MD5)散列算法加密路由器口令;将访问目录和口令用于虚拟终端端口;在所支持的路由协议中,使能/废止路径验证 |
增强的TCP/UDP事务日志 | 根据来源/目的地地址和端口配对跟踪用户访问 |
Java阻断 | |
设置保护级 | 可以配置用于过滤或完全否决对没有嵌入在任何文档或压缩文件中的Java小程序的访问 |
实时报警 | |
先进的日志记录特性 | 通过一个系统日志机制,生成报警 |
与Cisco IOS特性兼容 | 与ACL、NAT、TCP Intercept和Reflexive Access Lists兼容;Cisco加密技术 |
网络管理 | |
支持ConfigMaker | 一种基于Win95/WinNT向导的网络管理工具,为网络设计、寻址和防火墙特性集实现提供逐步的指导 |