随着网络的不断发展,网络安全也越来越受到关注,原有的防火墙已经越来越难以独立保障网络的安全,这其中包含很多原因,主要是由于防火墙始终在明处抵挡外来的攻击,黑客针对防火墙的手段不断翻新,让它防不胜防,另一方面,很多攻击来源于网络内部,例如内部用户的越权操作或恶意破坏等,这些都对网络安全构成了极大的威胁。为更全面的保护网络不受攻击,入侵检测系统将发挥出不可替代的作用。首先入侵检测是被动式的,它的传感器节点可以遍布在网络中,攻击者不易觉察,即使有个别点被破坏,也不会全部瘫痪。其次,入侵检测的传感器节点处在内部网络中,可以很好的发现并杜绝内部用户的越权操作。由此可见,将防火墙和入侵检测结合起来使用可以更有效的保证网络安全。
本文将介绍一个轻载的建立在windows平台上的入侵检测系统winsnortacid1.7的安装和使用,所谓轻载是指该软件在运行的时候只占用极少的网络资源,对原有网络性能影响很小。以下将分步介绍winsnortacid1.7的安装过程。
snort是自由软件,可以从Internet上免费下载, 要完整的安装winsnortacid1.7必须先从snort(www.snort.org)的站点上下载以下软件:
Snort (Win32 MySQL Binary!) 1.7.1; Snort Rules 1.7; WinPcap 2.2; MySQL Shareware 3.23.40; "create_mysql" database creator; PHP 4.0.6; ADODB 1.1.2; ACID 0.9.6b6; 万事俱备后就可以开始安装了。
A、安装Snort MySQL Version 1.7
1. 在C盘生成5个目录:"C:\Snort" , "C:\Snort\PHP”, "C:\Snort\ADODB", "C:\Snort\Bin" , "C:\Snort\Logs"; 2. 将Snort (Win32 MySQL Binary!) 1.7.1解压到"C:\Snort\Bin"目录; 3. 将Snort Rules 1.7解压到"C:\Snort\Bin",覆盖原有的rules; 4. 用写字板打开并编辑C:\Snort\Bin 目录下的snort.conf,找到"var HOME_NET any"语句,如果想监测所有网络,假设主机的IP为10.0.0.20,则改为10.0.0.0/24,如果只想监测本机则改为10.0.0.20/32,不改动则缺省是监测所有的网络; 5. 在snort.conf中查找以下语句:(引号以内) "output database: log, mysql, user=snort dbname=snort host=localhost"; 如果有同样的语句,就删除掉该句前的注释符”#”,没有就添加这条语句; 6. Snort.conf文件中的每个INCLUDE *.rules文件都必须写上完整的路径。如下例所示: include c:\snort\bin\exploit.rules 7. 安装WinPcap.exe; 8. 重新启动计算机;
B、安装MySQL Database
1. 如果在Windows 2000或XP Server或Advanced Server中运行了终端服务,那就必须从控制面板中的添加/删除中安装MySQL。否则就可以直接双击setup运行; 2. 选择所有的缺省设置,确保安装在c:根目录; 3. 如果一切正常,会在托盘中生成一个MySQL图标。笔者试着装了两次,虽然都没有报错,但也没有在托盘中自动生成小图标。不过,不要紧只要打开c:\ MySQL\bin目录下的winmysqladmin.exe,就都搞掂了; 4. 右键单击托盘中的MySQL图标,选择Show Me; 5. 选择Start Check活页,那里的一切都应该显示ok或yes。如果没有这样,就重新启动一次计算机再检查一次; 6. 选择my.ini setup活页,输入用户名和密码,然后点击Save Modifications按钮,保存修改的文件; 7. 点击Create Shortcut on Start Menu按钮,将在启动组里添加MySQL。以后每次重新启动计算机时,MySQL都会自动启动;
C、生成一个Win32 MySQL database
1. 右键单击托盘内的MySQL图标,选择Show Me,MySQL显示在屏幕上,选择database活页,右键单击服务器名,选择Create Database,输入数据库名snort。 2. 要在命令模式下产生一个用户,在命令模式下进入C:\MySQL\Bin目录,输入MySQL,此时屏幕上会显示mysql>,输入:\u mysql;<回车>再输入: grant INSERT,SELECT,CREATE,DELETE on snort.* to snort@localhost; <回车>; 确定用户已经添加进去,在"mysql> "模式下输入:\u mysql <回车>, 3. 在"mysql> "模式下输入:show tables;(会看到一个列表,显示了user entry), 4. 在"mysql> "模式下输入:select * from user;(会看到列出了用户snort);
D、在MySQL中生成Acid的库表
1. 拷贝"create_mysql"文件到C:\MySQL\Bin目录; 2. 在命令模式下进入到"C:\MySQL\Bin"目录,输入: MySQL -u snort snort < C:\MySQL\Bin\create_mysql; 为了确信这些列表确实添加了,可以打开MySQL,选择Database活页,再选择Snort数据库,这时会看到生成的数据库列表;如果系统报错,不能添加列表进去,可以尝试输入以下语句: MySQL -u snort@localhost snort < C:\MySQL\Bin\create_mysql.txt;
E、测试Snort
1. 在命令模式下进入到"C:\ Snort \Bin"目录,输入:Snort –W,会看到罗列出的很多适配器,可以在他们上面安装入侵检测的传感器,这些适配器分别编号为:1,2,3,等; 2. 在"C:\Snort\Bin> "模式下输入: snort -v –ix(X是传感器的编号,笔者选用了本机作为传感器,输入了snort -v –i1);打开浏览器,随便访问一些网址,目的是为了生成一些网络流量,在windows的命令窗口中你将会看到所有连接的具体信息; 3. 在任务管理器中关掉这个进程; 4. 再回到命令模式,在"C:\Snort\Bin> "下输入: Snort -c C:\Snort\Bin\Snort.conf -l C:\Snort\Logs –ix(X是传感器的编号), 如果不出意外,Snort会在"C:\Snort\Logs"目录下生成一个Alert.ids文件,笔者按照此方法做时,系统报错,后改为以下语句: Snort -c C:\Snort\Bin\Snort.conf -l C:\Snort\Logs;最终在"C:\Snort\Logs"目录下成功生成一个Alert.ids文件,该文件可以用写字板打开查看; 5. 再在任务管理器中关掉这个进程;
F、将Snort设置成为windows NT4 Server / 2000 / XP的一项服务
1. 首先,需要安装两个windows资源工具:srvany.exe,instsrv.exe(这两个软件可以从Google.com上搜索到)。并将它们放到本机的根目录,在笔者机上的目录是d:\winnt,在其他机子上可能会是c:\WINDOWS或c:\winnt。 2. 在运行一栏中敲入cmd后回车,进入命令模式; 3. 必须先安装SRVANY服务,在命令模式中输入INSTSRV SrvAny \srvany.exe,其中是指srvany.exe放置的具体位置(笔者机子位置是d:\winnt); 4. 在命令模式下输入INSTSRV.EXE snort \SRVANY.EXE,其中是指srvany.exe放置的具体位置(笔者机子位置是d:\winnt); 5. 在运行框中添入regedit,开始编辑注册表。(首先备份原有的注册表文件,在注册表菜单下点击导出注册表文件,然后保存即可); 6. 在注册表中找到子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Snort,并且选中它; 7. 从编辑菜单中选择新建,选择项,然后输入Parameters; 8. 选中Parameters项,右键单击,选择新建,字符串,输入Application; 9. 右键单击Application,选择修改,输入C:\Snort\Bin\Snort.exe; 10. 选中Parameters项,右键单击,选择新建,字符串,输入AppParameters; 11. 右键单击AppParameters,选择修改,输入-c C:\Snort\Bin\Snort.conf -l C:\Snort\Logs -ix(x为传感器编号,本机输入的是1); 12. 选中Parameters项,右键单击,选择新建,字符串,输入AppDirectory; 13. 右键单击AppDirectory,选择修改,输入C:\Snort; 14. 从开始菜单-〉程序->管理工具,打开服务,右键单击snort,选择属性,选择启动方式为自动。
至此snort已经成功的安装在你的主机上了,但是为了方便管理,它还提供了一套配套的基于web页面的管理方式。具体安装方式如下:
G、安装PHP
1. 将PHP解压到C:\Snort\PHP目录。 2. 拷贝文件php.ini-dist到本机的根目录,并将它改名为php.ini。 3. 注意:笔者机子的根目录是d:\winnt,其它的有可能是c:\windows。 4. 用写字板打开php.ini,修改以下两个变量: 1) max_execution_time = 60 2) session.save_path = "\Temp" folder. 注意:指的是本机的根目录,笔者机子的根目录是d:\winnt,其它的有可能是c:\windows。
H、配置PHP运行在NT Server / 2000 / XP的IIS 4/5环境下
1. 打开管理工具中的Internet管理工具; 2. 右键单击默认web站点,选择属性; 3. 在主目录活页下,点击配置按钮,选择应用程序映射; 4. 点击添加按钮,在可执行程序框内添入c:\snort\php\php.exe 5. 在下面的扩展名框中添入.php; 6. 选择脚本引擎; 7. 点击确定即可。
I、安装ADODB —— 一个高性能的数据库库
1. 解压ADODB到C:\Snort\ADODB目录,编辑ADODB.INC.PHP,找到$ADODB_Database,输入修改为$ADODB_Database = 'C:\Snort\adodb'; 2. 解压并移动Acid到缺省的web站点目录下,笔者机子为d:\Inetpub\wwwroot\ 3. 配置acid目录下的acid_conf.php,只需要修改以下变量: $DBlib_path = "C:\Snort\ADODB"; $alert_dbname = "snort"; $alert_host = "localhost"; $alert_port = ""; $alert_user = "snort"; $alert_password = ""; 4. 重新启动计算机 5. 打开浏览器输入http://localhost/Acid/Index.html 注意:第一次打开时,会看到一个配置错误的提示,点击"Setup" 选项,再点击"Create ACID AG",来完成配置。 6. 返回浏览器输入"http://localhost/Acid/Index.html",一会儿就可以看到警告信息。 完成了以上步骤,每次开机Snort都会自动开始进行入侵检测,用户可以通过在浏览器URL中输入"http://localhost/Acid/Index.html"来查看网络事件。
|