无线网络安全

来源:百度文库 编辑:神马文学网 时间:2024/04/28 03:42:24

无线网络安全

发布者 Chris Weber 和 Gary Bahadur

经 McGraw-Hill Companies 许可,本文摘自《Windows XP Professional 安全》的第 9 章。 本文内容与原书内容稍有不同,主要是修复了原书中几个失效的链接。

ISBN: 0-07-222602-1

授权转载

本页内容
简介 Windows XP 对无线技术的支持 目前无线网络存在的安全问题 目前针对无线威胁的对策 设计安全的无线网络 探索工具 核对清单:无线安全性

简介

无线技术使我们摆脱了线缆的束缚。 只要有可用的无线信号,使用笔记本计算机、PDA、Pocket PC、Tablet PC 或手机的用户就可以随时随地保持联机。 无线技术背后的基本理论是所有的信号都可以通过电磁波来携带并传输到信号接收器上。 但是为了使进行通信的无线设备双方能够相互识别,我们需要采用各种通信协议。

在本章中,我们将首先了解 Windows XP Professional 在无线技术方面为用户带来的各种功能。 然后,我们将讨论目前无线技术所存在的安全问题,以及应对这些问题的方法。 最后,我们将提供两种可以用来保护无线网络的方法。

在随后的内容中,您将发现有两个概念得到了极大的增强: 身份验证加密。 这两个概念与我们为保护无线网络建议的两种方法有着密切的关系。 如果您已经急不可待,那么告诉您吧,第一种方法是使用驻留在专用防火墙中(后)的 IPSec VPN 的解决方案,通过防火墙隔离无线网络和 Intranet。 另一种方法是将 802.1x 身份验证和后端 Internet Authentication Server 结合起来使用,同时使用动态 WEP 密钥来进行加密。 这两种方法都使用基于客户端证书的强身份验证。 若要更为清晰地了解这些方法,请往下读。

注意:请参考本书“蓝图”一节,其中介绍了这两种建议的无线网络体系结构网络图。

为了便于您更好地理解无线技术,可以将它们分为三个层,如下表所示。 这三个层分别是设备、物理应用程序及服务(协议)。

表 1 无线技术的不同层次

层 技术

应用程序及服务

无线应用程序: WAP、i-mode、消息传输、无线网络上的语音、VoIP、基于位置的服务

物理

无线标准: 802.11a、802.11b、802.11g、AX.25、3G、CDPD、CDMA、GSM、GPRS、无线电、微波、激光、蓝牙、802.15、802.16、IrDA

设备

移动设备: PDA、笔记本、手机、寻呼机、手持式 PC、可穿戴式计算机

设备层(移动设备)包括各种新奇设备,范围从最小型的手机直到 PDA 和笔记本计算机。 这些设备使用无线技术相互通信。 物理层包括各种用于无线通信的物理编码机制。 蓝牙、802.11x、CDMA、GSM 和 3G 是一些不同的标准,分别定义了不同的方法,用来对数据进行物理编码,以便通过电波进行传输。 在本章中,我们将重点关注基于 802.11x 和蓝牙标准构建的网络。 应用程序及服务层(也称为 ISO 第 2 到 7 层)包含可使无线设备支持端到端数据处理的协议。 无线应用程序协议 (WAP)、Voice over IP (VoIP) 和 i-mode 等协议就驻留在这一层。

在有线网络中,很多安全问题都会影响到最终用户。 无线网络也不例外,通常由 IT 部门来负责保护最终用户。 在贵企业采用最新的无线网络技术之前,您需要

了解目前产品的能力

了解网络需求

了解所要面对的潜在风险

找到符合所处环境的解决方案

返回页首

Windows XP 对无线技术的支持

很多 Windows 操作系统(包括 Windows 9x/NT/2000)都支持无线红外数据协会 (IrDA) 设备。 Windows 2000 本身支持一些 802.11 无线网络设备,例如原始的 Lucent Wavelan 卡。 Windows XP 延续了对 IrDA 的支持,并增强了对 802.11b (Wi-Fi) 无线网络设备的支持。 在不久的将来,可能会加入对蓝牙的支持。

根据所覆盖的距离,无线技术可以分为两大类: 无线个人区域网 (WPAN) 和无线局域网 (WLAN)。具体内容将在下面详细介绍。

WPAN

顾名思义,“个人区域网”适用于很小的范围——大约 10 米(30 英尺)。 红外数据协会 (IrDA) 和蓝牙是主要的 WPAN 无线技术;它们均存在于物理层中(参见表 9-1)。 利用 WPAN 的设备包括 PDA、打印机、照相机、手机和访问点等等。 对 IrDA 的支持使得用户能够在计算机与另一台支持 IrDA 的设备间传输数据,实现数据同步、文件传输或设备控制。 IrDA 的速度最高可达每秒 4 MB,在无障碍视线范围内,传输距离一般小于 30 英尺。

蓝牙使用无线电波来传输数据,因此没有 IrDA 的视线限制。 蓝牙还支持更快的数据传输速率 (11 Mbps),该技术使用 2.4 GHz ISM 带宽。 但是,目前还没有在 Windows XP 中加入对蓝牙的支持。

WLAN

很显然,无线局域网 (WLAN) 的范围比 WPAN 要大。 例如,大部分 802.11b 实现的速度为 1 Mbps,范围大约为 500 米(1500 英尺)。 在接近访问点 (AP) 的地方,传输速度最高能够达到 11 Mbps。 Windows XP 本身支持 IEEE 802.11b;这个标准使用直接序列展频技术 (DSSS),在 2.4 GHz(ISM 带)带宽中传输数据。 由于这个带宽是免费向公众开放的,因此无绳电话等其他设备可能会出现问题和干扰。

Windows XP 本地支持 802.11x,这简化了硬件和软件供应商的实现过程。 正如我们将在后面介绍的,无线网络最安全的设计方案之一是在用户授权使用无线网络之前,通过 Internet Authentication Service (IAS) 等后端服务器执行相互身份验证。

有关 Windows XP 硬件支持的问题,您可以参考详细的硬件兼容列表 (HCL),地址为 http://www.microsoft.com/hcl。 然后确定设置无线网络所需的其他产品和服务。 但是,在进一步讨论解决方案之前,首先让我们了解一下可能存在的问题。

