怎样安装和使用Snort

怎样安装和使用Snort,第1张

在安装Snort之前,请确认你的系统是否安装了LAMP,如果没有安装的话,请输入以下命令安装:

$ sudo apt-get install mysql-server libapache2-mod-php5 php5-mysql libphp-adodb

安装部署Snort工具

1. 安装Snort软件包

$ sudo apt-get install snort-mysql

在安装过程中会提示以下信息

这时,输入的网卡要与你的现在使用的网卡一致,否则安装不成功,查看你的网卡信息使用命令 $ ifconfig

接下来,选择要监听网络段,比如要监听整个192.168.0.0/16这个网络段,就填写上这个网络段,

最后,提示是否设置数据库,选择“Yes”。

安装结束,会提示以下错误信息

这个错误信息,提示我们还没有为snort配置一个mysql数据库。接下来我们为snort创建一个数据库

2. 创snortdb数据库

进入数据库后,创建数据库名为snortdb

创建一个snort的数据库用户,并设置密码为snortpassword

创建好数据库snortdb以后,我们需要将snort-mysql自带的软件包中附带的sql文件导入到数据库中;

$ cd /usr/share/doc/snort-mysql

$ zcat create_mysql.gz | mysql snortdb -u snort -psnortpassword

导入到数据库中以后,可以去snortdb数据库中查看是否导入成功。

如果导入数据完成以后,接着我们需要把/etc/snort/db-pending-config文件删掉,否则snort会认为数据库任然没有准备好。

$ sudo rm /etc/snort/db-pending-config

3. 配置Snort

上一步配置好了数据库,我们需要配置Snort配置文件(/etc/snort/snort.conf),告诉Snort以后日志写入到Snortdb数据库中.

$ sudo nano /etc/snort/snort.conf

首先,找到文件中“var HOME_NET any”一行,将其修改为我们邀监控的网络段,并启用临近下面几行的“var EXTERNAL_NET !$HOME_NET”,如图配置:

接着,找到该文件中“output database:log,mysql,”这行,默认它是注释的,如果没有将其注释掉,并在该行的下方填写以下内容,

该设置时将log和alert信息都写入到指定的数据库中。

然后, 检测snort.conf配置文件是否正常:

$ sudo snort -c /etc/snort/snort.conf

如果出现以上信息,有一个小猪出现,则说明配置成功了,按“Ctrl +C”退出。

最后,我们启动snort:

$ sudo /etc/init.d/snort start

启动成功以后需要使用

$ ps aux | grep snort

检测是否snort真的启动成功。一般安装我的步骤做的话是不会成功的,因为还有一个文件(/var/log/snort/alert)的所有者没有修改。

$ sudo chown snort /var/log/snort/alert

再启动snort

$ sudo /etc/init.d/snort start

通过$ ps aux | grep snort命令,查看是否启动成功。如果没有成功,可以通过/var/log/syslog日志文件查看具体的原因。

这里说一下为什么要先启动一下snort再修改(/var/log/snort/alert文件的所有者,因为默认在/var/log/snort/目录没有alert这个文件,只要通过先启动一下snort就会自动创建一个alert文件。

分类: 电脑/网络 >>反病毒

问题描述:

我这里有一个6台机的小局域网都中毒了~要怎么杀毒呢>

解析:

域网中构建入侵检测系统

随着网络的不断发展,网络安全也越来越受到关注,原有的防火墙已经越来越难以独立保障网络的安全,这其中包含很多原因,主要是由于防火墙始终在明处抵挡外来的攻击,黑客针对防火墙的手段不断翻新,让它防不胜防,另一方面,很多攻击来源于网络内部,例如内部用户的越权 *** 作或恶意破坏等,这些都对网络安全构成了极大的威胁。为更全面的保护网络不受攻击,入侵检测系统将发挥出不可替代的作用。首先入侵检测是被动式的,它的传感器节点可以遍布在网络中,攻击者不易觉察,即使有个别点被破坏,也不会全部瘫痪。其次,入侵检测的传感器节点处在内部网络中,可以很好的发现并杜绝内部用户的越权 *** 作。由此可见,将防火墙和入侵检测结合起来使用可以更有效的保证网络安全。

本文将介绍一个轻载的建立在windows平台上的入侵检测系统winsnortacid1.7的安装和使用,所谓轻载是指该软件在运行的时候只占用极少的网络资源,对原有网络性能影响很小。以下将分步介绍winsnortacid1.7的安装过程。

snort是自由软件,可以从Inter上免费下载, 要完整的安装winsnortacid1.7必须先从snort(snort)的站点上下载以下软件:

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上搜索到)。并将它们放到本机的根目录,在笔者机上的目录是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. 打开管理工具中的Inter管理工具;

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:\Ipub\root\

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. 打开浏览器输入localhost/Acid/Index

