扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今 天我们将介绍Protected Extensible Authentication Protocol (PEAP) Authentication,这是一种基于密码的验证协议,可以帮助企业实现简单安全的验证功能。
受保护的可扩展身份验证协议 (PEAP) 认证,是一种基于安全密码的认证协议,可以实现简单而又安全的身份验证功能。虽然PEAP也可以用于有线网络环境,但是一般来说,主 要用于无线局域网环境的网络接入保护(NAP)甚至Vista系统中的VPN认证。 虽然市面上还有一些验证协议可以实现与PEAP类似的功能,比如Funk Software的EAP-TTLS ,但是由 于PEAP与Windows操作系统的良好协调性,以及可以通过Windows组策略进行管理的特性,使得PEAP在部署时极其简单。
为何选PEAP而不是其它商业验证协议
在非Cisco设备领域,PEAP拥有了相当规模的市场占有率。同时,由于LEAP协议的安全性较差,不少Cisco用户也选择了使用PEAP进行用户验证,尤其是在企业无线局域网市场, PEAP的应用比例更是远远高出其他竞争对手。最近有些Cisco用户开始使用新的Cisco EAP-FAST 协议 ,但是这个协议的安全性并不比LEAP强多少,而且部署相当困难。更糟的是, 很多老型号的Cisco无线设备都不支持Cisco EAP-FAST协议,但是却可以支持PEAP协议。由于PEAP可以兼容几乎全部厂商的全部设备,可以为企业提供至关重要的“设备级验证”功 能,同时可以在活动目录中自动部署(仅在微软的Windows XP/Vista PEAP客户端中。),因此对于企业来说,PEAP是一个最佳的验证协议。这里需要解释的是,我并没有劝大家不 要使用Cisco的硬件产品,因为我本身就对Cisco的硬件可靠性非常满意。我只是建议大家使用更通行的协议,实现最佳的灵活性、兼容性、稳定性以及更方便部署。
PEAP和PKI
公开密钥基础结构(PKI)是公开密钥加密方法(PKC)中的一个组件,采用了数字证书 (x.509 format) 和证书验证方法。PEAP使用PKI来确保用户验证过程不会被黑客或恶意人员 截获和破解,这与SSL采用PKI来确保网站或其它敏感网络应用在数据交换过程不被截获并破解的目的是一样的。
虽然从OSI模型的角度来看,PEAP和SSL分别属于不同的等级(第二层和第五层),但是这两种方式都是依靠服务器端的数字证书来进行密码交换,进而启动一个安全的加密线程 ,就算整个过程在黑客的监视下进行,也可以确保足够的安全性。这个安全线程不仅保护了密码交换,更重要的是可以保护用户的密码验证线程。
PKI模式采用一个简单的数字文档作为确定拥有者身份的数字证书,实现安全的密码交换。数字证书本身并没有什么价值,而当这个证书被一个被称作证书授权(CA)的受信机 构签名后,就具有了证明身份的作用。为了让CA能够被客户(诸如采用SSL连接进行网络购物的笔记本或台式机)所信任,客户端的证书信任列表(CTL)中应该安装包含有该CA公 钥的“root certificate”,即该CA的根证书。
目前所有主流操作系统中,都预装了包含可信CA根证书的CTL,这也就是为什么诸如VeriSign这样的公司有权利给全球的服务器颁发证书。采用VeriSign这样具有公信力的认证 机构来建立PKI是一件非常简单的事情,因为该证书已经被几乎所有的电脑以及PDA设备所接受,但是服务器证书的费用每年可能会有数百美元。采用EAP-TLS和CA结合的办法成本更 高,因为你还需要每年为每个客户支付60美元的数字证书费用。
商业的CA公司还可以为个人提供签名服务,如果你有足够的相关知识和客观条件,可以拥有自己的数字证书,并可以建立自己的CA。这就是为什么很多企业不愿意考虑建立自己 的CA系统,也不愿意每年花300美元获取大型CA公司提供的证书。这也是很多企业选择LEAP并幻想着可以通过强壮的密码弥补LEAP的安全弱点,达到与PEAP相同的安全防御效果。从 我的实际经验看,要说服这些企业采用PKI绝不是一个简单的任务。而为了让大家的工作更轻松,在这里我将教大家如何避免采用商业或者公众的CA公司,而是通过自签名的数字证 书实现安全的无线局域网。
验证服务器请求
要应用PEAP,企业需要首先建立一个RADIUS验证服务器。实现这一任务的方法很多,比如采用Microsoft Windows Server 2003 SP1或带有IAS的Windows Server 2003 R2,第三 方的RADIUS服务器可以选用Funk Odyssey,实现在非Windows环境(如Novell)下的RADIUS服务器,另外还可以选择开放源代码解决方案,比如FreeRADIUS 。Windows Server 2000 也带有IAS,但是仅支持EAP-TLS验证,不支持PEAP验证。
要实现PEAP,RADIUS服务器必须有服务器端的x.509数字证书。 这个证书可以从第三方的CA机构获取,比如VeriSign,或者从企业内部的CA机构颁发。这两种方案在传统意义上 都是可行的,但是对于小型企业来说并不现实,因为小型企业不愿意每年花300美元购买第三方认证机构的证书,公司里可能也不会有一个PKI CA服务器。为了解决这个问题,一个 最佳的方式就是在RADIUS服务器上采用自签名证书。要安装 Microsoft IAS。
PEAP的硬件和软件需求
每个企业级的无线接入点都支持与WPA/WPA2 EAP类型兼容的RADIUS验证,包括PEAP验证。Cisco的接入点支持专用的验证协议,即Cisco LEAP 和EAP-FAST,但是其它非Cisco的 接入点并不支持这些协议。因此我并不建议你采用这些协议。Cisco则将其专用的验证方法称为“Network EAP”,而将开放的验证方法称为“Open EAP”。从客户端硬件设备的需 求来说,任何支持Windows Wireless Client的设备都支持PEAP验证,而大部分Wi-Fi适配器都属于此类产品。
目前的Windows Mobile和CE系统都已经支持PEAP验证了。Windows XP Wireless Client也在SP1中加入了对PEAP的支持,并且在SP2中加强了这一功能。针对Windows XP甚至还推 出了WPA2升级。而Windows Vista则包含了Wireless Client的全部功能。
Windows 2000 Service的最后一个补丁也加入了对PEAP的支持,但是WPA级别的TKIP或AES并没有被加入,同时用户也不能通过Windows 2000的组策略编辑器控制Wireless Client。你可以从这里获取针对Windows 2000的免费WPA客户端,而且各种Wi-Fi适配器也都带有自己的支持WPA的Wireless Clients。但是只有Windows XP和Vista下的无线客户端 才可以通过活动目录组策略进行集中化的控制。通过本系列的其它文章,你可以学习如何通过组策略手动配置Windows XP的Wireless Client,以及如何通过组策略自动配置 Windows XP和Vista的Wireless Client。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将向大家介绍轻量级可扩展身份验证协议 (LEAP)的有关知识。LEAP是 Cisco Systems公司开发的专用协议,用来解决WEP中存在的诸多安全问题。
2000年底,Cisco为了解决WEP协议中存在的诸多安全漏洞,开发了一套专用的EAP(可扩展身份验证协议)协议,这套协议被称作LEAP(轻量级EAP)。一年后,针对802.1x无线局域网环境的LEAP验证协议在企业市场占领了相当大的份额,这使得第三方的无线网络产品或集成的无线网络适配器受到威胁,因为这些产品都不支持Cisco专用的ACU(Aironet客户端程序)。
到了2004年,Cisco宣布大约占领了60%的企业无线局域网市场,而同年根据Nemertes公司的调查显示,46%的企业IT管理者表示他们正在使用LEAP协议。之所以举出了这些数字,是因为LEAP的使用范围如此巨大,但是它本身却还存在着大量的安全漏洞,而安全正是企业在部署无线局域网是最担心的事情。更令人担心的是,采用LEAP协议的企业中,很少有企业能够针对LEAP的漏洞采取补救措施。
LEAP的不足
从理论上讲,LEAP的弱点从一开始就存在了,因为它本质上就是一个增加了Dynamic Key Rotation(动态密码交替)和Mutual Authentication(互验证)功能的增强版本的EAP-MD5。由于EAP-MD5当初并不是针对一个不受信的无线网络环境设计的,而是针对一个带有一定等级的物理安全屏障的有线网络环境设计的,因此LEAP一开始就不应该被用于无线局域网身份验证任务。
LEAP的基础也很薄弱,它本身无法抵御离线的字典攻击。因为它只是单纯的依靠MS-CHAPv2(Microsoft Challenge Handshake Authentication Protocol)来保护用于无线局域网身份验证的用户证书。在安全领域,MS-CHAPv2的不足是人人皆知,因为它并没有在NT hashes中使用SALT,而是采用了2字节的DES密钥,而且用户名竟然是采用明文形式发送。正因如此,离线的字典攻击或者类似的暴力破解可以采用一个超大的字典库(4GB)对该系统进行有效的破解。而人们原本以为强度很高的密码,在LEAP系统上完全失去了优势,有些密码几分钟就被破解出来了。
对于LEAP的漏洞,Cisco的官方态度多年来都没有变化,即只要企业使用足够强度的密码,并且保证企业内的电脑不会试图进行离线的字典攻击或暴力破解,就可以保证网络安全。虽然从技术角度讲,这些说法也没有错误,但是很少有企业拥有有效的密码强制策略,迫使用户都采用高强度的密码:至少10个字符,包含随机的大小写,数字以及特殊字符。
实际情况是,大部分企业的密码都没有达到Cisco建议的强度,很多企业的用户密码都能在几天内被破解,有些甚至几分钟就被破解了。而那些拥有严格的密码策略的公司,则会出现员工将密码写在便条纸上,粘在显示器边框上的情况,因为定期更换的高强度密码实在是太难记住了。目前,我们已经进入到一个计算机性能超出普通人能力的时代,尤其是在对复杂密码的记忆方面。
因此对于企业来说,需要一个验证协议,可以保护那些强度并不太高的密码,从而方便用户记忆。但是,虽然LEAP从一开始就带有一个强大的验证协议,但是很少有企业部署该协议,认为有了LEAP就足够了。如果忽视了这一点,企业就只好靠强壮的密码策略来保护自己了。而问题的复杂性在于,传统上认为的强壮的密码,对于如今一些先进的破解工具(如ASLEAP)来说,也是不堪一击的。大部分企业对此却一无所知。
实际威胁
虽然Cisco连续两年表示LEAP有足够的安全性,但是有关LEAP漏洞的理论最终还是成为了现实。这要感谢一位叫做Joshua Wright的黑客,他开发的专门针对LEAP网络的ASLEAP可以让没有黑客技术的人也能成功破解采用LEAP协议的无线局域网。有鉴于此,Cisco不得不表示,如果企业无法或者不愿意采用高强度的密码策略,那么最好不要采用LEAP。
对于一个普通的黑客来说,使用一台普通的电脑,只需要数分钟就可以攻破大部分采用LEAP验证方式的企业无线局域网而不会被发现。这是因为攻击的过程完全是被动的,并且采用离线方式进行。更糟糕的是,由于大部分LEAP是与RADIUS服务器结合的,用户名和密码很可能与Windows Domain Authentication相同,或者与企业的其它数据库登录密码相同。这意味着黑客不仅可以轻易的进入企业的无线网络环境,还可以根据所破解的用户名和密码直接访问企业的关键数据和应用程序。
这种结果比不采取任何加密措施更糟糕,因为这种LEAP攻击同时破坏了网络和用户证书。如果你对此还存有侥幸心理,可以了解一下ASLEAP的主要功能(来自ASLEAP的网页):
◆破解薄弱的LEAP密码
◆RFMON模式下读取来自任何无线网络接口的活动信息。
◆监视单独的信道,或触发频道跳转以便察看目标
◆在LEAP网络中取消用户的验证,迫使用户重新进行验证。这种方法可以快速捕获LEAP密码
◆只选中使用LEAP验证方式的用户。
◆读取libpcap文件,或者AiroPeek NX文件 (1.X 或 2.X 文件)
◆使用动态数据库表和索引,实现快速查找大型文件。将搜索时间缩短到0.0015%。
◆仅将LEAP交换信息写入libpcap文件。这一功能可以截获一些存储空间较小的设备(如iPaq)的LEAP证书,然后将这个LEAP证书存放在存储空间较大的系统的libpcap文件中。
◆在Windows系统下由于驱动问题,某些功能受到限制。希望能尽快完善。
如果你认为Joshua Wright开发这套工具是不道德的行为,那么我还要告诉你,Joshua Wright一直都表示,当Cisco开发并发布了针对LEAP漏洞的解决方案,那么他将马上收回ASLEAP。事实上,并不是ASLEAP的出现才暴露了LEAP的不足,在ASLEAP发布前,只要有一定的黑客基础,都可以攻陷LEAP网络。
2004年4月,Cisco发布了EAP-FAST,接着Wright先生发布了ASLEAP。不幸的是,大部分大型企业甚至还没来得及对这一新协议进行评估,因为对于大型企业来说,进行整个企业范围的协议变更是相当麻烦的事情。所以全球企业都面临了一个严重的问题:黑客已经拥有了攻击LEAP网络的强大武器,但是却很少有企业已经迁移到更安全的EAP协议,比如PEAP。
从黑客的角度讲,LEAP比理论上安全性更差的WEP更容易成为黑客的攻击目标,因为你只需要攻击WEP网络十分之一的时间来攻击LEAP,就可以获得比前者多一倍的成果。具有讽刺意味的是,对一个标准的WEP无线网络进行攻击,你会发现你需要整天坐在电脑前收集上百万条数据包。虽然理论上可以在半个小时内破解WEP,但是一般来说,没有10个小时,你很难成功。
相反,如果使用ASLEAP攻击LEAP,则只需要数分钟就可以成功。因为你可以将某个用户踢下网络,然后监视他的重新登录的过程,然后立即进行密码破解。在最糟糕的情况下,一个黑客也能在几分钟内记录到企业无线网络的LEAP认证线程,然后回家将信息存入性能更强的台式机上,通过巨大的字典库对收集到的信息进行暴力破解。一觉醒来,电脑上就会列出一系列用户名和密码明文。实际上,由于ASLEAP可以在普通的台式机上实现每秒4500万密码匹配,因此整个破解过程根本不需要一夜的时间。
LEAP的替换产品
在LEAP开始流行的时候,另一个更古老的EAP,即EAP-TLS (传输层安全)也开始快速发展。由于EAP-TLS并不依赖用户密码,因此这种协议可以很好的防止密码攻击。EAP-TLS所依赖的是服务器端和用户端的证书交换验证,以及安全密钥交换。不幸的是,这种方式需要企业在服务器端部署PKI(公钥架构),这对于不少企业来说是个麻烦。
最后,Funk Software与Certicom合作推出了一个新的IETF标准,称为EAP-TTLS(隧道传输层安全)。EAP-TTLS只需要验证服务上的数字证书即可,而客户端不再需要数字证书,这大大降低了该方案的部署难度。
与之类似,微软,Cisco和RSA合作,推出了一个“轻量级”的EAP-TTLS,也就是PEAP。PEAP本质上与EAP-TTLS类似,同样可以降低身份验证过程中对客户端的需求。随着技术的发展,由于Windows XP Service Pack 1中集成了PEAP客户端,因此PEAP日益成为一个主流的无线网络安全协议,而Funk的产品也可以支持PEAP了。
也许有人会问,为什么企业没有全部采用PEAP验证,从而避免被攻击或者避免用户证书和敏感数据的丢失。这个问题很复杂,一方面是企业对于安全方面不够了解,另一方面是Cisco的大力宣传让企业认为LEAP是足够安全的。另外,很多企业不愿意在验证服务器上安装数字证书,因为这需要他们每年向公众的CA机构缴纳300美元费用,企业也不愿意自己在企业内部安装一个PKI。不管原因如何,目前确实仍然有大量的公司的无线局域网在使用LEAP验证,而等待他们的很可能就是黑客攻击。对于不断出现的LEAP遭到攻击的情况,Cisco最终表示建议用户安装基于PKI的PEAP以及所为“免PKI”的EAP-FAST协议,而后者在安全性上的问题也并不少。
对于LEAP的总结
对于企业无线局域网来说,Cisco LEAP验证方式确实是一个很大的安全威胁。一般人们对于无线局域网安全性的关注都集中在安全加密组件方面,而忽视了验证组件的安全。如果你的企业正在使用LEAP,这篇文章也许会让你决定将网络认证协议从LEAP迁移到PEAP, EAP-TLS, 或者EAP-TTLS。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。今天我们将向大家介绍Flexible Authentication via Secure Tunneling Extensible Authentication Protocol Method (EAP-FAST),即通过安全隧道灵活验证的EAP方式 。
在ASLEAP的威胁下,Cisco不得不开发了新的通过安全隧道灵活验证的EAP方式,即EAP-FAST协议,并将其提交给了IETF。根据 Cisco的市场销售宣传,EAP-FAST是一个“像PEAP一样安全,像LEAP一样方便”的协议。EAP-FAST可以像PEAP那样建立一个安全的加密通道,保护验证线程中的用户证书传递,而不需要客户端甚至服务器端具备PKI。我见到这种宣传语的第一个自然反映就是怀疑。当然,其它一些方法,比如安全密钥加密,也可以实现不需要PKI的安全密钥交换,但是还没有一种方法可以简单的实现大范围的部署。难道EAP-FAST真的可以实现这一突破么?
EAP-FAST阶段
EAP-FAST在普通操作模式下和PEAP类似,有两个主要阶段。第一阶段是建立一个安全的加密隧道,第二阶段是通过 MS-CHAPv2线程在验证服务器上对客户端身份进行验证。由于 MS-CHAPv2是一个相当脆弱的协议,通过字典攻击很容易被破解,因此第一阶段建立的安全加密隧道为MS-CHAPv2线程提供了一个安全的环境。与PEAP不同的是,EAP-FAST采用PAC(受保护的接入证书)来建立隧道,而PEAP则是采用服务器端的数字证书建立TLS隧道(与安全的Web服务器工作方式类似)。验证服务器的EAP-FAST Master Key会为每个用户提供一个特殊的PAC文件。而配发这个PAC的过程可以被认作是“阶段0”(也就是自动提供),或者通过其他一些方式,比如通过移动存储设备传输,通过管理员建立的共享文件夹,或者有用户限制的共享文件夹。
市场vs现实
如果仔细阅读Cisco提供给IETF的EAP-FAST协议草案,不难发现,EAP-FAST与Cisco的市场宣传还是有比较大的出入的。虽然从技术上说,EAP-FAST“可以”和PEAP一样安全,也“可以”和LEAP一样简单,但是Cisco的市场宣传并没有指出,用户不可能鱼与熊掌兼得。
事实上,为了让EAP-FAST达到与PEAP相同的安全级别,它必须采用在“阶段0”采用“服务器端验证的Diffie-Hellman模式”,即需要服务器端的数字证书。如果看过本系列的前几篇文章,你就会知道,对于服务器端数字证书的需求是很多用户放弃PEAP的主要原因。虽然Cisco表示采用PAC方式并不需要服务器端的数字证书,但是近乎手动实现的PAC文件配发,其中的不确定因素更多。另一方面,虽然EAP-FAST PAC参考机制可以通过安全的方式自动提供密钥 ,但它仅限于维护PAC,并不能解决首次的PAC文件发布问题。
为了要实现如LEAP般的简单,EAP-FAST必须在“阶段0”采用匿名的Diffie-Hellman模式。而匿名的Diffie-Hellman密钥交换意味着用户并不知道交换的另一端到底是谁。在这种情况下,黑客可以假装成阶段0的接入点和验证服务器,然后等待对此毫不怀疑的用户进行阶段0的连接,接收用户以明文发送的用户名和经过哈希计算的密码。由于服务器是伪造的,因此服务器必定无法响应,此时阶段令0会被用户放弃。不过这时候黑客已经获取了足够多的MS-CHAPv2线程的信息了,他只需要使用ASLEAP进行离线的字典攻击即可。由于大多数用户的密码不够强壮,因此很快黑客就可以获取到用户的证书并成功进入企业无线局域网。
根据EAP-FAST IETF草案的说明,一旦出现这种情况,用户应该立即更换密码。但是EAP-FAST客户端对此并没有明确的提示,也没有自动警告用户和管理员,或是强制进行密码修改。虽然这种比较便利的EAP-FAST方式在自动配发PAC是会出现漏洞,但是起码有两个因素使得他比LEAP要更安全一些。
◆首先,PAC文件的发布只会执行一次,用来建立服务器和客户端的PAC。之后建立的EAP-FAST线程都会绕过“阶段0”。而LEAP则是每次都要面临风险。每次用户在与radius服务器进行无线局域网接入验证时,都会出现类似的风险。
◆其次,就在在阶段0的匿名Diffie-Hellman模式下,黑客如果要攻击必须采用主动方式,这就会暴露黑客的行为。而LEAP的攻击要相对隐蔽。
虽然与LEAP相比进步很大,但是EAP-FAST的安全性仍然不如EAP-TLS, EAP-TTLS,或PEAP。不过EAP-FAST的验证线程速度较快,因为它采用的是对称加密,而不是EAP-TLS, EAP-TTLS,或PEAP所采用的非对称加密,但是这这种速度优势并没有什么实际意义。我曾经使用一款266 MHz PDA进行PEAP验证测试,这是能采用EAP验证协议的最低端配置,但是我并没有感觉PEAP验证速度有任何延迟。我觉得,如果用户使用笔记本进行PEAP验证,与EAP-FAST验证相比,速度可能仅仅会延迟几个毫秒。我所关心的另一个问题是部署的速度,在这方面EAP-FAST依然处于劣势。
EAP-FAST部署问题
根据宣传,EAP-FAST是“像LEAP一样简单”的,但是事实上并非如此。根据Cisco自己的EAP-FAST开发指南 ,用户不应该完全依赖PAC文件自动配发,因为这会给黑客的主动型攻击提供机会。
注意:由于阶段0的PAC配发是通过MS-CHAPv2验证进行防护的,而MS-CHAPv2很容易遭受字典攻击,因此我们建议您在首次部署EAP-FAST时尽量少用自动发布功能。在大范围部署EAP-FAST后,应该采用手动配发PAC方式,以确保PAC的最佳安全性。
根据这些信息,我们可以发现,EAP-FAST的部署并非一帆风顺。用户最终还是会回到手动配发PAC文件的地步,以确保整个系统的安全性。而合法用户也必须要承担维护网络安全的责任,因为谁都不愿意看到多个用户使用一个相同的PAC登录。
读过了Cisco文档中的手动PAC配发章节,对于安全的部署EAP-FAST的工作量,我们就更吃惊了。根据我多年来部署EAP-TLS和PEAP的经验,我可以肯定的告诉大家,安全的部署EAP-FAST,通过手动方式实现PAC配发,绝对是部署安全验证项目中的一件最重的体力活。而在部署PEAP的过程中,如果已经从CA机构获取了数字证书,那么整个过程会相当简单。
如果企业不乐意每年花300美元从CA机构获取数字证书,还可以自己建立一个CA或者通过活动目录生成一个自签名的数字证书。如果企业采用的是Windows NT域,或者是非Windows用户,并不支持自动部署根证书,那么PEAP服务器的“.cer”公共证书文件也可以通过企业内部网页发送到每个客户端,再由客户端手动添加到CTL(证书信任列表)中。对于最后一种方法,我们也完全没有必要担心“.cer”文件会被黑客利用,因为这个文件中仅包含了1024bit的公钥内容,根据这些内容,几乎没有可能成功破解。
对于大范围部署EAP-FAST和配发PAC,你必须建立和管理成百上千个独立的用户私钥。不要指望可以通过企业内部网络和活动目录实现这些用户私钥的自动配发,因为每个PAC都是不同的,必须手动输入到每个用户的笔记本中的Cisco ACU(Aironet Client Utility)中才可以生效。我想你也会理解为什么我一看到Cisco的EAP-FAST宣传语“像LEAP一样简单”就会发笑,因为EAP-FAST的部署甚至比在一个受控环境中部署EAP-TLS还要麻烦。
Cisco EAP-FAST的更多局限
由于EAP-FAST不支持较老的Cisco Wi-Fi设备,因此用户需要使用近年来推出的Cisco Wi-Fi产品。Cisco EAP-FAST还需要用户使用基于Cisco ACS (Access Control Server)的昂贵的验证平台,这种平台的灵活性和易用性都不如微软的RADIUS server IAS (Internet Authentication Service)。以上观点都是来自那些管理过这两种平台的IT人员。另外,Cisco的客户端还不支持“机器登录”,这种方式可以在用户还没有登录Windows时就对该系统进行身份验证。对于企业来说,有这种功能是相当重要的,因为它可以使登录脚本以及组策略更好的工作。Cisco的网站上也建议用户,如果需要使用机器登录功能,可以选择使用Microsoft Wireless Client。
有关EAP-FAST的总结
那么,在没有PKI的环境下,Cisco的EAP-FAST验证协议真的如其所说是一种优秀的密钥交换协议吗?我想大家的答案肯定都是否定的。读过了这篇文章或者Cisco的EAP-FAST开发手册,也许大家都会有这样一个疑问:为了在验证服务器上避免使用数字证书,为了不在企业内部安装PKI Certificate Authority或者不希望每年花300美元获取CA机构的数字证书,而采用Cisco EAP-FAST,是否真的值得呢?如果你指望通过Cisco EAP-FAST来降低工作的难度,那你就大错特错了,因为如果你要实现PEAP那样的安全性,就绝不会像Cisco宣传的那样“像LEAP一样简单”。 在我看来,最佳的解决方案就是使用PEAP验证。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今 天我们将介绍自签名数字证书,帮助那些不愿意花钱购买CA机构颁发的证书的企业也可以搭建RADIUS服务器。
自签名数字证书是企业避免采用CA机构颁发的数字正数的一种方式。长期以来,自签名数字证书一直被开发人员用来进行安全Web服务器的测试,但是很长一段时间都没有被用 作正式的系统。一些人知道自签名数字证书或者采用了这种方法来进行RADIUS PEAP验证,但是目前还没有官方的文档介绍这种用途的具体实施方法。
自签名数字证书的概念与Pretty Good Privacy(PGP)类似,他们同样不使用公众CA机构的数字签名。虽然PKI和PGP都属于PKC,但是数字证书是针对PKI信任模式的集中化受信 CA设计的,而PGP则是使用分布式的P2P方式来建立信任关系。
比如,一个PGP用户会生成他们自己的公钥和私钥,然后将公钥发布到用户自己的公众Web服务器上供其他用户校验。由于采用这种建立信任的模式,并不需要公众或私营CA机构 的参与,因此不会像SSL或PEAP等安全验证协议会遇到CA的问题。
要创建一个自签名数字证书很简单,用户只需要使用工具创建一个带有数字签名的数字证书即可。与通过公众受信的CA机构获取数字证书的签名不同,这个工具可以自行签发证 书。
当数字证书创建后,包含“根证书”公钥的公开版本的数字证书会被导出,并成为一个可以被公众访问的文件。根证书可以通过任何方发布(比如Web网站)而不用担心会被破 解,因为与之配对的私钥并没有被发布出去。任何采用PKC技术的验证方式,比如PGP或PKI,都没有特殊的方法可以从公钥中提取出私钥。当拥有了字签名的数字证书,用户就可以 通过RADIUS服务器使用PEAP验证协议进行安全的身份验证了。
Microsoft IIS 6.0 资源包
当我开始考虑为PEAP身份验证方式使用字签名证书时,我第一个想到的就是找一款使用简单的创建字签名数字证书的工具。搜索了一番后,我发现Microsoft IIS 6.0资源包中 有一款有趣的命令行工具,叫做SelfSSL.exe,这款工具可以创建字签名的数字证书。虽然这款工具是为Microsoft IIS 6.0 SSL Web服务器测试而准备的,但是由于它创建的是标 准的X.509证书,因此也可以用在包括PEAP在内的各种需要数字证书的地方。测试了一下该工具的库,我发现它非常适合在搭建PKI证书授权时简化PEAP认证。
在安装时,我们只需要安装其中一个332 KB大小的 SelfSSL 1.0组件即可。如图A所示。
图A SelffSSL 1.0 安装向导
SelfSSL.exe工具可以用于大部分RADIUS/AAA验证服务器,我在Microsoft IAS服务器上也验证了这一点。SelfSSL.exe的使用并不困难,首先在你的验证服务器上开启一个命令 行窗口,然后进入安装SelfSSL.exe的文件夹(默认情况下是安装在C:Program FilesIIS ResourcesSelfSSL)。然后可以输入以下命令:
selfssl /N:CN=ServerName.YourDomain.com /K:1024 /V:1825 /S:1 /P:443
◆/N:CN 应该被设置为你的服务器名以及完整的域名的组合
◆/K: 一般都设置 为1024。 1024是分配给RSA密钥的比特数
◆/V: 是证书的失效日期,1825天就是5年。
◆/S: 在IIS中的站点号码。
◆/P: TCP端口号。443是标准的SSL端口。
需要注意的是,由于你的认证服务器可能不会同时运行IIS,因此/S:和/P:参数只是在我这个例子中所要用到的。根据一般的安全常识,在验证服务器上运行的服务应该尽量少 。如果你的验证服务器上没有安装IIS,那么在执行以上SelfSSL命令时,会出现“Error opening metabase: 0x80040154”错误信息。这个错误代码表示SelfSSL没有发现IIS站点 ,但是你可以忽略这个错误信息,因为你所需要用于PEAP的数字证书已经生成了。
创建根证书
在验证服务器上生成了数字证书后,你就可以导出这个自签名证书的根证书了。数字证书不同于根证书。我们刚刚通过SelfSSL.exe生成的数字证书中包含了相互匹配的公钥和 私钥。而根证书中仅包含了公钥,以及一个表示“我是根证书”的字段。你可以将这个根证书放在Web服务器上,或者文件服务器上,进行手动的配发工作,或者将其导入活动目录 的组策略,实现自动分发根证书。
要创建根证书,我们首先需要打开“开始/运行 ”,然后输入“mmc”并回车。打开MMC后,我们会看到如图B所示的控制台窗口。在这个窗口中,点击“ADD/Remove Snap-in... ”
图B MMC 控制台
接下来我们会看到如图C所示的窗口。点击“ADD”按钮。
图C Add/Remove Snap-in
如图D所示,选择“ Certificates”然后点击“Add”按钮
图D 选择证书
选择 "Computer account"然后点击 "Next",如图B所示。
图E Computer account
然后选择 "Local computer" 如图F所示。然后点击"Finish".
图F 选择本地计算机
接下来会看到如图G所示的控制台窗口。
图G Console root
展开“ Certificates” (本地计算机) 项。然后右键点击"MyAuthServ.MyDomain"或任何你在SelfSSL "/N:CN" 参数中设定的域名。点击 "All Tasks" 然后选择 "Export"。如 图H所示。
图H 导出
我们会看到如图I所示的向导,选择"Next".
图I 证书导出向导
在这一步骤中,一定要注意不要导出私钥(如图J所示),因为私钥是必须在服务器上妥善保存的。如果在这一步骤中选择了“Yes, export the private key” ,那么你可以实现对数字证书的备份,但是导出的备份数字证书一定要妥善保存。如果该备份被黑客获取,则会破解你的数字证书,因为该证书中包含了你的私钥。导出私钥的另 一个目的是将数字证书复制到冗余的RADIUS服务器上,这样你只需要在该服务器上导入数字证书即可,不用重新生成一个新的数字证书。如果你有多个RADIUS验证服务器,那么就 要将这个证书拷贝到每个服务器中。如果你不想给自己添麻烦的话,千万不要生成多个根证书。
图J 不要导出私钥
选择"DER"格式进行导出,因为这种可以兼容Windows以及Windows Mobile设备。如图K所示。虽然Windows并不介意你采用了什么格式的证书,但是Windows Mobile设备对此比较 挑剔。
图K 文件格式
选择证书文件的存放路径和文件名,如图L所示。我们要记住文件名,以便日后使用。
图L 路径和文件名
点击"Finish"就可以将自签名的根证书导出成文件了,如图M所示。
图M 结束
现在,你已经拥有了一个字签名的根证书,你可以通过手动或自动方式将其发布到用户的系统中,同时在你的验证服务器上也拥有了相应的数字证书。在接下来的文章中,我们 将继续介绍如何在Microsoft IAS RADIUS服务器中配置和使用这个证书。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将教大家如何在Windows环境下手动部署根验证证书。
本文将指导用户如何在非微软活动目录环境下将根证书手动添加到用户的CTL(证书信任列表)中。本文假设用户已经采用了某种方式将根证书发布到了内部网络、公开的Internet服务器或内部文件服务器上。不用担心发布该文件会对证书的安全带来威胁,因为所发布的根证书中并不包含私钥内容,不过我还是建议用户在内部环境中发布该根证书。
我们首先要做的就是将根证书拷贝到笔记本、台式机或PDA上,然后执行以下工作。
右键点击"MyAuthServCert.cer" 文件,然后选择 "Install Certificate"如图N所示。
图N MyAuthServCert
在如图O所示的证书导入向导页面上点击 "Next"。
图O 证书导入向导
选择第二个选项,然后点击 "Browse." ,如图P所示。
图P 证书存储
点击 "Show physical stores" 然后展开 "Trusted Rood Certification Authorities" 项目,再选择 "Local Computer"。这里要仔细操作,确保将证书文件保存在了正确的位置。如图Q所示。
图Q 选择 Local Computer
点击 OK, 然后点击Finish结束操作。
需要提醒的是,该根证书也可以用于Pocket PC Windows Mobile 2003(及以上版本)以及Windows CE 4.2。用户只需要下载该根证书,然后双击,系统就会弹出安装提示。用户只要确认安装就可以了。另外,由于Palm设备并不支持802.1x 和 PEAP验证,因此无法使用该证书。
另外,如果用户在使用较新版本的Mac OS X 或 Linux,也可以采用相同的方法安装使用该根证书。而如果你在Windows上使用Cisco Aironet Configuration Utility (ACU),那么通过Cisco Wireless Client以自动方式或者本文介绍的这种手动方式安装的根证书,都不能通过组策略实现自动配置,也不支持机器登录。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将向大家介绍如何利用Windows活动目录向全体用户的证书信任列表(CTL)中添加根证书。
在一个数字证书可以使用前,该证书的签名授权(在本文中为自签名)必须要安装在用户电脑的证书信任列表(CTL)中。本文中所介绍的自动部署根证书的工具集成在Windows XP SP1中,这个工具同时支持Cisco客户端以及Windows Wireless Zero Configuration (WZC)客户端。如果你的企业采用的是Windows活动目录环境,那么采用活动目录向全体用户的CTL中安装根证书将是一件非常容易的事情。如果你的企业没有采用活动目录环境,那么你应该直接参考本系列文章的手动部署根证书部分。
要完成该工作,我们首先要以管理员身份启动“Active Directory Users and Groups”中的组策略编辑器。也许你需要将根证书颁发给整个域中的全部成员,但可能你只希望将根证书颁发给某个特定组织单元中的用户。在本文中,我们仅讲述针对全体活动目录用户颁发根证书并进行无线PEAP验证配置。
右键点击域名,然后选择 "Properties" 如图R所示。
图R 属性
点击"Group Policy"标签,然后点击"New",建立一个叫做 "PKI Policy"的新策略,然后点击"Edit"按钮。如图S所示。
图S PKI 策略
展开 "Computer Configuration" 如图T所示。 然后右键点击"Trusted Root ..." 再点击 "Import"。
图T 组策略对象编辑器
导入自签名的证书,如图U所示,然后点击"Next".
图U 证书导入向导
假设你将根证书拷贝到了本机的C: 目录下,那么就输入如图V所示的内容,然后点击 "Next"。
图V 导入文件
在下一个窗口点击"Finish"按钮,然后关闭所有相关窗口。完成这些工作后,你的整个活动目录都会信任这个你用SelfSSL工具创建的自签名证书。这种自签名的根证书在部署上与任何由PKI证书授权服务器生成的证书没有任何区别。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将向大家介绍如何使用Windows自带的无线网络客户端工具Windows Wireless Client。
Windows Wireless Client以前也被称作Wireless Zero Configuration (WZC)服务,它是Windows内置的一款无线网络客户端程序。如果你的系统是Windows Server 2003 SP1 或 Windows Server 2003 R2,那么可以通过活动目录的组策略自动配置这个客户端。本文所采用的是Windows XP Service Pack 1 和 2 的环境(如图W所示),而SP1之前的版本由于无线安全性极差,以及不支持PEAP验证,因此不建议用户使用。
图W网络连接
在XP SP1和SP2中,用户可以通过右键点击“网络连接”文件夹中的无线以太网设备,然后选择“属性”,对无线客户端进行配置。配置窗口如图X所示。
图X 连接到无线网络
在SP2中,有一个如图Y所示的升级界面,用户可以通过右键点击系统托盘区的无线网络图标,选择“View Available Networks”的方式开启该界面。选择“Change advanced settings”将出现如图X所示的窗口。
图Y选择无线网络
在XP SP2下,用户可以点击“Add”按钮在"Preferred networks"区域建立一个网络配置。如图Z所示,在新窗口中,用户只需要输入用来登录无线接入点的SSID即可。
图Z 添加一个无线连接
在 "Network Authentication"项中选择 "WPA"
WPA验证模式需要系统为XP SP2 或 Vista。如果用户在XP中安装了WPA2补丁,也可以选择WPA验证。另外,用户所使用的无线接入点也必须能够支持WPA验证模式,Wi-Fi网卡驱动也需要支持WPA。
在 "Data encryption"项中选择"TKIP"
在WPA 或WPA2验证模式下,用户必须选择TKIP 或 AES加密方法。AES加密方法相对较好,但是并不是全部的接入点或者客户端设备都可以支持AES加密,因此在选择时应该考虑到兼容性问题。如果没有任何兼容问题,那么就应该选择AES方式,如果不能肯定,则选择TKIP方式。另外,就算使用了RADIUS和密钥交换,也不要再采用WEP方式了,因为这种加密方式相当不安全,2005年就出现了大量此类攻击事件。
接下来我们转到“Authentication”标签,如图AA所示。选中“Enable IEEE 802.1x authentication for this network”(为此网络开启IEEE 802.1x验证)然后选择“Protected EAP (PEAP)”
图AA 无线验证属性
另外,我们还要勾选“Authenticate as computer when computer information is available”(当计算机信息可用时对其进行验证),从而开启“Machine Authentication”,也就是“Computer Authentication”(机器级验证)。机器验证可以让用户的电脑在连接到网络后就对电脑进行验证,而不管合法用户是否已经登录上电脑。这一设置可以让电脑像连接到有线网络那样收到组策略的制约,而且这也是Windows无线客户端的独有功能。
如果用户没有设置“机器验证”,那么组策略将无法正常的执行,而且那些没有在某台电脑上成功登录过的用户将无法用合法的身份从该电脑登录域。“机器验证”将让用户体验到在有线网络时代的验证过程。为了实现“机器验证”,PEAP验证只需要该计算机加入一个正常的域即可。该计算机将通过“计算机密码”登录网络。需要注意的是,如果采用了EAP-TLS 或 PEAP-EAP-TLS(比PEAP更强的验证方式)方式进行验证,那么必须安装来自Enterprise Root CA的“机器证书”。
点击“EAP type”下的 "Properties"按钮 ,会出现如图BB所示的窗口。
图BB Protected EAP属性
在这个窗口中,我们首先要勾选“Validate server certificate”,否则PEAP的安全性将比EAP-FAST匿名DH模式还要差。
接着我们要在“Trusted Root Certificate Authority”区域里选择合适此无线连接的CA。需要注意的是,在SP2中新增了一个安全功能,即“Do not prompt user to authorize new servers or trusted certification authorities”我们也要选中这一项。这个窗口中的各项设置对于无线连接的安全性来说至关重要,它可以让我们的无线局域网只允许具有授权的用户才能访问。
在接下来的下拉菜单中选中“EAP-MSCHAP v2”,这是大多数人常用的选项。不要选中下面的“Enable Fast Reconnect”,否则某些品牌的无线接入点(如cisco)会出现认证方面的问题。如果用户选中了这一项,在出现问题的时候,可能需要很长时间才能发现这个问题的根源。
如果你选中了 “Smart Card or other Certificate”,那么这意味着你使用了PEAP-EAP-TLS认证模式。这是一种较新的认证模式,比EAP-TLS传统模式的安全性要高一些,但是在一些非Windows系统中会产生兼容性问题,因此我并不推荐你采用这种方式。如果希望使用EAP-TLS验证模式,可以在图AA所示的窗口中选择“Smart Card or other Certificate”而不是前面所说的“Protected EAP (PEAP)”。EAP-TLS和PEAP-EAP-TLS都需要客户端支持“机器证书”,这使得这两种验证方式比其它认证方式更为安全,但是部署的难度也随之加大了。
在图BB中点击“Configure”则出现如图CC所示的对话框。这个选项可以通过用户的Windows证书自动为用户登录。如果你试图通过一个无线网络连接到Windows域,而你的用户账户并不属于这个域,自动登录将无法成功,因此你必须取消这个选择,并进行域信任方面的 。在这个过程中你可以将证书保存下来。
图CC默认配置
从我上面的介绍大家不难看出,虽然PEAP (PEAP-EAP-MSCHAPv2)设计的目的是为了让验证更简单,但是实际部署过程仍然比较复杂。而采用EAP-TLS或PEAP-EAP-TLS方式则更加复杂。为了能实现自动部署,我们都希望能够使用Windows Server 2003活动目录组策略建立一个全局的部署策略。
从部署和安全性的角度考虑,一定要在客户端采用自动部署方案,因为将设置工作交给终端用户去完成会出现很多意想不到的问题。一个配置错误的客户端就会危害到整个企业的网络安全。再加上要为每个员工进行技术方面的培训,以及让员工自己完成如此复杂的操作,不论是从人力财力还是时间上,都不是好主意。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将向大家介绍如何使用微软的活动目录组策略自动实现无线网络客户端配置,从而避免终端用户手动操作带来的诸多弊端。
在本文中,我将介绍如何通过微软的活动目录组策略,建立一个针对企业无线网络环境的全局无线网络策略,实现客户端无线网络配置的自动化,避免终端用户手动操作带来的诸k多弊端。这些设置可以通过Windows Server 2003 SP1, Windows Server 2003 R2, 或Windows Server 2007等服务器发布,终端用户可以是Windows XP SP2或以上版本,并且支持Vista系统。
首先,我们要以域管理员身份登录服务器,并开启“Active Directory Users and Groups”打开组策略编辑器。用户可以选择向整个域部署无线策略,也可以对包含某些用户的特定组织单元(OU)部署组策略。在如图DD所示的窗口中,我们需要新建一个叫做“Wi-Fi Policy”的组策略,然后点击“Edit”按钮。
图DD编辑组策略
接下来会出现如图EE所示的窗口,右键点击"Wireless Network ..."点击"Create Wireless Network Policy"即可
图EE组策略对象编辑器
点击 "Next".如图FF所示。
图FF无线网络策略向导
给新策略起一个名字,如 "Wi-Fi Policy" 如图GG所示,然后点击"Next".
图GG给新策略起一个名字
点击 "Finish"如图HH所示。
图HH点击完成
然后在图II中填写相应的内容。注意我在“Networks to access”项目中选择了“Access point (infrastructure) networks only”。这是活动目录所提供的一项非常重要的安全功能。即使用户不打算在网络环境中使用无线网络,也应该这样选择,从而防止任何域用户使用无线ADHOC模式。
另外,“Use Windows to configure wireless network settings for clients”也是一个相当重要的功能。即使网络终端用户使用了诸如Cisco ACU这样的第三方无线客户端,并且禁用了Microsoft Wireless Zero Configuration,这个选项也可以让这些用户正常使用活动目录所部署的无线网络设置。这个功能可以让我们通过集中化的策略控制整个企业无线网络。完成这个窗口的设置后,点击“Preferred Networks”标签。
图IIWi-Fi 策略
在图JJ所示窗口中点击 "Add."按钮。
图JJ选择网络
接下来会出现如图KK所示的窗口,输入我们之前为无线接入点所设置的网络名称(SSID)。图中所示的名称为MySSID。对全部接入点使用相同的SSID(在同一子网下)可以让我们拥有在不同接入点间“漫游”的能力。接下来,在两个下拉菜单中分别选择WPA 和 TKIP,实现最大的安全性和最佳的兼容性。如果用户的网络设备可以支持,还可以将“Data encryption”项设置为AES,实现更强的安全性。接下来我们点击“IEEE 802.1x”标签。
图KK MySSID
我们按照如图LL所示的内容填写各项数据。在“Authenticate as computer when computer information is available”选项前打勾可以实现机器验证,这是windows无线客户端的一项非常独特而且实用的功能。接下来我们点击“Settings”按钮继续。
图LL根据需要设置
接下来会出现如图MM所示的窗口,这是本文中另一个非常重要的窗口。选中“Validate server certificate”项可以防止黑客通过伪造证书的方式模拟接入点和RADIUS服务器,从而截获用户的登录信息。强制校验服务器证书可以防止这种现象的发生,而且我们也不希望由用户来手动定制这个项目,因为有些用户可能会出于某种目的而取消该选项。
“Trusted Root Certificate Authorities”也非常重要,在这里我们只选中我们认可的CA。另外,我们还要选中“Do not prompt user to authorize new servers or trusted certification authorities”项。如果这些关键性的项目都由用户手动完成,对于一个大企业来说,几乎是不可能的。而且安全性策略应该是一种系统强制性的策略。
图MM证书设置
接下来,我们在图MM所示窗口中点击“Configure”按钮,然后会出现如图NN所示的对话框。这里为我们提供了一项非常便利的验证方式,可以在用户接入无线网络(或802.1x模式的有线网络)时自动使用用户的Windows证书进行验证。
图NN凭证书自动登录
选中此项并点击“OK”,然后将桌面上的其余窗口依次确认并关闭。几分钟或几个小时内,当网络终端用户的系统自动刷新组策略时,或者登录活动目录时,他们将获得这份新的无线网络接入设置。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将向大家介绍如何配置Windows Server 2003中附带的IAS RADIUS 服务器,实现无线网络验证。
在Windows Server 2003中,附带了一款稳定,安全和强健的RADIUS(也被称作AAA)服务器。如果你在互联网上搜索有关Microsoft IAS的漏洞,你会发现根本找不到。IAS服务已经安全的运行了数年而没有进行任何修补工作了。如果你的Windows Server 2003主机已经设置成只允许IAS请求,同时防火墙也封闭了其它的端口,并且Windows Server 2003系统上没有运行其它服务,那么你可以确保这个 IAS RADIUS服务器可以无故障的持续运行数年而不需要重新启动。
IAS的竞争对手
在企业市场上,IAS的最大竞争对手就是思科的Cisco ACS 。首先我要澄清的是,很多人都认为如果企业使用了Cisco的网络设备,就一定要使用ACS,这种观点是不对的。只要用户避免使用一些私有的、安全性较差以及部署困难的协议,如LEAP或EAP-FAST,就可以保证Cisco网络设备可以良好的运行。
另外,ACS的稳定性也是一个问题,由于不断的被发现存在漏洞和bug,ACS需要经常性的下载补丁进行修补。我就曾经花费了不少时间解决ACS的问题并进行技术支持。对于Cisco ACS我的经验还是比较丰富的。目前最新版的Cisco ACS 4.x有两个安全漏洞补丁,其中一个漏洞还是critical等级的。3.x和2.x版本的ACS也都有各自的安全漏洞,这些漏洞的补丁也是在2006年12月10日与4.x的系统漏洞补丁同时发布的。
Cisco ACS也无法实现中继RADIUS服务器的功能,这使得它无法在一个多层RADIUS环境中正常工作。而用户需要这种能力将多个活动目录或者彼此没有连接的用户目录联系起来。另外,ACS每套拷贝的价格是8000美元,而微软的IAS则是随Windows Server 2003附带的。两个冗余的RADIUS服务器可以很快地建立起来。而ACS虽然带有一个独立的应用程序,但是与Windows下的图形界面控制台相比,这个应用程序使用起来困难度相当高。
Funk software(被Juniper收购)有一个不错的Steel-belted RADIUS解决方案,售价大约4000美金,这对于需要建立两个RADIUS冗余服务器的企业来说还是有些贵了。对于那些没有运行Windows活动目录环境的企业,Funk是一个不错的解决方案,因为IAS与微软活动目录联系紧密,并不支持非微软的数据库环境。
对于Linux用户,可以使用FreeRADIUS。在过去(0.x版本和1.x版本)FreeRADIUS曾经出现过重大的安全漏洞,但是这些漏洞已经被修补好,并且不像Cisco ACS那样还在不断出现漏洞。FreeRADIUS虽然还没有Funk或者Microsoft 的RADIUS解决方案那样完善,但是如果用户只是在自己的Linux系统上安装,或者不需要企业Linux支持,那么它是完全免费的。如果用户采用的是SuSE 或Red Hat,并且需要企业支持,那么它的费用是Windows Server 2003永久许可证费用的两倍。因此,这完全是看用户的需求和使用模式,有些人喜欢Linux,有些人则喜欢Windows。
安装IAS
由于Windows Server 2003在默认安装时不会安装任何附加的安全组件,因此用户需要手动安装IAS。如果你拥有Windows Server 2003的安装光盘,那么这一过程会变得非常简单。要安装IAS,只需要在控制面板区域打开“添加和删除程序”,并选择“安装和卸载Windows组件”即可。之后你会看到如图OO所示的窗口,通过下拉滚动条,找到“Network Services”。由于我们不需要安装全部网络服务,因此应该高亮该项目,并选择“Details”按钮。
图OO 网络服务
接下来你会看到如 图 PP所示的窗口,向下滚动,找到"Internet Authentication Service" IAS 并选中。
图PP 选择IAS
安装IAS后,你就可以通过管理工具或者开始菜单来启动IAS 了。接下来会看到如图QQ所示的窗口。
图QQ 服务
设置日志策略
我们首先要做的是检查并设置日志策(图RR)。右键点击“Internet Authentication Service (Local)”,然后选择属性。
图RR IAS 属性
接下来会看到如 图SS所示的窗口。如果选择了窗口下方的两个复选框,那么就可以通过Windows的事件查看器看到成功和失败的IAS验证请求了。如果你喜欢使用文本或基于SQL的日志,就不需要选择这两项了,除非你希望通过各种途径都能查看到IAS的日志。
图SS 本地属性
如果选择了“Ports”标签,你会看到如图TT所示的窗口。其中显示了默认的RADIUS端口,一般来说,我们都采用这些端口作为标准的RADIUS通信端口。Microsoft IAS实际上会监听两套端口。较低的端口号是比较传统的端口号码,而微软的应用程序偏向使用较高的端口号码。我们保持这些端口号码不变即可。
图TT 端口
接下来是设置Microsoft IAS的独立文本日志和SQL日志。右键点击“Remote Access Logging”页面下的“Local File”部分,然后选择属性。如图UU所示。
图UU 远程访问日志
在"settings"标签中,我们可以选择需要记录哪些事件。如图VV所示。
图VV 本地文件属性
在"Log File" 标签中,我们可以设置日志文件的格式和文件的体积限制。如图WW所示。
图WW日志文件
由于需要额外配置一个SQL数据库才能正常工作,因此在这里我不选择使用SQL日志格式。如果你需要采用基于SQL数据库的日志,那么需要手动创建一个SQL帐号和数据表。另外,如果日志不能正常工作,那么Windows Server 2003的RADIUS服务就会停止。因此如果用户采用了SQL日志方式,而SQL服务器又没有正常工作,那么RADIUS服务器也会随之停止工作。而且,根据微软的说法,之所以没有提供绕过SQL服务器单独启动RADIUS服务器的方式,是因为用户觉得这样做更加安全。而根据我的调查来看,大多数用户都希望在SQL服务器不能正常登录的情况下,RADIUS仍然能够正常运行。
由于微软IAS的认证和认证组件性能相当可靠,因此这么做也不会有任何安全风险,仅仅是不能记录日志而已。有关这方面的问题,我曾经跟微软提出过,他们的答复是,会在Windows Server 2007中研究是否要取消SQL日志与RADIUS服务器间的连锁关系。希望那时候微软还会推出一个自动建立SQL数据库的脚本。
RADIUS的“客户”并不是我们所想象的“用户”。RADIUS的客户实际上是指无线接入点、路由器、交换机、网络防火墙或者一个VPN集线器。任何可以提供网络接入功能,并需要AAA(接入、认证和审计)的设备,对于RADIUS服务器来说都是RADIUS客户。在本文中,我们只建立一个接入点作为一个RADIUS客户。
要建立RADIUS客户,我们需要右键点击“RADIUS Clients”,然后选择“New RADIUS Client”,如图XX所示。
图XX 建立Radius客户
接下来我们会看到如图YY所示的窗口,在该窗口中,我们需要命名该接入设备,然后设置该接入设备的IP地址。在本文中,这个接入设备是一个无线接入点。需要注意的是,如果接入设备是路由器或防火墙,因为这类设备都具有多个接口,因此会包含多个IP地址。此时你应该在这里输入距离RADIUS服务器最近的一个端口的IP地址。这是由于RADIUS请求会来自多端口设备中距离RADIUS服务器最近的端口,如果设置错误,那么RADIUS服务器将无法与该设备进行通信。
图YY 命名新RADIUS客户并输入IP
接下去我们要设置RADIUS类型和RADIUS密码。一般来说, RADIUS类型部分总是设置为“RADIUS Standard”。而Cisco的设备是一个例外,如果你所要连接的设备是来自Cisco的,那么在“Client-Vendor”区域必须选择“Cisco”。不过Cisco的无线交换机并不在此例外中,因为Cisco的无线交换机其实是2005年收购Airespace后来自Airespace的产品。
Airespace的无线交换机可以使用“RADIUS Standard”方式,就和其他厂商的产品一样。“shared secret”是RADIUS服务器与其他接入设备共享的密码(如图ZZ所示)。我们应该使用字母和数字混合密码,并且长度应该大于十位。另外不要使用空格和特殊符号作为密码,因为这些字符可能与某些设备或软件产生兼容性问题,而要找到此类问题的根源却相当麻烦。
图ZZ 设置共享密码
点击"Finish"完成此设置。如果你有多个接入设备,则需要重复这一过程。
添加远程访问策略
现在我们需要建立一个远程访问策略,对试图访问接入设备的用户进行验证和授权。首先我们右键点击“Remote Access Policies”项,然后选择“New Remote Access Policy”。如图AAA所示。
图AAA 新建远程访问策略
点击"Next"转到下一窗口。如图BBB所示。
图BBB 策略向导
为策略命名,并选择通过向导建立策略。然后点击"Next"。如图CCC所示。
图CCC 命名策略
选择"Wireless" 然后点击 "Next",如图DDD所示。
图DDD 选择无线接入
对用户和计算机进行接入授权。点击"Add"。如图EEE所示。
图EEE 按组进行授权
这里我们需要对需要授权的域的位置进行定位。点击"Locations"。如图FFF所示。
图FFF 选择组
选择需要授权的域,并点击“OK”。需要注意的是, IAS服务器必须加入到该域,或者必须为于该域的信任域中。如图GGG所示。
图GGG 选择位置
输入“Domain Users”和“Domain Computers”,并用分号分隔。如图HHH所示。然后点击“Check Names”强制对输入内容进行校验。由于该选项是允许任何域用户和域计算机访问无线局域网,因此你可能还需要对一小部分用户或计算机进行限制。接着点击OK。
图HHH 输入域名
需要注意的是,“Domain Computers”是用来验证你的计算机的“机器验证”,也就是说,不论用户是否登录,都会先验证用户所使用的计算机是否具有接入资格。这种方式模拟了无线局域网环境中所出现的情况,因此是一种非常有效的验证手段。
如果“机器验证”没有进行,那么组策略以及登录脚本将不会执行。另外,只有已经存在于无线接入计算机中的用户才能够正常登录,因为如果用户之前从未使用过该计算机登录无线网络,将无法对其进行域验证。正因如此,我总是建议Windows用户使用Windows无线网络客户端,并且建议管理员采用自动部署方式完成对客户端的无线网络配置。
在图III中,我们会看到我们所允许访问的用户组和计算机组。需要注意的是,这两个组之间的关系是“或”,即符合其中任何一项,都可以成功接入。下面我们点击“Next”
图III 定义访问组
选择"Protected EAP (PEAP)" 认证,然后点击"Configure"。如图JJJ所示。
图JJJ 验证
在处理下一个窗口前,你必须具有一个合法的来自CA机构的Machine Certificate(机器证书),或者你已经拥有了自签名(self-signed)证书。其余部分保持不变,如图KKK所示。然后点击OK键。
图KKK PEAP属性
现在我们就完成了一个新的无线认证策略的制定。下面我们就开始进行具体的配置工作。
调整远程接入策略
完成以上步骤后,我们会看到一个新的与用户所命名一致的远程接入策略出现在窗口中。如图LLL所示,窗口中有两个默认的策略,还有一个就是我们新建的策略。在默认状态下,新建的策略是禁用的,因此我们需要右键点击该策略,并选择属性项。
图LLL 远程接入策略
如图MMM所示,我们注意到窗口中有两个“Policy conditions”,并且这两个情况之间是AND关系,即如果某一接入情况同时符合这两个规定,则可以通过,否则就无法通过该策略,而会被转到下一个“远程接入策略”。在我们的例子中,策略状态表中的第一个策略仅允许采用802.11方式接入的用户,第二个策略状态是检查该用户是否符合我们上面设置的用户组或计算机组。点击“Edit Profile”继续。
图MMM WiFi Policy 属性
“Dial-in Constraints”标签允许我们设置拨号接入和线程约束条件,如图NNN所示。在这里还可以设置用户登录的最长时间。
图NNN Dial-in Profile
“Encryption”标签对于安全很重要,如图OOO所示。你必须取消其余三个保密性不强的方式,同时只选中最强的加密方式。
图OOO 加密
“Advanced”标签(如图PPP)我们目前还不需要使用,但是这个标签中的内容都相当重要。在这个标签中,我们可以定义RADIUS的一些特殊属性,比如让RADIUS服务器告诉Cisco VPN集线器某个用户是属于某个用户组的,以便集线器会将该用户组的VLAN和防火墙设置应用于该用户帐号上。你还可以针对内置防火墙的Aruba无线交换机设置VLAN或组关联。有关这方面的细节设置,我们会在后面有关RADIUS高级设置的文章中介绍。
图PPP Advanced 标签
在“Authentication”标签下,我们可以调整EAP模式(如图QQQ所示)。对于无线局域网PEAP认证,我们保持所有选项空白即可。这些设置是为那些较古老的RADIUS应用准备的,比如通过拨号调制解调器拨号后访问RADIUS服务器。下面我们点击“EAP Methods”查看具体内容。
图QQQ 验证
在这里,你可以编辑PEAP配置。如图RRR所示。我们在建立策略时就已经对相关内容进行了配置。接下来点击OK。
图RRR EAP Providers
再次点击 OK 按钮,退出Dial-in profile 窗口。
在IAS界面中的最后一项内容是“连接请求处理”,如图SSS所示。在本文中,我不打算对此进行详细介绍了,只是让大家初步了解一下该部分的内容。“Connection Request Processing”项目可以让我们设置高级的RADIUS中继功能。你可以选择将什么样的RADIUS请求进行中继,也可以选择将请求转发到不同的RADIUS服务器上,或者决定哪些RADIUS请求需要在本地“远程接入策略”中进行处理。
你还可以在在RADIUS服务器上配置需要转发的组,这可以让IAS在多级RADIUS环境中正常工作。比如,如果有一个用户属于企业合作伙伴的网络而不属于企业本身,那么当他试图接入企业的网络环境时,你就可以将他的RADIUS请求转发到合作伙伴公司的RADIUS服务器上进行处理。在一些校园环境,也会使用这种方式来区分学生和教职人员,或者不同校区的学生。
图SSS 连接请求
备份和恢复IAS策略
在做完了以上一系列工作后,我们还希望能够备份RADIUS配置,并在必要的时候将其恢复到冗余RADIUS服务器上。其实这个任务很好实现。微软给了我们一个简单的命令行来导出和导入RADIUS配置信息。
要执行备份操作,我们只需要输入以下命令:
netsh aaaa show config c:IAS.txt
这里要注意的是,所保存的文件名前缀可以是任意合法的文件名,如果不小心搞乱了IAS配置,就可以直接用这个本地文件恢复配置。如果你需要在另一台IAS RADIUS服务器上应用相同的配置,也可以方便的将其恢复到该服务器上。从文本文件恢复IAS设置,也只需要一个简单的命令。
netsh exec c:IAS.txt
这种方式可以让我们快速的配置多个冗余的 IAS RADIUS服务器,同时也可以让我们快速恢复IAS服务器的设置。
对于系统管理员和企业CIO来说,企业无线局域网的安全问题一直是他们关注的重心。在4月份中,我们会连续关注企业无线局域网安全,今天我们将向大家介绍如何配置Aironet 无线接入点,实现适合大多数企业的无线网络安全。
在商业和企业级的无线网络环境中,经常可以看到Cisco Aironet系列的无线接入点。本文是终极无线网络安全指南系列十篇文章中的一篇,与其余九篇文章在结构上有着紧密的联系。
企业级无线局域网中的Aironet接入点
在本文中,我将向大家介绍如何配置Cisco Aironet IOS接入点,实现以下功能:
◆多重无线局域网
◆每个虚拟无线局域网带有一个VLAN
◆安全的内部无线网络,并且包含RADIUS和活动目录
◆Guest Wireless LAN with Internet only access
图TTT 显示了这样一个网络环境的物理结构,而图 UUU 则显示了这个网络的逻辑结构。
图TTT 物理结构
图UUU 逻辑结构
硬件设置初始化
当我们从包装盒中拿出Aironet无线接入点,并插上电源后,所要做的就是将控制台电缆与电脑的串口连接起来。如果你的笔记本没有串口,也可以使用USB-串口转换器。
启动Aironet接入点后,你需要输入用户名和密码才能登录控制台。对于Aironet接入点来说,默认的帐户和密码一般都是Cisco。这里我提供一个关于Cisco 1100系列接入点的硬件安装指南。Aironet1100,1200以及1300 IOS独立接入点的安装基本上是一样的。你需要确认的就是接入点的Aironet IOS是最新版本。因为不同版本之间有可能存在细微的差别,比如老版本的Aironet IOS中就没有多重SSID广播的功能设置。
清除默认配置
对于所有新的Cisco接入点来说,我们首先要做的就是清除默认的设置项目。较老的固件并没有任何用户名或密码之类的保护措施,而新的产品则不同。当你登录到控制台,首先要输入以下几个命令:
◆enable
◆write erase
◆reload (确认重新启动设备)
重新启动后,你会看到“〉”提示符,此时不需要密码也可以进入“enable”模式。此时我们输入“config t”命令,就可以进入全局配置模式。
Aironet IOS的CLI配置模版
由于Cisco的配置指南中包含了大量的注释和提示,使用起来不是很方便,因此我用Microsoft Excel创建了一套系统配置模板。感谢Justin James等人的帮助,我们才建立了这个新的CLI配置文件。为了更好的学习本文的内容,大家可以点击下载Aironet IOS模板。
如何使用CLI模板
通过上面提到的模板,你可以快速建立一个适合你的网络环境的Cisco Aironet IOS配置内容。你所要做的就是填写Excel文件中“Variables”工作表中的黄色区域,如图VVV所示 。而“Reference”工作表就是最终的配置模板。表格中用红色方括号表示内容是可替换的内容。
图VVV 配置模板
在图WWW中,由Justin James 设置的“Replace”按钮可以快速将“reference”工作表中的内容拷贝到一个叫做Aironet 的新工作表中(你也可以自己修改G5单元格的内容,建立其它名字的新工作表)。你可以多次点击“Replace”按钮,从而获得多个含有配置项的工作表。这一功能非常适合我们建立多个配置内容稍有差异的配置单。
图WWW 参考变量
在Aironet接入点上应用配置
在新的工作表中建立了适合自己网络环境的配置单后,你可以将“Command”列中的内容拷贝下来,然后粘贴进控制台。需要注意的是,Excel表格中的所有命令都是你在设置时所需要使用的命令。
另外还要注意的是,有些命令执行起来会比较慢,因此我建议你一次只拷贝一小部分命令,并检查粘贴进控制台的命令是否完整(有时候系统给出警告信息是正常的)。如果你粘贴的速度过快,系统有时候会丢弃一部分内容,因此要特别注意这一点。另外,你可以使用“show run”命令来检查配置。当确认无误后,使用“write mem”命令提交所有需要改变的参数,当下次启动后,系统就会按照新参数来配置了。
在Excel文档的“reference”工作表中,我已经详细的介绍了每个命令的作用。这些内容可以用作参考,学习或者记录等。我建议大家仔细阅读“reference”工作表,了解每个命令的作用。对于这些参考了解的越多,工作起来就会越顺手。
最终的Excel文件并不仅仅能帮助我们配置接入点,还可以帮助我们进行配置内容归档。表格形式、高亮关键内容以及文字说明,都可以让Cisco CLI更加可靠和便于理解。另外,如果你需要按照自己的实际情况来修改模板,完全可以改变“reference”页面中的内容。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
去集群 更超群——大容量网络演进之路
2019 IBM 中国论坛
H3C 2019 Navigate 领航者峰会
助推数据中心网络现代化转型 打造灵活可靠基础架构平台