挑战

您的经理要求在现有企业网络中加入无线网络。 多年来,您一直在完善有线网络的安全性。 现在却需要加入一个新的技术,带来了新的漏洞。 怎样才能保证有线和无线网络都安全、而且可用呢? 您是否能预计到未来对无线网络的攻击并做好准备呢?

任何新的技术都会带来安全性挑战。 在这一点上,应该像对待有线网络一样对待无线网络。 虽然 802.11x 拥有一些内建的安全特性,但是与我们在 OS 和应用程序等有线技术中所遇到的情况一样,标准的安全性总是有待加强的。

可以选择的一种方法是通过相互身份验证和加密来实现周边技术(例如 IPSec),使得无线网络更为安全。 另一种强健的解决方案是要求提供客户端证书和动态 WEP 加密密钥。 无线网络很容易被未经授权地访问,很多人也确实是这样做的。 另外,还有一些无线网络身份验证方式更为危险,任何人都有可能接入您的企业网络。 请像针对有线网络一样,对您的无线网络进行限制。

返回页首

目前无线网络存在的安全问题

现在,最成熟的无线网络技术是 802.11b,它也是本文的重点。 首先让我们先简要地介绍一下 IEEE 802.11b 标准。

IEEE 802.11b 使用 2.4 GHz ISM 频带,提供从 1 Mbps 到 11 Mbps 的传输速度,覆盖范围大约 1500 英尺。 (虽然实际上,您很难从当前的市场产品中获得此覆盖范围。) 在传输数据前,此标准会先用直接序列展频技术 (DSSS) 对数据进行编码。 IEEE 802.11、802.11a、802.11b 和 802.11g 都使用载波侦听多点接入/冲突避免 (CSMA/CA) 作为数据链接层的协议。

在无线网络中,有两个名称是您需要了解的:

工作站 (STA)

访问点 (AP)

STA 是无线网络客户端——桌面计算机、便携式计算机或 PDA 等。 AP 是一个集中点(类似于集线器),它能创建一组基本的服务,将大量 STA 从无线网络桥接到其他现有网络。

无线网络有两种不同的模式:

特殊模式或独立基本服务集 (IBSS)

基础结构模式或基本服务集 (BSS)

在网络蓝图中,对特殊模式和基础结构模式进行了介绍。 特殊模式等同于对等网络。 这意味着特殊无线网络没有用于桥接 STA 的 AP。 特殊无线网络中的每台 STA 可以与同一网络中的任意其他 STA 进行直接通信。

基础结架模式至少拥有一个 AP,从而构成 BSS。 如果拥有多个 AP,那么它们将组成扩展服务集 (ESS)。 所有进出 STA 的流量都将首先通过 AP。 而 AP 可以直接地连接到另一个网络,例如您的有线 Intranet。 在这种情况下,我们建议在两个网络间加设一个防火墙,具体内容将在稍后介绍。

几乎所有协议集都拥有某种机制来对数据进行保护,IEEE 802.11b 也不例外。 它采用一种称为有线等效加密 (WEP) 的加密机制,在数据通过无线电波传递时进行保护。

安全警报 在 WEP 加密机制发布后,业已证明(在 2001 年由 Nikita Borisov、Ian Goldberg 和 David Wagner 证明)它会受到多种形式攻击的影响。 WEP 使用 RC4 对称加密系统和用户特有密钥(64 位和 128 位)来保护数据。 因此,仅靠 WEP 并不足以保护您的数据。在随后的内容中,我们将介绍一些实际的解决方案来解决这个问题,例如动态 WEP、IPSec 和 801.1x 身份验证。

我们所关注的问题是黑客如何攻击您的网络。 攻击方法如下:

对无线网络踩点 定位和了解您的目标。

被动攻击 分析网络流量或攻破 WEP。

身份验证和授权 确定所使用的方法以及如何回避。

主动攻击 发起拒绝服务 (DoS) 攻击。

对无线网络踩点

攻击无线网络的第一步就是找到这个网络,这取决于 STA 和 AP 之间的交互。 本节将介绍 STA 和 AP 之间的交互,然后讨论如何以主动或被动的方式来发现和定位一个无线网络。

交互

由于 STA 和 AP 之间没有真正的线路连接,因此它们需要建立一种关联(虚拟线路)来实现通讯。 其过程包括

1.

确认 AP 有效。

2.

用 AP 进行身份验证。

3.

与 AP 建立关联。

第一个要求是标识 AP 提供的 BSS。 服务集 ID (SSID) 是用于标识 BSS 或 IBSS 的标识符。 接着,STA 可以使用这个 SSID 来与 AP 建立关联。 STA 如何知晓应该加入哪个 SSID 呢? 有两种方法:

主动方式 在主动方式中,STA 会发送一个拥有 SSID 的探测请求,检查 AP 是否有响应。 如果 STA 一开始没有 SSID,它就会发送一个具有空 SSID 的探测请求。 这个空的 SSID 也是有用的,因为大部分 AP 都会在探测响应包中,使用它们自己的 SSID 进行响应。 此时,STA 就知晓了所关联的正确 BSS。 这就像您走进一间房子,大声喊“有人在家吗?”——屋子里的人也许会用他们的名字来回答您。 值得高兴的是,AP 可以被配置为忽略拥有空 SSID 的探测请求。

被动方式 攻击者仍然可以使用被动方式,通过侦听无线电波中的数据包来检测 AP 的存在,这将暴露所有正在使用的 AP、SSID 和 STA。

痕迹

被动识别 SSID 的方法是通过侦听网络流量,寻找三种类型的数据包。 第一种称为“信标 (beacon)”。 AP 会定期地发送信标帧,通常每 100 毫秒一个。 通过信标帧,STA 能够知道这里存在一个可用的 AP。 信标帧也可以包含 SSID。 第二种数据包是“探测请求和响应”,第三种是“关联请求和响应”。 所有这些数据包都包含有 SSID,用于识别附近的 BSS 或 IBSS。 只要黑客在适当的范围内,您的无线网络基本上是没有可能隐藏起来的。 当然,也存在一些极端的方法,例如使用金属或其他限制无线信号的材料来包围整个网络周边。

工具

