第1章 安全技术介绍
Cisco ASA设备使用指南(第3版)
本章涵盖的内容有:
防火墙;
入侵检测系统(IDS)与入侵防御系统(IPS);
IPSec虚拟专用网(VPN);
SSL(安全套接字层)VPN;
Cisco AnyConnect Secure Mobility;
可感知环境(Context-aware)的安全技术;
云与虚拟化的安全。
在过去几年中,各企业、院校和政府机关出现了越来越多的计算机安全问题与网络安全问题。入侵网络和计算机系统的教程在互联网上也变得唾手可得。有鉴于此,网络安全专业人士就有必要对网络进行细致地分析,来判断应该采用何种措施来缓解网络中存在的风险。
安全威胁的种类不一而足,从分布式拒绝服务攻击,到病毒、蠕虫、木马、SQL注入(SQL Injection)、跨站脚本攻击(XSS)及高级持续威胁(APT)[1]等。这些攻击方式可以轻易摧毁或中断重要的数据传输,于是,为了保证自己的关键业务不会因网络威胁而中断,自己的重要信息也不会因网络犯罪而失窃,人们不得不采取一些昂贵而又复杂的补救措施。
本章会对重要的网络安全技术进行介绍,同时,本章还会介绍必备的基础知识,以便使读者能够进一步学习Cisco自适应安全设备(ASA)安全特性及相关解决方案中所用到的技术。
1.1 防火墙
防火墙这个词一般是描述位于可靠网络和不可靠网络之间的系统或者设备。对网络安全领域的专业人士来说,清晰理解防火墙及相关技术的重要性不言而喻。因为这些知识能够帮助网络工程师更加精确和高效地对网络进行配置和管理。
许多网络防火墙的解决方案都可以通过加强用户策略和应用策略的方式,来对各类安全威胁提供保护功能。这些解决方案网络可以提供日志记录功能,而这类功能使安全管理员能够识别、观测、证实并最终缓解这些安全威胁。
不仅如此,管理员还可以将很多应用程序安装在一个系统上,以针对这一台主机进行保护。这类应用程序称为个人防火墙。本节将对网络防火墙和个人防火墙及它们的相关技术进行概述。
1.1.1 网络防火墙
基于网络的防火墙可以提供一系列重要特性来保障网络的边界安全。防火墙的主要任务就是根据预先明确配置好的策略及规则,来阻塞或放行试图进入网络的流量。防火墙常常也会部署在网络的其他区域中,以便在企业架构之内对网络进行分段。有时,人们也会将防火墙部署在数据中心内部。而这个用来允许或阻断流量的进程可能会包含以下方式:
简单的包过滤技术;
复杂的应用代理;
网络地址转换;
状态化监控防火墙;
下一代可感知环境的防火墙。
1.包过滤技术
包过滤的目的非常简单,它首先会对穿越网络的流量进行判断,以此控制特定网段的流量访问网络。包过滤技术一般会在OSI(开放系统互联)模型的传输层中监控入站流量。比如,包过滤技术能够对TCP(传输控制协议)或UDP(用户数据包协议)数据包进行分析,并将这些数据包与一系列预先配置好的规则进行比较,这些规则就称为访问控制列表(ACL)。它会对数据包的以下字段进行监控:
源地址;
目的地址;
源端口;
目的端口;
协议。
注释:
包过滤一般不会监控附加的第3层和第4层字段,比如序号(sequence number)、TCP控制标记(TCP control flag)、ACK字段等。
各类包过滤防火墙也可以对数据包头部的信息进行监控,并以此发现这个数据包是来自一条业已存在的连接还是新的连接。不过,简单的包过滤防火墙有很多局限和缺陷。
它们所包含的ACL或规则列表有时会因过于庞大而难以管理。
它们会放过那些经过了精心伪装的数据包,使其在未经授权的情况就可以访问网络。有鉴于此,黑客可以将数据包的IP地址伪装成得到了ACL授权的地址,使其可以顺利实现对受保护网络的访问。
很多应用都可以在任意协商的端口上建立起多条连接。这就会使得防火墙很难在连接完成之前就判断出这些应用会选用哪些端口。这类应用程序通常为多媒体应用,如流媒体和视频应用等。包过滤技术无法理解这类应用所使用的上层协议,而且为这类协议提供支持也非常困难,因为ACL需要在包过滤防火墙上手动进行配置。
2.应用代理
应用代理,或称代理服务器,是指那些为私有网络或受保护网络中的客户端充当中介代理的设备。受保护网络中的客户端向应用代理发送连接请求,要求与不受保护的网络或Internet之间进行数据包传输。于是,应用代理就会代替内部客户端发送请求。大部分的代理防火墙都工作在OSI模型的应用层。多数代理防火墙都可以对信息进行缓存,以提升网络通信的速度。因此,对于那些大量服务器都处于繁忙状态的网络来说,这是一个十分关键的功能。除此之外,代理防火墙还可以对一些特定的Web服务器攻击进行保护,但是在大多数情况下,它们无法对Web应用提供任何的保护功能。
3.网络地址转换
很多3层设备都可以提供网络地址转换(NAT)服务。这些3层设备可以将内部主机的私有(或本地)IP地址转换为公网可路由(或全球)的地址。
Cisco在描述NAT时,常常会使用真实(real)IP地址和映射后的(mapped)IP地址这两个专用名词。所谓真实IP地址即为主机上配置的转换前IP地址。而映射后的IP地址即为真实地址经转换之后所得的那个地址。
注释:
静态NAT可以在双向发起连接。换句话说,既可以由主机发起连接,也可以由其他设备向主机发起连接。
NAT通常属于防火墙的功能,不过,除了防火墙之外,像路由器、无线接入点(WAP)等也可以提供NAT功能。通过这个功能,防火墙可以对不受保护的网络隐藏内部的私有地址,只将防火墙自己的地址或公共地址范围暴露给外部网络。因此,网络领域的专业人士可以将任意IP地址空间作为它们网络的私有IP地址。不过,最佳做法仍然是使用专为私有地址保留的空间来作为内部地址空间(详见RFC 1918,“Address Allocation for Private Internets”)。表1-1所示为RFC 1918所指定的私有地址空间。
在规划网络时,对不同地址空间分别进行考量是十分必要的(比如,可配置的主机和子网)。比起在实施的过程中再对网络设计进行修改,一开始就对网络进行精心地设计和筹划反倒可以节省大量的时间。
提示:
白皮书A Security-Oriented Approach to IP Addressing为网络地址的设计和筹划提供了很多提示。读者可通过以下链接对该白皮书进行浏览:http://www.cisco.com/web/about/security/ intelligence/security-for-ip-addr.html。
端口地址转换
一般来说,防火墙都可以执行一种叫做端口地址转换(PAT)的技术。这个特性可以看作NAT的一个子集,它能够通过监控数据包的4层信息,使多个内部受保护网络的设备共享同一个IP地址。这个地址一般来说是防火墙的公网地址,不过也可以将其配置为其他的公共IP地址。图1-1所示为PAT的工作方式。
如图1-1所示,“内部网络”中多台受保护的主机都配置上网络10.10.10.0的地址,子网掩码是24位。ASA正在为这些内部主机执行PAT转换,也就是将地址10.10.10.x转换为它自己的地址(209.165.200.228)。在这个例子中,主机A向位于“外部”不受保护网络的Web服务器发送了一个TCP 80端口的数据包。ASA会对请求数据包执行地址转换,将主机A原本的地址10.10.10.8转换为防火墙自己的地址。同时在向Web服务器转发请求时,随机选择一个不同的第4层端口。在本例中,TCP源端口由1024被修改为了1188。
静态转换
如果不受保护网络(外部网络)中的主机需要向NAT设备后面的特定主机发起新的连接,还有一种不同的方法,这种方法就是通过配置防火墙,在公共(全局)IP地址和内部(本地)受保护设备的地址之间创建一对一的静态映射,以此来放行这类的连接。比如,一台位于内部网络,并且拥有一个私有IP地址的Web服务器需要与未受保护网络或Internet中的主机进行通信时,就可以配置静态NAT。图1-2所示为静态NAT的工作方式。
在图1-2中,Web服务器地址(10.10.10.230)被静态转换为了外部网络的地址(在本例中为209.165.200.230)。因此,外部主机只要将流量定位到209.165.200.230,就可以向Web服务器发起连接。而后,执行NAT的设备就会负责转换地址,并将请求发送给内部网络的Web服务器。
地址转换不仅是防火墙的技术。今天,各类低端网络设备(如SOHO[小型及家庭办公环境]路由器及无线接入点)都可以执行各种不同的NAT技术。
注释:
第10章会详细介绍Cisco ASA对NAT技术的支持。
4.状态化监控防火墙
与简单的包过滤防火墙相比,状态化监控防火墙拥有更多的优势。这类防火墙可以跟踪每一个通过其接口的数据包,查看其是否已经建立连接,以及该连接是否可靠。它们不仅可以监控数据包头部的信息,也可以监控载荷部分的应用层信息。因此,在这类防火墙上可以创建不同的规则,以基于特定的载荷模式来判断是放行还是阻止该数据包。状态化监控防火墙会监测连接的状态,并根据相关信息来维护一个数据库,这个数据库通常称为状态列表(State table)。连接的状态可以提供该连接的具体信息,比如该连接是否已建立(established),是否已关闭(closed),是否被重置(reset),或是否正在协商(negotiated)。这些机制可以为不同类型的网络攻击提供保护。
1.1.2 非军事化区域(DMZ)
通过配置防火墙,网络可以被划分为多个部分(或区域),这些区域通常称为非军事化区域(DMZ)。这些区域可以为不同区域中的系统提供相应的安全保护,因而使这些系统拥有不同的安全级别和安全策略。DMZ有很多作用,比如,它们可以用来部署Web服务器集群,或者作为与某个商业合作伙伴的外部连接。图1-3所示为一个有2个DMZ区域的防火墙(在本例中为Cisco ASA)。
由于DMZ的存在,Internet只能访问到内网中那些可识别并且可管理的服务,因此,内网的设备和客户端就更不容易暴露给外部。
在图1-3中,位于DMZ1的Web服务器可以被内部和Internet上的主机访问。Cisco ASA负责控制从DMZ 2外联网商业合作伙伴发起的访问。
注释:
在大型企业中,管理员可以在不同网段和DMZ中部署多防火墙策略。
1.1.3 深度数据包监控
很多应用在穿越防火墙时,都需要对数据包进行特殊的处理,包括在数据包的负载中嵌入IP寻址信息,或通过动态分配的端口开放第二信道。高级防火墙及安全设备(如Cisco ASA及Cisco IOS防火墙)都能够提供应用监控机制来处理嵌入的寻址信息,使前面提到的应用及协议可以正常工作。通过应用监控机制,这些安全设备就可以分辨出动态分配的端口,并使特定连接中的数据能够在这些端口间进行交换。
有了深度数据包监控功能,防火墙就能够查看特定的第7层负载,以应对安全威胁。比如,管理员可以通过配置Cisco ASA(运行7.0及后续版本的产品)使其不支持在HTTP协议之上传递的P2P应用。管理员也可以配置这些设备来拒绝特定的FTP命令、HTTP content type(内容类型)及其他的应用协议。
注释:
Cisco ASA支持MPF(模块化策略框架),这种技术能够以一种灵活的方式针对特定流量配置应用监控及其他特性,其方法类似于在Cisco IOS操作系统上配置QoS。
1.1.4 可感知环境的下一代防火墙
移动设备大行其道,从任意地点发起连接的需求呼声日起,这都从根本上改变了企业的安全方案。诸如Facebook和Twitter等社交网络早已由孩子和极客的玩物,一跃变成了社会群体相互沟通、企业提升品牌形象的重要渠道。
对安全方面的担忧,以及对数据丢失的顾虑,是很多企业没有对社交媒体张开双臂的理由,但更多企业却将社交媒体作为企业的一大重要资源。当然,通过应用技术和实施用户控制,可以消弭大量的安全风险。但犯罪份子确实通过社交网络吸引了很多受害者来下载他们上传的恶意软件,以此来窃取他们的登录密码,这一点也是毫无疑问的。
在当今防火墙获取网络访问之前,它们不仅需要了解访问基础设备的应用和用户,也必须搞清楚用户使用的设备、用户所在的位置,以及当前的时间。这种有能力感知周遭环境的安全技术要求人们重新定位防火墙的架构。可感知环境的防火墙涵盖了当今市场上下一代防火墙的概念。这种可感知环境的防火墙可以对应用施以更加具体的控制,可以理解用户的身份,并且可以根据位置对访问进行控制。Cisco ASA-5500X系列下一代防火墙就是这种基于环境的防火墙解决方案。
1.1.5 个人防火墙
个人防火墙是指安装在终端设备或服务器上,用以保护这些设备免遭外部安全威胁及入侵的常用软件。术语个人防火墙通常意指控制访问客户端第3层及第4层信息的软件。现如今,也有一些高端的软件不仅可以提供基本的个人防火墙特性,还能够基于系统中所安装的软件的行为,以对系统进行保护。