自己动手打造企业网络访问控制器NAC
如果你所在的企业经常有新的计算机终端接入现有的网络当中,如果作为网络管理员 的你希望能通过一种方式了解当前网络有哪些计算机终端存活,以及这些存活的主机目前的安全状况如何?如果 你想阻止安全状况达不到企业安全策略要求的计算机终端不能接入或访问网络?那么,你应当需要一台网络访问控制服务器(以下简称NAC)。
但是在以往,由于你和你的企业可能只对NAC技术有一个初步的了解,却不知道企业到底需要一台什 么样的NAC服务器。而且,你不知道在企业现有的网络结构中实施NAC后能不能达到预期的目的,以及能否取得最佳的成本与收益平衡。因为,在现有的网络结 构中部署NAC,会牵扯到网络结构变动,以及安全策略更改等诸多的方面,一轮改造下来,不仅工作繁杂,而且会耗费大量的正常业务时间,所有的这些,肯定不 是企业应用NAC时所希望年到的。
更何况,由于现在专门的硬件型NAC设备价格还相当的高,企业不一定同意先购买一台昂贵的NAC设备来先做试验。就是由于存在这么多的不确定因素,让许多中小企业如今仍然徘徊在NAC的 大门之外观望。
现在,由于开源免费的NAC软件的出现,已经完全可以让我们丢掉应用NAC的诸多顾虑:企业再要 担心NAC设备的价格,免费的NAC软件加上一台普通PC的硬件,要不了多少钱;我们也不担心得到的NAC软件不适用,在硬件平台稳定的情况下,我们只需 更换不同的NAC软件就可以得到想要的需求,而不需要花费任何费用;我们也不必担心自己打造的NAC服务器过时,因为不仅NAC软件可以不断更新,我们还 可以更换相应的硬件来满足软件和应用的要求。鉴于NAC软件给应用NAC带来的诸多好处,那么从现在开始,就和我一起来动手打造一台满足自己需求的网络访 问控制服务器吧。
一、 NAC软件的选择和硬件准备
由于是使用NAC软件来打造一台NAC服务器,那么这台服务器所具有的NAC功能就与所使用的软 件密切相关,因 而一开始的首要任务就是选择一款合适的NAC软件。目前市面上真正免费开源的NAC软件还不是很多,而且,每个 NAC软 件都有它自己独自的特点和缺点,就如同专门的硬件型NAC设备一样,我们应当根据NAC软件提供的功能,以及自己的实际需求来选择一款合适的NAC软件。
1、NAC软件的选择
就如我刚才所说,目前真正意义上开源免费的NAC软件还不是很多,最好的要数PacketFence zen、FreeNAC和Safe Access Lite 这三款。为了便于大家选择,我在下面分别对这三款NAC软件做一个简短的说明。
(1) PacketFence zen PacketFence zen是一个免费和开源的网络访问控制软件, 它使用NESSUS来对终端设备 进行弱点检测,以发现终端设备中存在安全风险。例如存在没有修复的漏洞、计算机病毒、间谍软件和木马等,一旦确定终端存在这些安全风险中的一种,此终端就 会被禁止访问目标网络。PacketFence zen还使用SNORT传感 器来检测来自网络的攻击活动,并给出相应的警告。PacketFence zen支持对许多厂商的可网管交换机进行VLAN 设置,通过划分不同VLAN来阻止不安全的终端接入网络,这些被支持的交换机包括3COM、思科、DELL及D-LINK等厂商生产的可网管交换机。 PacketFence zen通过 FreeRADIUS模块提供对802.1X无线的支持,FreeRADIUS模块能为我们的有线和无线网络接入提供一种同样的安全 控制方式。PacketFence zen同时提供了对DHCP网络设备和VOIP的支持。而且,我们可以通过WEB和命令行界面来 管理它。所有的这些功能,都让PacketFence zen完全可以满足目前大部分中小企业的网络访问控制的需求,甚至大型企业同样可以使用它来保护网络安全。PacketFence zen可以在大部分Linux系统中运行,我们可以下载它的二进制文件包来安装,也可以下载它的一体化VMWare虚拟机文件来直接使用,我们可到 http://www.packetfence.org/download/releases.html网站下载这些安装文件。
(2) FreeNAC
FreeNAC也是一款开源免费的NAC软件,它同样提供了对交换机划分VLAN的功能,并以 MAC地址来为计算机终端指定 动态VLAN,以此提供对局域网中各种资源的访问控制。FreeNAC能够对局域网中的服务器、工作站、打印机和IP电 话的进行访问控制。FreeNAC能够自动发现网络中存活的各种终端,并提供了对802.1x及思 科的VMPS端口安全模块 的支持,同时还提供系统补丁包分发等功能。不过,FreeNAC虽然提供了对非网管交换机 的支持,但使用非网管交换机会让其NAC功能大打折扣,因此,如 果想发挥它所有的NAC功能,最好使用可网络交 换机,而且,为了能使用思科的VMPS功能,最好使用思科的支持 VMPS的可网管交换机。FreeNAC可以去 http://freenac.net/?q=en/community/downloads下载,它也有一个用来安装的二进制包,可以在Ubuntu、 Fedora、Redhat和Gentoo系统中安装,它同样也存在一个VMWare虚拟机文件,这个文件是基于Ubuntu8.04的,并且其大小超过 了1GB。
(3) Safe Access Lite
Safe Access Lite其实是Safe Access 5的免费版本,但是,它只提供被动监控功能。Safe Access Lite支持对 250台计算机终端的检测,并且支持三种终端检测方式。Safe Access Lite对网络交换机没有特别的要求,在普通的交换机环境中也可以很好地发挥其作用,这样,我们使用它打造NAC服务器就可以直接连接到网络中心交换机上 的任意端口,在不需要对现有的网络做任何修改的情况下,就可以通过它来监控整个局域网中的计算机终端,体验NAC的带来的好处。Safe Access Lite只支持对运行WINDOWS操作系统的计算机终端有效,不支持其它非计算机终端(例如网络打印机或IP电话)。并且,在使用时,所有的计算机终端 必需开启了打印机和文件共享功能,以及开放了139和445端口,这主要是由于Safe Access Lite的终端检测方式所决定的。Safe Access Lite也提供二种安装方式,一种是在Linux系统下安装的二进制文件,另一种为VMware虚拟机 文件。这些文件可以到http://www2.stillsecure.com/go/stillsecure/SALite下载。在下载它之前需要我们 进行简单的免费注册,这样才能获得使用它的授权码,这个授权码是经过加密的,我们只需将它复制后保存到一个文本文件中即可,以便在安装Safe Access Lite时可以用此授权码来完成注册。
2、NAC服务器的硬件准备
当我们选择好需要的NAC软件后,就应当按此软件的运行需求,以及我们使用NAC服务器的应用目 的来准备相应的 PC硬件 平台。我们选择的硬件不仅要能满足操作系统的需求,而且要能满足NAC处理的性能要求。对于上述这三款 NAC软 件来说,如果都是通过它们的VMware虚拟机文件来使用,那么,运行它们所需的基本硬件可以是:CPU频率 在奔 腾Ⅳ2.4GHZ及以上,内存容量在1G及以上,磁盘剩余空间最少得有20GB及以上,至于以太网网卡的选择,我们就得依照NAC服务器将要接入目标网络 的方式再来做决定,对它的需求将在下面描述NAC服务器的接入方式时一起说明。对NAC服务器的其它基本硬件没有特别的要求。
至于自己打造的NAC服务器操作系统的选择,由于我国现在大多数中小企业的PC使用的都是 Windows XP操作系统,而且这三款软件都有可以在此系统下使用的VMware虚拟机文件,因此,我们可以选择Windows XP操作系统来作为NAC服务器的操作系统平台。但是要注意的是,为了能满足安全性的需求,我们应当对NAC所依赖的系统进行相应 的安全加固,例如只在此系统上运行NAC软件,将其它不必要的服务和应用程序全部删除或禁用,我们不能在使用 一种新的安全防范设备的同时又带来新的安全威胁。在本文的说明NAC软件安装和配置阶段,我选择的平台也是Windows XP操作系统。
二、NAC服务器接入网络的方式
NAC 软件和运行的硬件平台准备好以后,接下来的工作就是考虑NAC服务器将以何种方式接入目标网络的问题。通常 ,NAC服务器有两种主要工作方式,它们是被动工作方式和在线工作方式,我们也就可以按这两种工作方式来决 定NAC服务器接入网络的方式。1、被动工作方式时的接入方式被动工作方式就是指NAC服务器将以旁路的方式接 入到目标网络中,如图1所示。此时,NAC服务器最少需要一块 100/1000Mbps的以太网网卡,如果在监控的同时 还必需提供对交换机的管理,那么,也可以在NAC服务器中安装另 一块以太网网卡来分别处理各自原任务。对于 大多数NAC服务器来说,不论是自己打造的还是单独购买的,如果交换机有SPAN端口,最好将网卡连接到此端口上。通过这种方式接入目标网络,是不需要改 变现有的网络结构的, 但是,这种接入方式将不能保证NAC服务器能监控到整个局域网中的所有终端,也不能保证其提供完整的网络访问 控制功能。这种NAC服务器连入目标网络 的方式也是本文所举例子使用的接入方式。
图1
2、 在线工作方式时的接入方式
在线工作方式是指NAC服务器将直接连接到网络的数据链路当中,如图1.2 所示,此时的NAC服务器最少需要二块 100/1000Mbps以太网网卡。在线工作方式的NAC服务器不仅承担对整个内部局域网中所有终端进行监控的任务,还 得控制它们对连接在它后面的网络服务器的访问。
此时,如果硬件及网络条件满足NAC服务器的要求,那么它将会 提供其完整的NAC功能。但是,在线工作方式的NAC需要更高的数据处理性能和硬件稳定性,而且还存在单点失败 的问题。因此,我们必需通过提高PC硬件性能来提高NAC服务器的处理速度,通过同时运行两台相同的NAC虚拟机 来提供冗余,还可以为PC提供双CPU,双电源,以及RAID功能来保证NAC服务器的稳定性和业务的可持续性。但此时不能再 使用免费的VMware软件来运行这些NAC虚拟机了,因为免费的VMware Player软件并不提供冗余功能。另外,这种方式会对现有的网络结构做出相应的调整,如果不是有此必要,可以优先考虑使用被动接入方式,毕竟改变现有网 络结构所要承担的风险和造成的业务影响要比被动接入方式大得多。这也是我们使用软件NAC来打造 网络访问控制服务器的初衷。
图2
二、 软件的安装与配置
接下来的任务就完成所选择的NAC软件的安装与配置,这样,我们自己动手技术先进的NAC服务器 才具有真正的意 义。如 果我们选择使用虚拟机文件来运行这些NAC软件,那么,安装NAC软件的过程将只是如何通过VMware虚拟机软件 来 运行它们的事情。在本文中,我将以安装和配置Safe Access Lite为例来说明NAC软件的安装和配置方法,其它 两个文件的安装与配置与此软件大致相同,除了会在安装配置Safe Access Lite软件后会说明FreeNAC软件在安装 过程中的注意点外,其它的就不再此做详细的说明。为了能运行这些NAC的VMware虚拟机文件,我们除了可使用VMware相关商业软件来运行外,也可 以到 www.VMwareware.com/products/player下载免费的VMware Player.exe 来运行这些VMware虚拟机文件,它只提供对 vmx为扩展名的VMware虚拟机的运行,而不提供制作虚拟机等其它功 能。下载回来后,应当安装到运行NAC软件的 系统中,以便下面能够正常使用。1、Safe Access Lite软件的基 本安装与配置完成这些工作后,就可以开始安装Safe Access Lite。说是安装,其实并不如安装其它软件那样进行,由于我们 使用的是一个Safe Access Lite的VMware虚拟机文件,其中已经包括了运行它所必需的所有环境,我们现在要做 的,就是通过解压缩软件将下载回来的Safe Access Lite的VMware虚拟机文件压缩包解压到一个文 件夹中,例如 E:Safelite,然后启动VMware Player软件,单击其主界面中的“Open”按钮,在打开的选择文件 对话框中选择 E:Safelite文件夹下的“Safe Access Lite.vmx”虚拟机文件,确定选择后就会启动Safe Access Lite虚拟机。当出现如图3.1所示的Safe Access Lite虚拟机字符终端登录界面时,在“login”提示符下输入 “root”,回车后就会出现提示输入密码的提示符,此时在“password”提示符下输入Safe Access Lite 默认的根密码 “safeaccess”,按回车键后就可以登录到Safe Access Lite虚拟机的字符终端。
图3
接下来,我们就要通过下列所示的命令来完成与交换机相连的以太网网卡的网络设置,以便接下来可以 通过 WEB图 形化界面更加直观地完成安装设置和管理它。在本文中,我通过输入以下命令来设置NAC服务器网卡的IP地 址为 192.168.1.10、子网掩码为255.255.255.0及缺省网关为192.168.1.1: # network-settings.py 192.168.1.10 255.255.255.0 192.168.1.1 输入以上命令并按回车键后,不一会儿就会完成网卡的基本设置,并 回到根用户提示符下。现在,重新启动一次 Safe Access Lite虚拟机,以便我们能够使用刚才设置的IP地址,通 过WEB方式继续完成它的安装设置。
2、 通过WEB方式继续完成Safe Access Lite的安装设置现在,我们还必需使用WEB方式来进一步设置Safe Access Lite,才能完成它的整个安装过程。在与Safe Access Lite打造的NAC服务器相连的局域网内任意选择一 台计算机,运行安装在此主机系统上的WEB浏览器,在浏览器的 地址栏中输入“https:// Safe Access Lite虚拟 机的IP地址”,在本文中,我输入的是192.168.1.10,按回车键 后,就会出现一个SSL连接的安全警告对话框, 单击此对话框中的“是”按钮,就会出现一个让我们接受授权声明 的界面,在此界面中选择“I Accept this license agreement”单项选择按钮,然后单击“Next”按钮就可以进 入下一个WEB设置界面。接下来就会出现一 个如图3.2所示的服务器管理设置界面。在此界面中的“Root password”文本框中输入新设置 的根密码,以替换 系统默认的根密码,然后在“Re-enter Root password”文本框中再输入一次新设置的密码。 在“data and time”区域中的“region”下拉框中选择“asia”区域,再在“time zone”下拉框中选择 “shanghai”时区。 然后在“network settings”区域中的“host name”文本框中输入NAC服务器主机名,例如 mynac,然后在其下 的“DNS IP address ”文本框中输入主DNS服务器的IP地址。如果我们不通过代理服务器方式 连接因特网,那么 完成这些设置后,直接单击此界面中的“Next”按钮,就会出现如图3.3所示的输入授权码的界面。
图4
图5
此时,将在下载Safe Access Lite虚拟机文件时得到的授权码复制后,粘贴到此界面中的“License key”文本框 中,然后单击此界面中的 “Next”按钮就会进入如图6所示的创建管理员帐户界面。
图6
在创建管理员帐户界面中的 “user name”文本框中输入要创建的管理员帐户名称,在“password”文本框中 输入密码,在“re-enter password”文本框中重新输入一次新建立的管理员密码。完成这些设置后,单击此界面 中的“Finish”按钮,就 可以完成Safe Access Lite所有的安装设置,然后就会进入如图7所示的Safe Access Lite WEB管理主界面。
图7
在Safe Access Lite WEB管理主界面的左边,是进行相应设置的各个功能选项,当我们选择某个选项后,就可 以 出现相应的管理设置界面。其中“Endpoint activity”选项用来查看网络中当前存活终端的状态;“NAC Policies”选项中的内容用来设置检测终端的NAC安全策略;“System Configuration”选项中的内容用来设置终 端检测模式及其它内容;“System Monitor”选项用来显示NAC服务器的系统资源使用状况;“Reports”选项用 来查看NAC服务器产生的各种报告。
3、 Safe Access Lite NAC服务器的基本应用
(1)、选择终端检测模式 Safe Access Lite提供三种终端测试 模式,它们分别是: ActiveX plug-in检测模式:使用此种模式不需要被检测的终端安装任何客户端,所有的 Windows系统客户端都支 持这种检测模式,但非Windows系统不支持。使用些种检测方式不能在系统中禁用 ActiveX脚本的使用,且IE安装 设置也必需允许ActiveX脚本的运行。如果需要与NAC服务器交互必需下载和安全 相应的控件。 NAC Agent检测模式:此种检测模式被所有的Windows系统所支持,一些基于Linux内核的系统也支 持此种检测方式 ,但需要在系统中安装相应的客户端。此种检测模式可以重复进行检测,并且可以自动更新,如 果需要与NAC服务 器交互必需下载和安全相应的控件。 Agentless检测模式:此种检测模式只支持Windows系统, 也不需要安装客户端。但是终端系统上必需启用了打印 机和文件共享功能,还有,如果计算机用户不在一个 Windows系统域中,就必需指定此终端的位置标识,同时,使 用此种功能,终端和服务器上都必需开放139和445 端口。设置终端检测模式时,我们可以在Safe Access Lite的WEB配置主界面,通过单击“System configuration ”—— “ Testing methods”,在出现的如图8所示的选择终端检测模式的界面中,选择需要使用的三种终端 检测方式 中的一种或全部,默认是三种方式全部使用,完全设置后单击“OK”按钮就可以完成终端检测方式的设置。
图8
(2)、设置NAC 检测策略(NAC Policies)在Safe Access Lite的WEB配置主界面,单击“NAC Policies”选项就可以打开如图9所示的设置NAC 检测策略界 面。Safe Access Lite有三种级别的检测策略:low security、medium security和High security。 Safe Access Lite默认low security作为基本的安全检测级别,此时,一旦Safe Access Lite NAC服务器检测到 终端系统中存在安全漏洞或没有安装相应的系统补丁,那么就只允许它临时接入七天;如果检测到终端系统上存 在任何的病毒或木马,那么就会禁止其访问网络。当然,只有使用其商业版本才能进行具体的阻止动作,免费版 只能以一个横杠的红色图标来显示不安全终端的状态。
图9
(3)、配置Agentless测试模式 在Safe Access Lite的WEB管理主界面,单击“System configuration”——“Agentless credentials”打开代 理标识界面,在此界面中单击“Add Windows administrator credentials”,就会进入如图10所示的添加管理 标识(add administrator credentials)界面。在此界面中的“Windows domain name”文本框中输入Windows域 名或工作组名(如workgroup),在“Administrator user ID”文本框中输入登录此主机的管理员帐户,在 “Administrator password”文本框中输入管理员密码,在“Re-enter password”文本框中再输入一次密码,然后单击“OK”按钮完成添加。
图10
(4)、查看终端状态在Safe Access Lite的WEB管理主界面,单击“Endpoint activity”就可以打开如图11所示的终端状态界面。在 此界面 中,会将安全的终端以绿色的向上箭头表示,对隔离的不安全终端,会以红色的带有横杠的禁止通行图标 表示,对于不能检测的终端设备,将显示为unknown设备。我们可以在此界面中单击任何一台显示出来的终端设备 ,来了解它的详细信息,如图11、12所示。
图11
图12
到这里,这台由我们自己动手打造的Safe Access Lite NAC服务器就可以开始正常工作,唯一不足的是它不能对 安全的终端做出相应的阻止行为,如果用户需要,可以使用它的商业版本,也可以使用其它另外两个开源免费的 NAC软件。 PacketFence zen 软件的安装说明在51CTO网站上可以查阅到,就不再在此文再做详细说明。对于FreeNAC软件,由于它要求使用可 网管交换机,而我手上没有这要的实验条件,所以不能亲自对它进行安装和应用实验,所以也不在此做详细说明 。如果大家对它们有兴趣,而且英文比较好,可以去它们的网站查阅其具体的安装说明。其实,这些NAC软件的 安装都很简单,尤其是直接使用它们的VMware虚拟机文件时,所有的安装工作都差不多,因此,了解其中任何一种NAC软件的安装和配置,再加上它们的说 明文档,就算我们对Linux系统没有半点了解,只要按照 本文所述的方 法准备硬件平台和考虑接入方式,所有的系统和网络管理员都可以轻松地完成它们安装和部署。从上面的安装和 配置来看,虽然使用开源的NAC软件来打造网络访问控制服务器能节省资金和时间,减化NAC设备 的部署,但是, 动手打造一台NAC服务器也并不像笔者前面介绍的动手打造路由防火墙这么轻松,使用者必需有一 定的系统和网 络知识,以及NAC部署知识。从这点来说,自己动手打造NAC服务器,适合于一些具有创新精神的系 统、网络或安全管理员来进行,这样不仅能帮助企业得到一个高性能的NAC服务器,而且能在打造过程中学习到许 多应用NAC的知识。