如何用PacketFence安装配置NAC

如何用PacketFence安装配置NAC,第1张

作为网络的管理者和维护者,我们都想拥有一套健全的网络控制机制,如采用NAC(网络接入控制)方案。一个有效的NAC方案,对威胁具有极大的免疫性。但是由于NAC技术含量高,其价格也不菲,它已经成为许多厂商的重要利润来源。那有没有开源的NAC可以给我们选择呢?

我们的回答是肯定的,开源NAC正在如火如荼地发展着。PacketFence是开源NAC中的佼佼者,它可靠、容易配置,且构建于未修改的开源代码之上(Fedora, LAMP, Perl, and Snort)。PacketFence的设计目的是要在不同种类的环境中运行,并且它使用了“不可知厂商隔离”( vendor-agnostic isolation)技术,其中包括DHCP范围改变和ARP高速缓存处理技术(“被动”模式)等。选购NAC非商业类不可吗?非也!

PacketFence是开源团体对NAC提交的完美答卷。作为开源团体的一个坚定的支持者,笔者知道它势必要成为一个有趣的项目,不过笔者在安装PacketFence时也并非一帆风顺。其中一部分困难来源于笔者反对在所推荐的环境中安装PacketFence。为什么笔者要反对呢?因为推荐的环境过时,如Fedora 4。

不过,笔者还是谨慎为妙,在Ubuntu 6.06服务器中做出了最合乎逻辑的选择。因此,请读者注意:这种安装是完全通过命令行方式完成的,而且有许多命令需要运行。

一、最重要的事情

1、安装Ubuntu Server 6.06 LTS

你需要做的第一件事情是安装Ubuntu Server 6.06 LTS。好消息是对这个版本的支持直至2001年,所以你不必担心在安全漏洞出现时没有补丁可打。一旦你下载了ISO镜像文件,请用K3B(或其它类似的工具)来刻录光盘。下面的工作就是准备安装服务器了。(注意:这是一个纯文本的安装。)

因为你要使用Ubuntu,所以你将会大量地使用sudo命令。这里将不可能存在root口令,不过你为所创建的用户(在安装期间创建的)所创建的口令也就是你要用的口令。但在笔者用Ubuntu和sudo时,总是创建一个root 口令,因为在进行某些应用程序的安装时(或在配置MySQL时)它会省去不少问题。为此,请运行sudo passwd命令,并输入新的“root”口令。一旦完成,你就可以大展拳脚了。

2、以SSH方式登录

下面你要做的事情是通过SSH设置远程管理。如果你需要远程管理这个服务器,你可能就需要安装这个功能。为此,运行下面的这个命令:sudo apt-get install ssh openssh-server。笔者经常进行这种安装(通过SSH)的一个主要原因是因为笔者需要搜索一些东西的话,就不必反复地在机器之间切换。既然安装了SSH,下面就到这台可以访问网络计算机上,通过SSH登录到Ubuntu服务器上。现在你可以继续阅读这篇文章,同时进行安装。

二、准备软件安装:对源的处理

我们要使用apt-get命令来安装软件。为此,你必须首先编辑源以便能够找到恰当的软件包。为此,执行下面的命令:

备份你的原始源列表:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.BACKUP

现在你必须浏览源列表,并去掉sources.list文件中所列示的所有项目的注释。请转向/etc/apt,打开sources.list文件,清除所有的“#”,以去掉对所有源的注释。或者你可以运行下面的命令:

sudo sed -i -e "s/# deb/deb/g" /etc/apt/sources.list

现在我们必须用下面的命令更新apt源:

sudo apt-get update

在你开始安装应用程序之前的最后一步是:你必须能够从源进行编译。默认情况下,Ubuntu 6.06是不能这样做的。因此,为了让服务器能够做这个 *** 作,请执行这个命令:

sudo apt-get install build-essential

在这步完成之后,你就可以准备安装了。

三、安装Snort

你应该做的第一件事情是安装一个入侵检测系统。由于Snort是Linux中的标准软件包(这也是PacketFence所建议的),我们将使用这个工具。请执行这个命令:

sudo apt-get install snort

在你继续进行之前,你需要确保在系统启动期间Snort不会启动(否则,PacketFence不会启动)。为此,使用update-rc命令:sudu update-rc.d –f snort remove。这样Snort就从rc.d 运行列表中清除了。

四、安装并启动MySQL

为什么要安装MySQL呢?因为PacketFences使用一个数据库,你必须注意安装MySQL的一些细节问题。

