扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
来源:51cto 2008年11月11日
关键字:
NAC并不是一种新鲜事物,其目的是要在一个比防火墙更加智能的网络访问方案中将端点安全、系统的身份验证、安全强化集成到一起。NAC可以确保每一个访问网络的工作站遵循安全策略,如果必要的话,它可以对工作站采取救护措施。例如,NAC可以检查一台工作站是否安装了反病毒软件,如果没有安装,NAC将会限制此工作站对网络的访问。有时,如果NAC能够实施救援,它将迫使工作站安装反病毒程序,从而使其遵循安全策略。虽然NAC可以改善网络环境的安全性,但是对于许多中小型企业来说,多数商业类的NAC的价格不菲。这使得许多小型企业“望NAC而却步”。但是开源的PacketFence的出现,为许多中小型企业打开了一个新的窗口,它向我们展示,不花钱一样可以使用NAC!
所以今天讨论的是Packetfence,这是一个开源的网络访问控制(NAC)系统。它可提供网络注册、蠕虫检测、漏洞扫描、系统清查(操作系统“指纹”识别)、可管理的用户补救等功能。一句话,这是一种功能强大的NAC方案。下面让我们先看看其—
PacketFence的功能和技术要点
那么,使用PacketFence有什么益处呢?通过使用此软件,用户能够确保连接到网络的所有工作站可以遵循单位的网络策略。另外一点,用户可以轻松地限制P2P通信并跟踪是什么人拥有了某个特定的MAC地址。简言之,PacketFence可以向用户保证,仅有授权的用户和工作站可以访问网络,并帮助用户跟踪这些用户和设备。
网管员都知道,要让任何一个NAC高效地工作,管理员必须首先建立或拥有一套计划好的网络安全策略。用户必须确认任何可能的漏洞源和威胁源,还要确定在检测到威胁时需要采取的行动,并能确认无法预料的漏洞和威胁反复发生的预防方法。
PacketFence这个开源程序的好处在于它将一些组件集中到一起,如Nessus和Snort等,对于恶意的通信和漏洞检测,这些程序可以让该软件执行诸多安全服务。该软件可以自动地检测网络中的工作站,隔离一些非一致性(也就是不遵守策略)的工作站,并且通过将不符合策略要求的工作站重新定向,使其转到一个可以告诉用户如何改造的网页上,此网页上有一些具体的措施和建议,如清除引起违反策略的部件,安装补丁,或采用其它可行的方法,从而对这些工作站执行救助和修补。
但是,象其它软件一样,如果不进行正确的配置,PacketFence将会给单位带来麻烦。如果进行了正确的配置,PacketFence就可以在一个设备连接到网络上时动态地检测漏洞,用户可以制定漏洞扫描计划,从而可以检查连接到网络的工作站是否拥有漏洞、病毒或其它的网络威胁。如果检测到一个与安全策略相冲突的漏洞,该软件就会自动地隔离该工作站。
虚拟局域网(VLAN)隔离是PacketFence的一个重要特色,它准许软件根据连接到端口的设备动态地改变交换机端口的VLAN成员资格。通过使用SNMP trap,PacketFence可以读取、写入、改变特定端口的VLAN成员资格。例如,在一个新工作站连接到一个端口时,PacketFence将检测到MAC地址。如果其MAC地址并没有位于已注册的工作站数据库中,它将把此特定的端口转给一个注册登记VLAN。
听到这儿,可能有人已经跃跃欲试了。不过,在下载PacketFence之前,用户不妨看看安装PacketFence时需要注意的一些问题。其链接为:
http://www.packetfence.org/dokuwiki/doku.php?id=faq#what_are_the_requirements,其中包含了安装该程序的必要信息。在笔者完成此文时,其最新版本为PacketFence 1.7.3,有源代码、RPM等格式。用户还可以试用PacketFence ZEN版本,这是一个CentOS5.2的Vmware镜像,其中已经安装好了PacketFence。在这里,ZEN的意思是zero effort nac,即不需要用户再安装NAC了。如果用户选择在一台已存在的Red Hat企业版Linux上安装PacketFence,用户将必须分别单独安装所有必要的服务,包括MySQL 和Apache等。然而,如果选择PacketFence ZEN版本,那么所有必要的组件都不需要再安装,用户只需要进行配置就可以了。
说实话,安装和配置PacketFence确实有难度,并且耗时也不少。在笔者第一次安装时,使用的是RPM安装包,笔者试图将其安装到红帽企业版5.0上。但笔者很快就发现,如果所需要的有关服务没有安装到不同于PacketFence配置文件中的一个目录中,那么用户将碰到问题。
而PacketFence ZEN版本就简单多了,因为所有的服务都预先安装好了。笔者根据网站上的安装指南在虚拟机上安装测试了此版本。要让PacketFence发挥效用,就必须使用VLAN隔离特性。安装指南页面讨论了VLAN隔离,还讲述了整个配置过程。用户按照此指南工作可以发挥其最大的作用。因为这里使用的是PacketFence ZEN版本,所以没有讨论安装过程。作为过程中的一部分,用户必须创建和编辑配置文件,以使PacketFence ZEN正常运行。
要运行PacketFence ZEN,用户必须为虚拟机分配512MB的内存。要利用PacketFence的所有特性,用户至少需要四个虚拟网卡,用于支持四个VLAN,而且用户的网络交换机必须既支持VLAN,又支持SNMP trap。用户可以检查交换机兼容列表,以查看交换机与PacketFence的兼容性。用户还需要检查配置步骤,因为这对交换机能够与PacketFence协同工作是至关重要的。
责任编辑:于捷
关于部署问题
要部署PacketFence ZEN,用户只需在Vmware中装载映象,并为每一个虚拟局域网配置虚拟机的设置。
在正常的VLAN中,遵守验证和注册的工作站可以连接。这里的工作站可以访问网络。
注册VLAN是这样一种VLAN:在其中,未注册的工作站可以连接。未注册的工作站被重新被转向注册页面。默认情况下,未注册的工作站不能访问网络。如果用户想在一个未注册的设备上运行任何网络协议,那么用户的通信将被限制于注册VLAN内部的设备中。用户必须打开注册页面注册工作站,或者要求管理员从一个管理控制台之中注册工作站。
隔离VLAN是这样一个VLAN:注册的工作站被放置到其中。位于此VLAN中的工作站受到隔离,并在冲突与违反策略的行为被解决之前不能访问网络。
MAC检测VLAN是这样一种VLAN:新连接的VLAN被放置到其中。这种VLAN的唯一目的是要让PacketFence立即获得工作站的MAC地址。然后,工作站将被作为一个未注册的设备包括到其中,并可放置到注册VLAN上。
如图1显示的是PacketFence的状态图:
图1
在根据自己的意愿配置完成后,启动虚拟机,直到出现登录界面。要知道,PacketFence并不同于其它的虚拟机设备,PacketFence ZEN在其首次启动时并不自动启动其服务,用户在运行其服务之前必须配置服务。因此,请登录进入,然后使用IP地址、主机名等参数进行操作。
用户必须设置全部的四个VLAN,并且在配置PacketFence之前配置交换机。首先,将一个恰当的IP地址分配给每一个网卡,使其处理单独的VLAN,然后运行命令/configurator.pl,即运行PacketFence配置程序。在程序要求PacketFence模板时,选择“PacketFence ZEN with VLAN isolation (8)”。继续进行下面的步骤,主要是询问用户的IP地址、主机名、DNS服务器等信息。然后,为必要的服务添加并编辑配置文件,如DNS和DHCP(动态主机配置协议)等。在完成此过程后,用户可以使用命令:
service PacketFence start
注意,在红帽企业版、Fedora、CentOS、openSUSE等环境中,用户可以使用:
hkconfig PacketFence on
将PacketFence放到启动过程中。使用chkconfig,用户可以将PacketFence服务包括到某种特别的运行级别中。在Debian系统上,update-rc.d等同于chkconfig。然后,用户就可以通过浏览器访问Web管理界面,在地址栏输入:
https://managementIPaddress(IP地址):1443
如下图2所示,为PacketFence的配置界面:
图2
在初次配置的时候,笔者遇到了一些问题。虽然PacketFence网站上有不少需要注意的问题和技巧,但在PacketFence ZEN安装配置指南中,并没有描述configurator.pl文件的精确位置。许多配置文件位于/usr/local/pf中,即configurator.pl所在的位置,不过,如果用户不花费点儿时间阅读整个页面,那么他有可能无法找到真正的目录。
在配置BIND文件时,笔者遇到了另外一个问题。如果按照网站上的步骤操作,就会产生这样一个错误:“rndc:no key definition for name rndc.key”,而且绑定的服务也无法启动,这是因为rndc.key的问题。要解决这个问题,用户需要重新生成密钥,并设置恰当的许可。
笔者浏览了PacketFence相关文档,但却没有找到关于Web管理员的默认用户名和口令等任何信息。笔者心中不愉,于是启动/installer.pl命令重新安装PacketFence。在安装过程中,用户就会覆盖现有的Web管理员用户名和口令。
责任编辑:于捷
测试PacketFence
如下图
图3
在最初的配置完成之后,用户最后可以测试一下PacketFence了。首先,笔者用Web管理员界面创建了一些用户。笔者将一些客户端工作站插入到可用的交换机端口中。在笔者从一个客户端浏览互联网时,因为并没有注册工作站,所以会出现注册页面,要求笔者输入身份验证凭证。PacketFence支持一些外部的身份验证机制,如它支持LDAP和RADIUS,从而可以避免早期版本的管理员设置的一些问题。不过,笔者选择了本地验证,并输入了用户名和口令。这样一来,工作站就注册完成。
此后,要同意网络策略,并且同意进行监视以遵循策略。如果在首次注册时,工作站看似干净并遵守策略,并自动地准许成为正常VLAN的部分。否则,工作站将被放置到隔离区,直至解决违反策略的问题。用户不必要做什么操作,就可以将工作站分配给一个正常的或隔离的VLAN中。一旦策略设置完成,并且在PacketFence中进行了定义,那么在工作站违反了策略时,它会被转移到隔离VLAN中;或者在工作站解决了问题后,它就会被转移到正常的VLAN中。不过,如果用户愿意,仍可以将某个工作站放到一个特定的VLAN中。
笔者利用Limewire对点到点的通信进行了隔离,编辑了配置文件/usr/local/pf/conf/violations.conf,并指定p2p通信等为违反策略的通信。要知道,此配置文件包含了一些用户可以启用和禁用的违反策略问题。当然,用户还可以从Web管理控制台配置违反规则选项,如在注册期间和在检测到违反策略时指定可以采取的行动期间,启用违反策略的检测。但是为了检测一种p2p之类的特定通信,用户必须编辑配置文件。在笔者启用了p2p违反策略后,工作站就被转到了隔离VLAN中,切断了它对互联网的访问。在用户首次运行PacketFence期间,必须对它进行配置,在违反策略的程序被关闭后,使其可以自动地将违反策略的设备和用户返回给另一个更为宽容的VLAN。
PacketFence还可以执行其它许多操作。例如,用户可以配置无线访问点(AP),使用注册VLAN和隔离VLAN的概念。要让一个无线AP与PacketFence协同工作,用户必须在AP的配置上指明VLAN。PacketFence还可以检测基于硬件的VoIP电话,以及有可能从软VoIP电话之后进行连接的工作站。还有另外一些情况,如VoIP电话和工作站共享单独一个交换机端口。更新的交换机准许VoIP和工作站可以共享一个端口,因为PacketFence依赖于在每个端口上的设备检测。通过在交换机的级别上进行调整,PacketFence就可以正确地检测VoIP电话设备和工作站。
如果一台工作站违反了已经建立的规则,或者在其系统上检测到了恶意软件,那么PacketFence将把此工作站从网络中隔离开,并将其转到一个已经定义好的网页中,这个网页会指导用户采取必要的措施清除漏洞、病毒、违反策略的做法等,对用户实施救援。如果工作站不能访问某个URL,那是因为没有浏览器或其它原因,结束这种违反策略的唯一方法是直接将共报告给管理员。如果打开了浏览器,用户会被直接指引到一个冲突页面或救治页面,实施必要的修正措施。这种页面要求用户下载并安装反病毒代理,给系统打补丁或清除某些不符合网络策略的程序。
PacketFence使用Nessus作为其漏洞扫描程序,而这种扫描可以根据时间计划或根据某个特别的基础来完成。例如,在一台工作站初次被注册时或新的威胁出现时,就会自动地对其进行扫描。因为Nessus可以自行更新,所以用户可以自动地配置PacketFence,在Nessus收到最新的威胁更新后,使其执行漏洞扫描。
结束语
PacketFence ZEN并不适用于初入此道的系统管理员。甚至对于一些有经验的IT专业人士来说,要设置PacketFence ZEN使其正常运行也有难度。这个ZEN版本的目的是使部署更为容易,不过,虽然它减少了许多复杂的任务,但在设置时仍颇为复杂。这个版本并不能使管理人员轻松安装,所以希望其开发人员能够解决前面提到的这些问题。
关于PacketFence的安装和使用技巧的相关文档算不上丰富,所以要让任何人掌握这个程序都需要花费点儿时间。但是,一旦掌握此程序,它必将为用户奉上脍炙人口的安全大餐。
责任编辑:于捷
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。