首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设置snort

使用Snort进行入侵检测

Snort是一个流行的开源入侵检测系统。您可以从http://www.snort.org/获取。Snort分析流量并尝试检测并记录可疑活动。Snort还能够根据分析结果发送警报。

Snort安装

对于本课程,我们将从源代码安装。另外,我们不会安装标准版本的snort,而是将它编译成发送日志到MySQL数据库。另外,我们将安装一个基于网络的工具SnortReport,以便我们可以轻松访问Snort提供给我们的信息。我们从Snort本身开始。

下载最新的tarball并将其解压到一个方便的地方,或许你正在解压源代码对于我们在这个课程中处理的其他软件包。我们将配置Snort将其警报记录到MySQL数据库,所以我们假设你已经安装了MySQL。如果你是在Fedora Core上安装它,那么你也应该安装Perl正则表达式开发库。这些可作为RPM使用。(从你最喜欢的RPM仓库中选择pcre-devel.X.rpm)

另外,在编译之前,你应该为snort添加一个组和用户:

码:

groupadd snort

码:

useradd -g snort snort -s / dev / null

现在,你可以自由地开始编译。使用snort源代码转到目录,然后发出以下命令:

码:

./configure --with-mysql

然后:

码:

make

和(作为根)

码:

make install

Snort的基础是一系列规则。这些规则需要从tarball源中的目录规则复制到/ etc / snort / rules /中。你也应该把那里发现的任何配置文件复制到/ etc / snort /(本质上是cp * .rules / etc / snort / rules /,cp * .conf / etc / snort,cp * .config / etc / snort,cp * .map / etc / snort)

设置Snort

首先,我们需要修改snort.conf文件以反映我们网络的细节。在这个文件中,你会发现下面的变量:

码:

var HOME_NET X.X.X.X/X

您需要将其更改为您的网络所在的范围。例如,对于典型的C类网络,您可以将X更改为192.168.0.0/16。另外,确保你的RULE_PATH变量指向/ etc / snort / rules。

由于我们将Snort配置为将其警报记录到MySQL数据库中,因此我们需要做一些事情来做好准备。首先,在snort.conf文件中,您需要添加以下行

码:

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

现在我们需要创建“snort”数据库。要做到这一点,执行下面的命令(当然,这是假定你在机器上拥有MySQL'root'用户权限)

码:

mysqladmin -u root -p create snort

现在,打开一个MySQL shell并创建'snort'用户,并为表创建,插入,选择,删除和更新权限。

码:

grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snort@localhost;

然后为上面使用的用户“snort”设置密码:

码:

SET PASSWORD FOR snort@localhost=PASSWORD('XXXXX');

现在我们需要在snort数据库中创建主表。为此,请输入“contrib”目录,在其中放置snort源代码并发出以下命令:

码:

mysql -u root -p < create_mysql snort

那么我们需要创建一些额外的表格。执行此操作的最佳方法是使用以下命令:

码:

zcat snortdb-extra.gz /usr/local/mysql/bin/mysql -p snort

现在,你应该拥有snort MySQL系统的所有必要的表。做一个“展示桌子”查询显示这个:

码:

+------------------+ Tables_in_snort +------------------+ data detail encoding event flags icmphdr iphdr opt protocols reference reference_system schema sensor services sig_class sig_reference signature tcphdr udphdr +------------------+

现在一切都准备好了,“snort”开始记录警报。

SnortReport

有一个伟大的基于网络的前端来监视snort报警,称为SnortReport。它用PHP编写,可以轻松安装到snort所在机器上的Web服务器上。它可从Circuits Maximus获得:http://www.circuitsmaximus.com/

SnortReport将按协议类型显示警报的图形表示。这个图需要libphp-jpgraph库。这实际上构成了Debian软件包的一部分,但是可以在Ibibilo找到源代码。您还需要启用GD库的PHP安装。这通常是默认启用的,所以如果您安装了PHP4或更新的版本,则不需要进一步的努力。

要安装,只需解压SnortReport来源的网页找到你的网页。然后将组成libphp-jpgraph的php文件复制到名为“jpgraph”/ snortreport目录的子目录中,因为这是我们要告诉SnortReport查找它们的地方。然后打开文件'srconf.php',改变用户'snort'的MySQL密码变量($ pass =“XXXXX”)。接下来,确保'jpgraph'路径的变量指向我们想要的位置它:

码:

define("JPGRAPH_PATH", "./jpgraph/");

您不必启用图表。在srconf.php文件中,如果您没有启用GD的PHP安装或jpgraph,则可以设置为“FALSE”的变量。

现在,如果您将浏览器指向SnortReport所在的位置,您应该可以看到如下内容:

现在,您可以对Snort入侵检测系统进行基于Web的监视。

更新和添加Snort规则

正如我们所提到的,snort基于/ etc / snort / rules中的一组规则进行活动。您可以在http://www.snort.org/dl/rules/下载新的规则。您应该抓取与您正在使用的Snort版本相对应的tarball。在写这篇文章的时候,Snort在版本2.x上。确保你得到了特定的'.x'的压缩包。(即2.1,2.2,

如果您管理一台或两台服务器,那么只需获取最新的tarball,然后手动更新即可。你可以重命名旧的“规则”目录规则.YYYYMMDD,或者你喜欢的任何东西,并把新的规则目录放在原来的位置,然后重新启动Snort。如果你不仅仅是几台机器的系统管理员,那么创建一个脚本来完成这个任务是很有意义的。还有一个叫做“Oinkmaster”的流行工具来更新和管理snort规则。它可以在http://oinkmaster.sourceforge.net/上找到。他们的网页有关于如何使用这个工具保持你的规则最新的优秀文档。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180115G0NM0F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券