首先,用命令sudo apt-get install mysql-server安装MySQL。这个问题不太容易处理。因为笔者喜欢用一个“root”口令。运行“sudo passwd”命令,并输入两次“root”口令。现在你可以用pseudo-root用户身份登录了。你需要做的是改变MySQL的口令。默认情况下,这个口令保持空白。这是不安全的,而且PacketFence要求你拥有一个MySQL口令。因此请运行mysql -u root –p命令(目前没有什么口令。你现在应该在mysql>命令提示符下。现在输入命令:

SET PASSWORD FOR root@localhost=PASSWORD(’NEWPASSWORD’)

这里的NEWPASSWORD就是你将要用于root MySQL用户的新口令。好了,经过一翻周折,现在MySQL已经启动。

五、安装Apache和PHP

在这个阶段,你需要做的第一件事情是安装Apache和所有必要的模块,下面是具体步骤:

sudo apt-get install apache2 libapache2-mod-proxy-html

此命令安装了Apache和代理模块。接下来安装PHP:

sudo apt-get install libapache2-mod-php5 php-pear php5-mysql php5-gd

此命令会安装PHP所必需的所有方面。

现在你必须要做的是停止Apache服务器并防止其在启动时运行。首先运行如下的命令:

sudo /etc/init.d/apache2 stop

要阻止Apache的运行,请运行:sudo update-rc.d -f apache2 remove命令,用以从rc.d运行列表中清除Apache。

六、Perl 及其模块

其实,有大量的Perl模块可以安装。为此,请运行如下的命令:

sudo apt-get install perl-suid libterm-readkey-perl libconfig-inifiles-perl libnet-netmask-perl

sudo apt-get install libparse-recdescent-perl libnet-rawip-perl libtimedate-perl libwww-perl

现在Perl已经准备好了。

该请出我们主角了:

七、安装PacketFence

最后要安装的就是PacketFence应用程序自身了。我们不能使用apt-get进行安装。你必须下载源代码,并解压,然后安装。你可以用wget应用程序下载最稳定的版本。如果你没有wget,也许需要通过sudo apt-get install wget命令安装它。其下载将来自Sourceforge。目前(笔者写此文时)PacketFence最新版本的下载地址是:http://downloads.sourceforge.net/packetfence/packetfence-1.6.2.tar.gz,因此,请执行如下的命令:

sudo cd /usr/local/

sudo wget

http://downloads.sourceforge.net/packetfence/packetfence-1.6.2.tar.gz

用如下命令解开tar文件:

sudo tar xvzf PacketFence-1.6.2.tar.gz

这就会创建/usr/local/pf目录。请切换到Pf目录,并执行下面的命令以启动安装程序:

sudo ./installer.pl

现在你基本上解决了安装问题。默认的安装方式就可以工作。一定要记住你的MySQL root用户口令。还有要允许PacketFence的安装程序为你创建必要的数据库。笔者曾多次用phpMyAdmin创建数据库,结果却发现PacketFence系统不能为数据库创建必需的表了。

在你进行最后的步骤之前,为安全起见,你可能需要创建一个SSL证书。为此,运行如下的命令:

cd /tmp

openssl req -new >PacketFence.csr

openssl rsa -in privkey.pem -out server.key

openssl x509 -in PacketFence.csr -out server.crt -req signkey

server.key -days 365

mv server.crt /usr/local/pf/conf/ssl/

mv server.key /usr/local/pf/conf/ssl/

rm -f PacketFence.csr privkey.pem

这就会为你的机器安装一个唯一的证书。

一旦你完成了安装,你就要运行configurator.pl来完成安装。配置程序(configurator)基本上会设置你想要运行的系统类型。在你运行它时,将提供如下的内容:

1. 测试模式

2. 注册

3. 检测

4. 注册与检测

5. 注册、检测、扫描

6. 基于会话的认证

笔者建议首先在测试模式中运行系统。请你回答问题以完成安装。

八、别忘了几处修改

在完成过程中,笔者碰到的一个问题是PacketFence启动过程不能找到Apache启动过程,因为它是在查找/usr/bin/httpd instead of /usr/bin/apache2,这是在一个Ubuntu服务器中所安装的。要改变之,你必须在pf.conf中增加一个[service]项目。在你喜欢的编辑器中打开/usr/local/pf/conf/pf.conf文件,并且在文件的末尾增加下面的几行:

[services]

httpd=/usr/sbin/apache2

现在,打开文件/usr/local/pf/conf/templates/httpd.conf,并添加下面的内容:

ServerRoot /usr/lib/apache2

然后,修改下面的行:LoadModule php4_module modules/libphp4.so

变为:

LoadModule php4_module /usr/lib/apache2/modules/libphp4.so

还有其它行需要修改。因为我们是在Ubuntu上安装的Apache,所以必要的模块必须反映/usr/lib/apache2/module结构。遍历整个/usr/local/pf/conf/templates/httpd.conf文件,改变其模块的路径以反映这点。你还需要去掉php5模块这一行(大约在第79行)的注释。

九、启动PacketFence

你可以通过运行命令/usr/local/pf/bin/start首先来测试一下以确信PacketFence正在正常启动。你应该仅看到如下的信息:

Checking configuration sanity...

service|command

config files|start

iptables|start

httpd|start

pfmon|start

pfdetect|start

snort|start

现在,用下面的命令来终止PacketFence系统:

/usr/local/pf/bin/stop

一旦你知道它正在正常启动,就可以修改安装,这样PacketFence启动过程就安装了,并且rc.d系统也知道这一点。为此,需要执行下面的命令:

sudo cp /usr/local/pf/PacketFence.init /etc/init.d/PacketFence

sudo chmod 755 /etc/init.d/PacketFence

sudo update-rc.d PacketFence defaults

下一步,用下面的命令重新启动系统:

sudo /etc/init.d/PacketFence start

然后你应该已经正常启动完毕。

十、登录

到此为止,基本大功告成。现在,我们启动浏览器并将它指向PacketFence服务器的IP地址,并在其中添加端口1443。也就是https://192.168.1.29:1443。注意,这是安全的HTTP。你会看到一个登录屏幕,其中你需要输入管理员的名称(默认即是admin)和你为管理员创建的口令。

这就是你最后进行所有工作的地方。从这现在开始,你所做的就是指向什么并单击它了。

十一、安装体验:不轻松的过程

这样说来,PacketFence的安装过程富有挑战性,可谓是笔者以前从未遇到。有人可能要问“这值得吗?”有一句话说得好,“预防胜于治疗”。PacketFence出现是开源领域也可以说是网络安全世界中的一件大事。这个工具本身又比较大,笔者相信它很快将流行起来。但愿本文能为你安装这个系统提供一些帮助。

后面,笔者将与你一起讨论如何运用PacketFence来保护你的网络。

关于数据库OPEN错误,问题主要出现在没有正确开启mysql,我把详细关于mysql服务开启以及服务端数据库方面配置方法进行发布!

第一步:系统里有没有装过MYSQL服务。

1、如果已经装过,请把机战数据库安装到原来所装的MYSQL里面。

2、或者卸载原有MYSQL服务。A、可在原来文件夹找UNINSTALL或REMOVE等字样的程序;B、用卸载软件比如360软件管理等卸载;3、用注册表删除。

3、重装系统。

第二步:系统新装MYSQL服务

1、把MYSQL文件夹解压在D盘根目录,其他路径也可以,尽量避免中文名,不过为了方便管理和排查,就用默认为D:\。

2、解压好后,运行d:\mysql\启动SQL服务.exe

3、启动完毕。(如果启动报错,请参考第一步,看看是否已经安装过或路径不对)

第三步:开启MYSQL服务

1、手工运行一次d:\mysql\bin\winmysqladmin.exe

2、画面d出一个窗口,不过管他,会自动最小画到任务栏,呈现一个红绿邓的样子。

第四步:更改IP地址

1、打开网络连接,更改本地连接的TCP/IP协议,手动输入IP地址为121.(服务器地址)

2、打开运行,输入CMD,按回车

3、在DOS窗口输入ping 121.(服务器地址)

4、PING通则成功,不通则排查IP地址

第五步:测试MYSQL服务

1、安装NACVICAT软件。

2、运行软件,点连接,用户名密码均为test(如果人为修改过,请按实际用户)

3、打开JZ数据库,连接成功则运行正常,连接不成功,请排差一、二、三步

以上步骤都成功,则服务器可以开启

ACC---MSG---NPC

MSG和NPC开启后比较卡,看机器速度,按我的配置E2140+4G内存+8600显卡,大约需要半分多钟

而在虚拟机里面大约需要3-4分钟的样子

只需要耐心等待

MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便。

对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于MySql 的IDE 我推荐Navicat for MySql,现在我就向大家介绍如何利用Navicat for MySql 导出和导入数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7259585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存