分类:
2011-08-22 15:56:48
现在,网络安全已成为每个联网企业的首要关注问题,而且也已作为一种主要的安全机制被人们采用。虽 然一些企业已经开始致力于“应用”,(我并不是说这是一种最好的解决办法),但这些应用对于中小型企业来说相当昂贵。比如,一台 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阻止红色代码攻击。首先,定义一个此类攻击的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 1
然后,在以太口(英特网接口)上应用该策略映射:
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攻击的攻击过程。