注意:第一次打开时,会看到一个配置错误的提示,点击"Setup" 选项,再点击"Create ACID AG",来完成配置。

6. 返回浏览器输入"localhost/Acid/Index",一会儿就可以看到警告信息。

完成了以上步骤,每次开机Snort都会自动开始进行入侵检测,用户可以通过在浏览器URL中输入"localhost/Acid/Index"来查看网络事件。

安装Snort过程

[安装LAMP,Snort和一些软件库]

由于 Ubuntu 是 Debian 系的 Linux,安装软件非常简单,而且 Ubuntu 在中国科技大学有镜像,在教育网和科技网下载速度非常快(2~6M/s),就省掉了出国下载安装包的麻烦,只需要一个命令即可在几十秒钟内安装好所有软件。这里使用 Ubuntu 默认命令行软件包管理器 apt 来进行安装。

$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php-pear pcregrep snort snort-rules-default

需要注意的是在安装 MySQL 数据库时会d出设置 MySQL 根用户口令的界面,临时设置其为“test”。

[在 MySQL 数据库中为 Snort 建立数据库]

Ubuntu 软件仓库中有一个默认的软件包 snort-mysql 提供辅助功能,用软件包管理器下载安装这个软件包。

$ sudo apt-get install snort-mysql

安装好之后查看帮助文档:

$ less /usr/share/doc/snort-mysql/README-database.Debian

根据帮助文档中的指令,在 MySQL 中建立 Snort 的数据库用户和数据库。所使用的命令如下:

$ mysql –u root –p

在提示符处输入上面设置的口令 test

mysql>CREATE DATABASE snort

mysql>grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort@localhost

mysql>grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort

mysql>SET PASSWORD FOR snort@localhost=PASSWORD('snort-db')

mysql>exit

以上命令的功能是在 MySQL 数据库中建立一个 snort 数据库,并建立一个 snort 用户来管理这个数据库,设置 snort 用户的口令为 snort-db。

然后根据 README-database.Debian 中的指示建立 snort 数据库的结构。

$ cd /usr/share/doc/snort-mysql

$ zcat create_mysql.gz | mysql -u snort -D snort -psnort-db

这样就为 snort 在 MySQL 中建立了数据库的结构,其中包括各个 snort 需要使用的表。

[设置 snort 把 log 文件输出到 MySQL 数据库中]

修改 Snort 的配置文件:/etc/snort/snort.conf

$ sudo vim /etc/snort/snort.conf

在配置文件中将 HOME_NET 有关项注释掉,然后将 HOME_NET 设置为本机 IP 所在网络,将 EXTERNAL_NET 相关项注释掉,设置其为非本机网络,如下所示:

#var HOME_NET any

var HOME_NET 192.168.0.0/16

#var EXTERNAL_NET any

var EXTERNAL_NET !$HOME_NET

将 output database 相关项注释掉,将日志输出设置到 MySQL 数据库中,如下所示:

output database: log, mysql, user=snort password=snort-db dbname=snort host=localhost

#output database: log, mysql

这样,snort 就不再向 /var/log/snort 目录下的文件写记录了,转而将记录存放在 MySQL 的snort数据库中。这时候可以测试一下 Snort 工作是否正常:

