$ 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 提供了很方便的软件包安装功能,只是有时候定制性能太差,需要用户手动去寻找软件包的安装位置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)