Windows XP 支持主寻找附近 AP 的方法。 只需打开无线网卡的“属性”页,单击“无线网络”选项卡,就可以看到一个包含当前可用无线网络的列表。 您还可以从此处选择连接到任意可用的访问点。

还有一些其他的工具,可以用来发现无线网络,例如 NetStumbler (http://www.netstumbler.com)。 对于被动发现无线网络的方式,可以使用 AiroPeek (可以从 http://www.wildpackets.com 找到的商业软件)来侦听流量,找到附近的无线网络。 在发现无线网络后,可以进行流量分析。 流量分析使您能够确定应针对这个无线网络发起哪种攻击。

被动攻击

被动攻击”是分析截获的网络流量,从收集到的原始信息中提取有用信息的方法。 常用的工具是 AiroPeek 这样的窃听器。 由于无线网络的物理属性,您可以在任何信号所及的范围内进行流量截获。 您可能听说过“停车场攻击”或“驾驶攻击”。 正如您所猜想的,这些方法表示在车中进行流量分析,可以停在您家附近,或行驶在附近的街道上。

纯文本流量

纯文本流量”也许是对黑客来说最好的情形,而对于系统管理员却极为糟糕。 如果对通过无线传输的数据没有任何保护,那么攻击者可以轻松地侦听到流量,然后进行协议或数据分析,从而攻入您宝贵的信息库中: 信用卡信息、密码和个人电子邮件等。 如果数据未受到保护,那么极有可能其他的网络设置也是非常不安全的。

WEP 的问题

即使无线网络启用了 WEP,那么黑客的攻击也未因此而结束。 WEP 算法中存在下列可能被利用的问题。

暴力攻击

WEP 使用称为 RC4 的对称加密系统。 用户可以使用共享的密钥。 RC4 算法用于加密数据的实际密钥是由伪随机数生成器 (PRNG) 生成的。 但是,PRNG 的漏洞可能导致实际密钥的空间小于 64 位或 128 位。 实际上,这个漏洞可能使密钥空间从 64 位降低到 22 位。 因此,攻击者可以收集足够的信息,然后在离线情况下尝试破译密钥。

复制 IV

初始矢量 (IV) 是一个由计算机生成的 3 字节随机数。 它和用户所选择的密钥一起生成用于 WEP 加密/解密的最终密钥。 初始适量在数据包中与加密数据一起传输,但是没有采取任何保护措施,因此接收方能够知道如何解密这个流量。 当您的无线网络使用同一个用户选择的密钥,并在多个数据包中复制 IV 时,就可能带来问题。 攻击者可能会知道所有具有相同 IV 的数据包都使用同一个密钥加密,从而可以根据所收集到的数据包建立一个字典。 由于 RC4 加密系统使用 XOR 算法,通过密钥来加密平面文本(用户数据),因此攻击者可以找到这些数据包的可能值。 这是因为两个不同的平面文本的 XOR 值与使用同一密钥的两个加密文本的 XOR 结果是相同的。 如果攻击者可以猜到其中一个平面文本数据包,那么他们就能够解密用同一密钥加密的其他数据包。

所选/已知的平面文本

另一方面,如果您知道 WEP 保护的数据包的平面文本和加密文本,那么就可能判断出这个数据包所用的加密密钥。 有很多方法可以用来确定这个密钥,包括发送电子邮件或生成 ICMP 回音请求流量 (ping)。 对企业 Intranet 相当了解的攻击者可以向网络发送一封电子邮件。 由于攻击者了解这封电子邮件的内容,所以他可以在无线端截取流量,确定与这封电子邮件相关的数据包,找出密钥,最终建立一个用于实时解密攻击的字典。

密钥生成的弱点

WEP 所用的 RC4 算法采用随机密钥生成器,这个密钥生成器的弱点使得攻击者能够收集到足够多具有符合特定形式的 IV 数据包,从而能够从这些 IV 中找出用户所选的密钥。 一般情况下,您需要侦听数百万的数据包,才能获得足够多“有意义的” IV 来找到密钥。因此攻破一般利用的无线网络需要数天,而不是数周的时间。 这还仅仅是一种非常基本的攻击,利用了很多工具来完成侦听和解密工作。 Airsnort 就是很著名的一种工具: 它在 Linux 上运行,尝试在收集到足够多有用的数据包后破解密钥。

比特操作攻击

WEP 不会对加密数据的完整性进行保护。 RC4 加密系统对数据的每个比特进行 XOR 操作,使得 WEP 保护的数据包很容易收到比特操作攻击。 这种攻击需要修改流量中的任意一个比特,中断通信或导致其他问题。

身份验证和授权

当攻击者了解网络的 SSID、网络的 MAC 地址或甚至 WEP 密钥等信息时,他们可以尝试建立与 AP 的关联。 目前,有三种方法在用户建立与无线网络的关联前对他们进行身份验证。

开放身份验证

开放身份验证通常意味着您只需要向 AP 提供 SSID 或使用正确的 WEP 密钥。 它可以与其他身份验证方法一起使用,例如 MAC 地址身份验证。 开放身份验证的问题在于,如果您没有其他的保护或身份验证机制,那么您的无线网络将是完全开放的,就像其名称所表示的。

共享机密身份验证

共享机密身份验证机制类似于“口令-响应”身份验证系统。 在 STA 与 AP 共享同一个 WEP 密钥时使用这一机制。 STA 向 AP 发送申求,然后 AP 发送回口令。 接着,STA 利用口令和加密的响应进行回复。 这种方法的漏洞在于口令是通过明文传输给 STA 的,因此如果有人能够同时截取口令和响应,那么他们就可能找到用于加密的密钥。

802.1x 并不是 802.11x

不要与 802.11x 无线标准相混淆,802.1x 身份验证标准处理身份验证过程和密钥管理,同时利用可扩展授权协议 (EAP) 来与其他用于身份验证、授权和记帐 (AAA) 的后端服务器进行集成。 无线网络用户必须经过无线网络另一端的身份验证服务器(例如 RADUIS 服务器)的身份验证才能获得授权。 这种方法的唯一已知缺陷在于如果没有相互的身份验证(只有服务器对用户进行身份验证),那么整个协议很容易收到著名的“中间人”(MITM) 攻击。 这意味着某人可以中途截取 STA 和 AP 间的流量,窃取身份验证信息,从而使用无线网络。 如果用户和服务器(EAP-TLS 或 EAP-MD5)间拥有相互的身份验证,那么 802.1x 将是可用的身份验证方法中最为安全的一种。

主动攻击和服务拒绝

前面,我们介绍了大部分利用被动攻击的安全问题;但是也还需要考虑一些主动攻击。 最有趣的攻击方法之一就是设置虚假的访问点,让真正的用户建立关联,然后收集信息或执行 MITM 攻击。 在企业环境中,如果恶意职员在企业 Intranet 中安装了一个恶意 AP,那么他们可以造成一个安全空洞——在停车场的其他人可以轻松地攻破并利用您的 Intranet。 另一种已知的攻击是尝试从无线网络用户的便携式计算机中窃取 WEP 的密钥。 有一种名为 Lucent Orinoco Registry Encryption/Decryption 的工具 (http://www.cqure.net/tools.html) 可以破解加密,从注册表中取得 Lucent Orinoco 卡用户的 WEP 密钥。

如果攻击者尝试了上述的所有方法,但都失败了,那么最后一种选择可能就是服务拒绝攻击了。 这种攻击可以击跨无线网络,致使服务中断。 我们将从两个不同的层来介绍这种攻击: 物理层和协议层。

物理层

有两种方法可以物理地中断无线网络的服务:

物理破坏若要破坏一个 AP,首先必须找到它。 当然也可以尝试找到天线,因为摧毁天线可能与破坏 AP 的效果是一样的。

干扰 即使攻击者没有电磁脉冲枪,也不意味着您可以免受这种攻击的影响。 您一定还记着我们提到过 802.11b 使用向公众免费开放的 2.4 GHz ISM 频带。 因此 802.11b 无线网络的信号可以受到厨房微波炉或新型 2.4 GHz 数字无绳电话的干扰。

协议层

攻击者也可以从协议层来中断服务。 还记得我们有关建立关联来使用无线网络的介绍吗? 如果您可以建立一个关联,那么就必然有一种方法来取消关联。 如果您可以进行身份验证,那么必然有一种方法可以取消身份验证。 不幸的是,在 IEEE 802.11b 标准中,这两种方法都是存在的,而且这两种方法都不需要在消息中拥有任何身份验证。 这意味着攻击者可以向任意无线网络用户发送一个取消关联或取消身份验证的消息,而中断对他们的服务。 从协议的角度来说,这是一个很糟糕的设计。

从有线端

不要认为黑客无法访问无线网络就没有方法进行攻击。 如果您拥有一个连接到 Intranet 的无线网络,并只配置了几个用户。 公司里的另一个职员从内部网发现了这个 AP,并访问到了 AP 上的管理接口。 他攻破默认 SNMP 共有字符串,更改其中的配置,从而使他成为允许使用该无线网络的用户之一。

这个例子道出了一个问题: 每个 AP 都拥有自己的管理接口。 最常见的管理接口包括 Telnet、FTP、Web 和 SNMP。 如果任何一种管理接口没有受到保护,那么某些人就有可能利用其中的默认设置。

返回页首

目前针对无线威胁的对策

在您决定说服上司不要在 Intranet 中建立无线网络之前,请考虑一下有什么方法能够解决我们所提到的这些问题。 这些问题可能看上去很可怕,但是这并不是您阅读本书的原因啊。 在您了解了黑客可以用来攻击无线网络的方法后,就可以通过堵上这些漏洞来保护自己。 如果您读过孙子的《 孙子兵法》,那一定知道: “知己知彼,百战不殆。”

在本章剩下的内容中,我们将重点讨论在设计无线网络时可以采用的基本原则。 但有一个基本原则是您需要时刻牢记的,那就是“深度防御”——您不应该仅依靠一种方法来保护您宝贵的财产。 既然我们已经知道了孙子的这句名言,那我们就看看有哪些方法可以用来保护无线网络:

更改 SSID。 无线 STA 使用 SSID 来确认无线网络。 目前没有任何方法可将其隐藏起来,使之免遭潜在攻击者发现。 您唯一可以做的就是更改 SSID,使它没有于您的公司有直接的关联。 例如,您为 IBM 工作,就不要将 SSID 命名为“IBM_WN20”。 这种技术在很大程度上只是一种迷惑,而非保护措施。

正确地配置 AP。 一定要更改默认 SSID、默认密码和 SNMP 共有字符串,并正确地关闭所有的管理接口。

不要依靠 WEP。 使用 IPSec、VPN、SSH 或其他 WEP 的替代方法。 不要仅使用 WEP 来保护数据。 您知道它并不是十分完善!

采用其他的身份验证/授权机制。使用 802.1x、VPN 或证书来对无线网络用户进行身份验证和授权。 使用客户端证书可以使攻击者几乎无法获得访问权限。

分隔无线网络。无线网络应该作为一个无线网络来对待,并与企业 Intranet 相隔离。 在 AP 和企业 Intranet 之间应该设置防火墙、包筛选器或类似的设备。 这可以避免无线网络被攻破而带来的破坏。

避免物理访问。您可以在 AP 上使用定向天线,限制信号的方向。 保护您所在的大楼或建筑物免受电子干扰。 这些方法可以保护您的无线网络和其他电子设备,但是通常需要与实际的风险进行权衡。 可以实施 MAC 地址筛选器,但是通过侦听无线网络流量,能够很容易地获得所允许 MAC 地址的列表。

现在,您可以进入下一阶段了——使用 Windows 技术为您的企业 Intranet 设计一个安全的无线网络。

返回页首

设计安全的无线网络

这一节将详细地介绍使用 Windows 技术的两种不同的安全体系结构。 这两种体系结构之间也存在一些相似性;例如,它们都依靠客户端证书,而且都在某种程度上使用 WEP。 在这里,我们假定您使用的环境中都是 Windows 2000/XP/.NET 机器,并使用 Windows 2000 域控制器来管理您的林(虽然 Windows .NET 域控制器也可完成同样的工作)。

第一种方法只是使用 IPSec VPN,而第二种方法使用 802.1x 可扩展身份验证协议 (EAP)。 这两种体系结构的目标都是保证用户的身份验证和授权,从而保护数据的保密性和完整性。

在本书的“蓝图”一章中有这两种体系结构的图示。 表 9-2 列出了每种方法的一些优缺点。

接下来,我们首先简要地了解一下 IPSec VPN 体系结构。 然后,我们将详细地介绍如何设置 802.1x 体系结构。

IPSec VPN: 简单而又安全的方法

请参考本书的“蓝图”一章,它能够帮助您描述出这里所介绍的体系结构。 基本的结构是: 无线客户端(或 STA)连接到开放无线 AP,然后由 IPSec VPN 进行身份验证,从而获得对企业 Intranet 的访问权限。

表 2 IPSec VPN 与用 EAP 的 802.1x

方法 优点 缺点 注意

IPSec VPN

控制对 Intranet 的访问
强加密
强身份验证
简单设计
较少服务器设置

无法控制对无线 LAN 的访问
扩展可能比较昂贵(更大的硬件、更多的设备)
不支持动态 WEP

IPSec 身份验证在网络层上进行。

802.1x EAP

控制对 Intranet 的访问
控制对无线 LAN 的访问
通过动态 WEP 实现的强健加密
强健的身份验证

需要更多的服务器 (CA、IAS/RADIUS、DC)
更为复杂的设计

802.1x 身份验证在数据链接层上进行。

这个情境提供了一个容易管理、安全的解决方案,并且拥有强身份验证和网络流量加密。 不足的方面是身份验证利用 IPSec 在网络层上进行,这意味着更低的层仍然没有受到保护。 基本上,无线网络将是敞开的,而只有经过强身份验证和加密才能访问 Intranet。 对于那些寻找成本较低而效果不错的解决方案的公司而言,这可能是个相当好的折衷选择。

体系结构

这个设计首先是在您的 Intranet 周边设置一台防火墙,安全地隔离无线网络。 现在,Intranet 将被认为是在防火墙“之后”。 然后,您需要决定是在防火墙上运行 IPSec VPN,还是在防火墙后的系统上运行。

您可以配置防火墙拒绝除无线端发起流量之外所有传出到无线 LAN 的流量。 当然,如果您需要访问管理接口,那么必须添加合适的规则。 这个防火墙将尽可能地减少广播流量,并阻止 Intranet 用户在无线 AP 和 STA 上闲逛。

IPSec 可以用来构建无线客户端 (STA) 和内部网络/Intranet 之间的安全关联。 用于身份验证的方法可以是 Kerberos(更容易实施和管理)或基于客户端证书的身份验证(设置较为复杂,但是更为安全)。 在我们的示例中,我们使用客户端证书进行身份验证。

身份验证、数据保密性和数据包完整性都通过 IPSec 的行业标准协议来提供,例如 IKE 和 ESP。具体内容在第 7 章中介绍。 由于 IPSec 并不保护广播流量,因此我们建议同时使用 WEP。

安全警告! 正如在第 7 章中所提到的,广播流量不受 IPSec 筛选器的影响,因此在这个方法中仍然需要使用 WEP 来保护广播流量。

L2TP/IPSec VPN

在设置 VPN 网关时,请确保客户端和网关使用强加密。 您可以将 Windows 2000/.NET 服务器作为 VPN,或选择其他供应商的服务器。 第 7 章也提到,必须使用 L2TP 来提供拥有 IPSec 的远程访问 VPN 解决方案。 在使用 IPSec ESP 时,必须包含 L2TP 头并进行加密。而外部 IP 头和较低层的头将在不加密情况下传输。

在我们编写这本书的时候,微软发布了一个公共测试版软件,允许旧版 Windows 9x/Me/NT 机器使用 L2TP/IPSec 协议。 这意味着所有的 Windows 客户端现在都可以使用安全的 VPN。 这个软件和 微软的 L2TP/IPSec 实现是基于行业标准的,因此应该能够与其他供应商的 VPN 解决方案很好地协同工作。 但是,您也许只需要在防火墙后的 Windows 2000 服务器上实现这个远程访问 VPN。 另外,微软的 L2TP/IPSec VPN 客户端软件也支持穿过 NAT。Microsoft L2TP/IPSec VPN 客户端请从下面的地址下载:http://www.microsoft.com/windows2000/downloads/tools。

注意:下面很多的内容将适用于这个 IPSec VPN 体系结构。 例如,如果您决定使用客户端证书进行身份验证,那么“证书”和“证书服务”两节的内容就适用。 同样,对于大部分 IPSec VPN 部署,“无线零配置”和有关网络策略及 Active Directory 的内容也都是适用的。

802.1x—通过 EAP 的安全身份验证

另一种强无线解决方案使用具有 EAP-TLS 的 802.1x 和机器证书来对 STA 和服务器进行身份验证。 同时这个解决方案会定期自动发送一个新的 WEP 密钥,避免一些已知的 WEP 密钥漏洞。 数据的保密性也将由这些动态 WEP 密钥来保护。

若要使用 802.1x,则需要 Internet Authentication Service 和证书颁发机构 (Certificate Authority) 来提供身份验证和授权。 有关利用 802.1x 的体系结构,请参考本书的“蓝图”一章。

体系结构

与 IPSec VPN 解决方案一样,802.1x 提供了一个通过防火墙/包筛选器隔离的独立无线网络。 在防火墙/包筛选器后是包含域控制器、证书颁发机构和 Internet Authentication Service 的网络。 您可以将这些服务放在同一台机器上,或者最好是将它们部署在不同的机器上,并准备好额外的备份或备用服务器。 实际上这取决于可伸缩性的需要。 另外,这个体系结构的目的是使用证书(计算机或用户)和 802.1x 协议,通过后端的 IAS 服务器进行身份验证,提供动态 WEP 密钥的安全性和安全的通信。

新的 EAP 密钥将定期从 AP 传输到 STA,并使用证书中包含的公钥/私钥对进行加密。 新密钥更换的频率取决于 AP 的配置。 当然,AP 必须支持动态 WEP 密钥(例如 Cisco AP 350),而客户端也必须支持动态 WEP 密钥(Windows XP 本身就支持)。 您只需要在 Windows XP 中配置无线网卡时检查从 AP 接收 WEP 密钥的选项。 您也可以设置自己的组策略,只允许某些用户访问 Intranet,而其他用户可以通过 IAS 服务器进行 Internet 访问。

WEP

您知道 WEP 不足以保护您的数据,但是如果您还记着“深度防御”原则,那么就会知道还是需要启用 WEP 的。 为了安全的配置 WEP,请采纳下列建议:

使用可用的最高安全性 如果您的设备支持 128 位 WEP,那么就请使用 128 位。 暴力破解 128 位 WEP 密钥是及其困难的。 如果您无法动态地更改 WEP 密钥,那么就设置 128 位策略,然后定期地更改密钥。 更改周期取决于无线网络流量的繁忙程度。

使用动态 WEP 密钥 如果您使用 802.1x,那么应该尽可能使用动态 WEP 密钥。 一些无线网络设备供应商也实现了他们自己类似于动态 WEP 密钥的解决方案。 在部署之前,请对这些解决方案进行评估。

注意:  使用动态 WEP 密钥能够提供更高层次的安全性,并能解决部分已知的 WEP 漏洞。 但是要使用动态 WEP,您必须购买能够提供动态 WEP 的访问点,并使用支持动态 WEP 的客户端。 幸运的是,Windows XP 本身就提供了这种支持,您可以选中 WEP 选项“自动为我提供这个密钥”。

在适当情况下使用 MIC 前面我们也提到 WEP 密钥不保护数据包的完整性。 目前,IEEE 正在开发 802.11i,修复 WEP 中的问题,并实现用于数据保密性和完整性的消息完整性校验和 (MIC)。 MIC 将生成加密数据的校验和,用于确保数据的完整性。 但是,到目前为止,还没有任何产品支持这个功能。

身份验证/授权

由于 AP 的功能有限,因此无线网络用户通常不直接向 AP 进行身份验证。 SSID 仅能够确认访问点,而不能识别连接到访问点的用户或机器。 用于身份验证和授权的信息必须通过有线网络后端的服务器进行处理。

802.1x 支持可扩展授权协议 (EAP)。 它可以与 TLS (EAP-TLS) 或 MD5 (EAP-MD5) 一起为授权过程提供高度的安全性。 无线网络用户使用证书,向 AP 后端的身份验证/授权服务器进行身份验证。 支持 EAP 的 AP 将转发来自双方的消息。 无线 STA 和后端身份验证服务器之间的通信将由用户证书和服务器证书中的公钥进行加密。

后端授权服务器(通常 RADIUS 和 IAS)对通过身份验证的用户进行授权,允许他们使用某个端口。 在无线网络中,端口意味着建立 STA 和 AP 间的关联(虚拟网络电缆)。 因此,用户必须首先向后端授权服务器进行身份验证,然后才能够使用无线网络。 在我们的示例网络中,我们将通过来自企业证书颁发机构的用户证书来进行身份验证。

证书

为了使用户能够通过证书来进行身份验证,必须建立能够生成“用户”证书的证书基础结构。 实际上,机器证书也是可行的。 选择将授权与机器帐户或用户帐户结合在一起完全取决于您自己。 在这里,我们将同时讨论这两种类型的证书。 如果您还没有安装第三方 CA,那么可以安装在 Windows 2000 Server 可用的证书颁发机构服务。 请确保完成下列任务(假定 CA 和 IAS 在同一台机器上):

生成企业根证书。

生成具有私钥的计算机证书和用户证书。

检验计算机证书是否包含计算机的 FQDN 名称。

检验计算机证书是否安装在本地计算机

的证书存储中。

检验用户证书是否安装在本地用户证书存储中。

检验根 CA 证书是否安装在可信根证书颁发机构存储中。

您也可以使用组策略来自动执行这些功能。 在完成上述任务后,您可以允许用户使用这些证书(用户或计算机)来进行身份验证,通过 802.1x 与 Intranet 进行通信。

正如在第 5 章中所提到的,安全分发证书的方法是向用户发放智能卡,并在证书服务器上启用自动注册。

无线零配置

对于我们这里所介绍的方法,无线零配置是必须的。幸运的是,Windows XP 本身就支持这个功能。 无线零配置指的是 Windows XP 能够使用 AP 广播的信息来自动地配置客户端。

注意:通常,我们建议在基线构建中关闭“无线零配置”服务。 但是,可以根据需要启用或关闭这个服务。而在此示例中,则必须打开这个功能。

若要启用无线零配置,只需打开“网络连接”,选择无线网络连接的“属性”。 然后,单击“无线网络”选项卡,选中“使用 Windows 来配置我的无线网络设置”选项,如下图所示。 在我们编写本文时,这一功能还并不适用于所有的无线网卡。 例如,如果您使用基于 Prism II 芯片的网卡(由 Linksys、SMC、D-Link 和其他 OEM 供应商制造),那么需要额外的工作才能使这些设备在 Windows XP 下正常工作。


图 1: 在 Windows XP 中启用无线零配置
查看大图。

身份验证

正如我们多次提到的,您需要证书来对用户进行身份验证。 在本节中,我们将介绍配置证书服务器及其他相关服务的主要步骤,以构建您自己的身份验证基础结构。 首先,我们从 Windows 2000 Server 上的证书服务开始。 接着,我们将讨论如何利用 Interent Authentication 来实现基于 802.1x 的安全性。 最后,我们将讨论 Active Directory 的配置和其他策略问题。

证书服务

我们将首先了解证书服务的安装以及如何为用户生成证书。 然后,我们将介绍如何导入和导出这些证书。 最后,我们将讨论如何使用证书进行身份验证。

安装证书服务

通常,若要在 Windows 2000 Server 上安装证书服务,请进入“控制面板”、“添加/删除程序”和“添加/删除 Windows 组件”,然后选中“证书服务”复选框。 选择这个 CA 为您企业根 CA。 输入合适的名称和信息,用于标识您所在的公司。 在安装了证书服务后,您可以为企业生成一个根证书,这个证书将成为以后任意其他证书的根。 安装过程可能比这要复杂一些。 我们建议您阅读有关设置证书服务的 微软文档和白皮书。

生成证书

您可以让用户申求证书来直接生成证书。证书的生成可以通过“证书”MMC 管理单元或通过 Intranet http://your_ca/certsrv 来完成。

您仍然需要一个文件形式的用户证书公钥副本(不需要私钥),用于映射证书和相应的用户帐户。 这是因为您将需要把这个证书关联到 Active Directory 中的用户或计算机帐户。 若要完成这个任务,只需要打开“Active Directory 用户和计算机”管理单元,选择“用户”,然后右键单击这个用户帐户,单击“名称映射”。 将保存的用户证书映射到这个用户帐户。

注意:  为了使“名称映射”可用,必须首先在“查看”菜单中选择“高级功能”。

导入证书

在证书生成后,您必须通过某种方法将它传输给用户。 如果用户从“证书”MMC 管理单元或 CA 的 Web 接口生成证书,那么用户应该完成导出工作,并向您发送证书公钥。

如果您为用户生成证书,那么您可以从 CA 的证书存储中导出证书,然后保持为文件。 然后,用户将需要将这个文件导入到他们的 Windows XP 计算机中。 若要完成这个工作,他们只需右键单击这个证书文件(假定它是用于个人信息交换格式的 .pfx 文件),选择“安装 PFX”,如图所示。

如果证书是通过组策略生成的,那么您可以从服务器上进行查看(或从任意“证书颁发机构”MMC 管理单元),然后使用“复制到文件”按钮启动“导出向导”。

作为用户,您可以选择一个密码来保护您的私钥。 在需要使用证书进行身份验证时,系统都会提示您输入密码,并使用这个密码来解密私钥,然后对信息进行加密/解密。 您也可以导出私钥,用于备份——但是管理备份证书的安全性可能会失控。 下图显示了使用密码对私钥的保护。


图 2: 选择一个密码来保护私钥
查看大图。

接下来的工作是把证书保存到当前用户的证书存储中。 您可以接收默认选项,自动允许软件为您选择一个证书存储,如图所示。


图 3: 自动选择保存证书的证书存储
查看大图。

这便大功告成。 现在您在计算机上拥有了一个用户证书。 如果您希望自动地安装计算机证书,几乎可以使用同样的步骤,只是需要将证书导入到本地计算机的证书存储,而不是用户的存储。

配置具有 EAP 的用户证书

在安装了证书后,您已经做好了对无线网络进行身份验证的准备。

虽然在本章最后我们才会讨论 IAS 的设置,但是在这里我们将假设您已经配置好了 AP 和 IAS。 现在,第一步是打开无线网络连接的“属性”。 您应该能看到您首选的网络。 然后单击“身份验证方法”选项卡;您将发现 802.1x 是默认启用的,如图所示:


图 4: 为无线客户端启用的 802.1x
查看大图。

在“EAP 类型”中,选择“智能卡或其他证书”。 您也可以单击“属性”按钮,然后选择“使用计算机上的证书”和“检验服务器证书”。 这些选项将允许您执行与服务器间的双向身份验证,以避免前面提到的 MITM 攻击。 如果您选择了这些选项,那么还应该选择可信的域名和可信的根证书颁发机构。

现在,您已经做好了通过 802.1x 和 IAS 进行身份验证来使用无线网络的准备。有关 IAS 的内容将在下一节中介绍。

Internet Authentication Server

要使用 802.1x 身份验证,您需要在 Windows 2000 Server 上设置 Internet Authentication Server (IAS)。 这是因为 IAS 针对远程访问提供了身份验证和授权服务。 (有关网络体系结构,请参考本身的“蓝图”一章。)

首先您通过“控制面板”中的“添加/删除程序”来安装 IAS。 然后在“添加/删除 Windows 组件”,选中“网络服务”,然后单击“详细内容”,并选中“Internet Authentication Service”复选框。 安装 Service Pack 2 并应用修复程序 304697(在本文编写的时候)。 在安装了 IAS 后,您需要决定该服务应该处于网络体系结构的哪个位置。 在我们的示例中,您可以选择拥有一台处于 Intranet 外的独立域,或使用 IAS 作为您当前的域。 在做出这个决定后,执行下列任务:

在 Active Directory 上注册 IAS,使得 IAS 能够读取 Active Directory 中的对象。

打开文件日志,用于记帐和身份验证事件。 这些信息可能在疑难解答时会起到作用。

使用“Internet Authentication Service”管理单元,将 AP 添加为 IAS 的一个客户端,并配置 AP 和 IAS 之间的共享秘密。

使用这个管理单元来创建一个远程访问策略。

如果希望增强无线网络服务的生存能力,可以设置一个备份 IAS 服务器。

现在,IAS 可以处理来自无线网络用户的请求,进行 802.1x 身份验证。

Active Directory 和身份验证

Active Directory 管理着“林”中的所有对象,使得您能够在“域”级别和“组织单元”级别上应用策略。 因此,它是 Windows 技术中至关重要的一个组件。 对于我们基于 802.1x 的安全性方法,您将必须在安装具有 Service Pack 2 的 Windows 2000 Server 域控制器后应用修补程序 306260 和 304347,或者您可以安装 Service Pack 3。至此,您已经做好了部署安全无线网络的准备。

接下来,您需要完成下列工作:

为从无线网络访问 Intranet 或 Internet 设计不同的组和组织单元。 例如,可以拥有一个名称为“Wintrausers”组,用于允许访问 Intranet 的用户,另外拥有一个“Winteruser”的组用于允许 Internet 访问的用户。

确保每个无线网络用户至少属于一个组。

确保每台计算机都拥有一个计算机帐户。

确保每个用户帐户都映射到响应的证书。

如果允许用户使用无线网络,那么则应授予其远程访问权限,这是“拨入”选项卡中的一个选项。

在第 10 章中,我们将更详细地讨论 Active Directory。现在唯一没准备好的只剩策略了。 下一节,我们将介绍应该为无线网络用户设置哪些策略。 要记住,如果策略与公司的要求不符,那么它们是没有任何用处的。

无线网络策略

如果我们要为安全网络做出一个唯一的建议,选择是使用 IPSec VPN 还是 801.x 基础结构,那么我们的建议将是同时使用这两种方法。 最好的解决方案可能是结合这两种体系结构一起使用。 这将意味着您的无线网络能够通过 802.1x 身份验证保护较低的数据链接层,而对公司 Intranet 或 Internet 网关的访问则在网络层由 IPSec VPN 进行身份验证和加密。

在我们讨论具体的策略,在您设置自己的策略之前,先向自己问两个问题: 这些策略的目标是什么?我们如何强制实施这些策略? 没有强制实施的策略是毫无意义的。

配置重要的策略

为了设计优秀的网络访问策略,您需要考虑“4W1H”规则: 谁、何处、何时、什么以及如何。 需要配置下列策略:

根据用户或计算机身份来限制访问(例如,Joe 能够访问,而 Jane 则不允许访问)。

用户所属的域或组(例如,建立 Wireless_Intranet 和 Wireless_Internet 用户组和组织单元)。

希望在何处限制连接,防火墙后的身份验证服务应该只允许来自 AP 的连接。

用户何时能够访问资源,您希望用户能够访问哪些内容: 仅限 Intranet、仅限 Interent,或两者均可?

如何保护网络流量: 使用动态 WEP、IPSec,或没有任何保护?

在确定需要哪些限制并转换成策略后,就可以在 Active Directory 中对它们进行定义了。

定义 Active Directory 组策略或 IAS 策略

您可以在 Active Directory 或 IAS 中定义组策略来控制各种各样的事情,包括

无线网络 (802.11) 配置

IPSec 策略

用户帐户

远程访问权限

EAP 类型

访问时间

身份验证方法

加密等级

请确保您很好地设计了这些策略,并且充分地利用 Windows 2000 和 Windows XP 的各种功能。 在 Windows .NET 中有一个新的组策略设置,称为“无线网络 (IEEE 802.11)策略”。 您可以使用这个设置来配置 Windows XP 计算机的无线客户端设置(例如 802.1x 和首选的 SSID 网络),然后将这个设置应用到无线计算机的整个组织单元上。 在编写本书时,创建这些策略并在 AD 中实现需要一台 Windows .NET 域控制器。

另外,请记住将这些 Windows XP 特定的 GPO 设置应用到仅包含 Windows XP 计算机的组织单元。 (在大多数情况下,应为 Windows 2000 和 Windows XP 计算机创建不同的 GPO,如第 11 章中所述。)

返回页首

探索工具

在本章中,我们已经讨论了很多无线网络存在的安全问题。 在这里,让我们介绍一些可以用来保护和测试无线网络的工具。

AiroPeek

WildPackets 的 AiroPeek(可以从 http://www.wildpackets.com 获得)是一种针对无线网络的商业窃听器。 它使用我们前面所介绍的被动技术来识别无线网络。

NetStumbler

NetStumbler 是一个免费的公众工具。 它在 Windows 平台上运行。 在本章的“对无线网络踩点”一节中,我们讨论了识别无线网络两种不同的方法。 NetStumbler 使用主动方法: 发送具有空 SSID 的“探测申请”,期待 AP 使用它自己的 SSID 进行响应。 您也可以在计算机上连接一个 GPS 设备,这样 NetStumbler 将能够读取信号,确定 AP 的坐标。 实际上,很多人使用这些信息来建立公共可用 AP 的数据库。 下图显示了一个运行中的 NetStumbler。


图 5: NetStumbler
查看大图。

.NET Wireless Monitor

Wireless Monitor(无线监视器)是在我们所用的测试版 Windows .NET 服务器中添加的新功能。 希望它能够在最终版本中出现。 这个功能能够监视两个目标: AP 和客户端。 为了监视 AP,这个无线监视器的工作原理类似于 NetStumbler,它保留使用 SSID 进行响应的 AP 的相关记录。 另外,这个无线监视器也捕获有关信号强度的信息。 在客户端,无线监视器能够显示无线网络客户端所执行的操作。 这里所指的操作包括“探测”、“关联”、“身份验证”或其他在标准中定义的相关操作。 这是一个很好的功能,能够帮助您判断无线网络中存在的问题。 要使用这个工具,请打开 MMC,添加无线监视器管理单元。

返回页首

核对清单:无线安全性

在本章中,我们介绍了多种无线技术,并着重描述了如何使用 IPSec 或 802.1x 身份验证来设计安全无线网络。 您也可以结合 802.1x 和 IPSec,创建更佳的设计,当然也会更为复杂。 正如您所了解到的,贯穿本章的关键词是“身份验证”和“加密”。

您应该知道在无线技术领域中 Windows XP 支持的一些特性,并密切关注 IEEE 802.11b 无线网络 (Wi-Fi) 中存在安全问题。 本章为规划处理和实现无线技术提出了很多问题和解答,并介绍了在无线环境中保护 Windows XP 的步骤。

我们还举例说明了两个可以单独作安全无线网络解决方案使用的方案,两者的结合能够创建更为强健的解决方案。 基于 802.1x 身份验证构建的网络将在数据链接层保证授权的访问,同时 IpSec 将在更高的网络层上提供更强的身份验证和加密。

在设置 WLAN 之前,首先回答下面几个重要的规划问题: 您是否确实需要一个无线网络? 其用途是什么?

了解 Windows XP 对无线技术的支持

了解 802.11b/Wi-Fi 当前的安全问题。

了解可以在无线网络上进行的攻击类型: 主动和被动攻击、WEP、身份验证、客户端和 DoS。

确定是否将 IPSec 或 802.1x 用于客户端身份验证(或同时使用两种技术)。

若要将 IPSec 用于无线安全,请设置一个 IPSec 网关,将无线客户端连接到具有强身份验证和加密的 Intranet。 这个网关可以在周边防火墙后或作为防火墙的一部分。

若要使用 802.1x 来保护无线网络,请使用最强的密钥(128 位)设置动态 WEP,在适当的情况下使用消息完整性校验和 (MIC),并使用客户端证书进行身份验证。 用 RADIUS 和 IAS 配置服务器,以用于后端身份验证,并使用证书服务器来创建和管理客户端证书。 为客户端的无线卡使用无线零配置。

使用 IPSec 或 802.1x: 物理保护您的 AP。 良好地配置 AP,更改 SSID 和默认设置(SNMP 字符串和用户名)。 保护无线客户端(参考本文其他部分的内容,加强 Windows XP 客户端操作系统)。 使用 AP 和有线网络之间的防火墙来隔离无线网络——不允许 Intranet 的有线用户在管理接口上闲逛。

指定用于无线网络的策略: 为从无线网络到 Intranet 或 Internet 的访问设计不同的组和组织单元。 强制实施 IPSec 和 802.1x 使用组策略。