$ sudo snort -c /etc/snort/snort.conf

如果出现一个用 ASCII 字符画出的小猪,那么 Snort 工作就正常了,可以使用 Ctrl-C 退出;如果 Snort 异常退出,就需要查明以上配置的正确性了。

[测试 Web 服务器 Apache 和 PHP 是否工作正常]

配置 apache 的 php 模块,添加 msql 和 gd 的扩展。

$ sudo vim /etc/php5/apache2/php.ini

extension=msql.so

extension=gd.so

重新启动 apache

$ /etc/init.d/apache2 restart

在/var/www/目录下新建一个文本文件test.php

$ sudo vim /var/www/test.php

输入内容:

<?php

phpinfo()

?>

然后在浏览器中输入 http://localhost/test.php,如果配置正确的话,就会出现 PHP INFO 的经典界面,就标志着 LAMP 工作正常。

[安装和配置 acid-base]

安装 acid-base 很简单,使用 Ubuntu 软件包管理器下载安装即可:

$ sudo apt-get install acidbase

安装过程中需要输入 acidbase 选择使用的数据库,这里选 MySQL,根用户口令 test,和 acid-base 的口令(貌似也可以跳过不设置)。

将acidbase从安装目录中拷贝到www目录中,也可以直接在apache中建立一个虚拟目录指向安装目录,这里拷贝过来主要是为了安全性考虑。

sudo cp –R /usr/share/acidbase/ /var/www/

因为 acidbase 目录下的 base_conf.php 原本是一个符号链接指向 /etc/acidbase/ 下的base_conf.php,为了保证权限可控制,我们要删除这个链接并新建 base_conf.php 文件。

$ rm base_conf.php

$ touch base_conf.php

暂时将 /var/www/acidbase/ 目录权限改为所有人可写,主要是为了配置 acidbase 所用。

$ sudo chmod 757 acidbase/

现在就可以开始配置 acid-base 了,在浏览器地址栏中输入 http://localhost/acidbase,就会转入安装界面,然后就点击 continue 一步步地进行安装:

选择语言为 english,adodb 的路径为:/usr/share/php/adodb;选择数据库为 MySQL,数据库名为 snort,数据库主机为 localhost,数据库用户名为 snort 的口令为 snort-db;设置 acidbase 系统管理员用户名和口令,设置系统管理员用户名为 admin,口令为 test。然后一路继续下去,就能安装完成了。

安装完成后就可以进入登录界面,输入用户名和口令,进入 acidbase 系统。

这里需要将 acidbase 目录的权限改回去以确保安全性,然后在后台启动 snort,就表明 snort 入侵检测系统的安装完成并正常启动了:

$ sudo chmod 775 acidbase/

$ sudo snort -c /etc/snort/snort.conf -i eth0 –D

[检查入侵检测系统工作状况,更改入侵检测规则]

正常情况下在一个不安全的网络中,登录 acidbase 后一会儿就能发现网络攻击。如果没有发现网络攻击,可以添加更严格的规则使得正常的网络连接也可能被报攻击,以测试 Snort IDS 的工作正确性,比如在 /etc/snort/rules/web-misc.rules 的最后添加下面的话:

$ sudo vi /etc/snort/rules/web-misc.rules

alert tcp any :1024 ->$HTTP_SERVER 500:

这一行的意思是:对从任何地址小于 1024 端口向本机 500 以上端口发送的 tcp 数据包都报警。杀死 Snort 的后台进程并重新启动,就应该能检测到正常的包也被当作攻击了。

$ sudo kill `pgrep snort`

$ sudo snort –c /etc/snort/snort.conf –i eth0 -D

总结

使用Ubuntu安装Snort入侵检测系统和网页控制台是相当容易的,因为 Ubuntu 提供了很方便的软件包安装功能,只是有时候定制性能太差,需要用户手动去寻找软件包的安装位置。


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

原文地址: http://outofmemory.cn/sjk/9409605.html

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

发表评论

登录后才能评论

评论列表(0条)

保存