一起做网站17怎么下单,深圳网站开发电话,网站建设的培训班,东莞市建设局网app使用 Snort 进行入侵检测 Snort 是一种流行的开源入侵检测系统。您可以在http://www.snort.org/上获取它。Snort 分析流量并尝试检测和记录可疑活动。Snort 还能够根据其所做的分析发送警报。
Snort 安装
在本课中#xff0c;我们将从源代码安装。此外#xff0c;我们不会安…使用 Snort 进行入侵检测 Snort 是一种流行的开源入侵检测系统。您可以在http://www.snort.org/上获取它。Snort 分析流量并尝试检测和记录可疑活动。Snort 还能够根据其所做的分析发送警报。
Snort 安装
在本课中我们将从源代码安装。此外我们不会安装标准版的 snort而是对其进行编译以将其记录的内容发送到 MySQL 数据库。此外我们将安装一个基于 Web 的工具 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
并且以 root 身份
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, usersnort passwordXXXXX dbnamesnort hostlocalhost
现在我们需要创建“snort”数据库。为此请执行以下命令当然这假设您在机器上拥有 MySQL“root”用户权限
mysqladmin -u root -p create snort
现在打开 MySQL shell 并创建“snort”用户并授予表的创建、插入、选择、删除和更新权限。
grant CREATE, INSERT, SELECT, DELETE, UPDATE on snort.* to snortlocalhost;
然后为您上面使用的用户‘snort’设置密码
SET PASSWORD FOR snortlocalhostPASSWORD(XXXXX);
现在我们需要在 snort 数据库中创建主要表。为此请进入放置 snort 源代码的“contrib”目录并发出以下命令
mysql -u root -p create_mysql snort
然后我们需要创建一些额外的表。最好的方法是使用以下命令
zcat snortdb-extra.gz |/usr/local/mysql/bin/mysql -p snort
现在您应该拥有 snort MySQL 系统所需的所有表。执行“show tables;”查询将显示以下内容
------------------
| 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有一个很棒的基于 Web 的前端用于监控 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/);
您不必启用图表。如果您没有启用 GD 的 PHP 安装或 jpgraph则可以在文件 srconf.php 中将变量设置为“FALSE”。
现在如果您将 Web 浏览器指向 SnortReport 所在的位置则应该看到类似以下内容
现在您可以基于 Web 监控 Snort 入侵检测系统。
更新和添加 Snort 规则
正如我们提到的snort 根据 /etc/snort/rules 中的一组规则开展活动。您可以在http://www.snort.org/dl/rules/下载新规则。您应该获取与您正在使用的 Snort 版本相对应的 tarball。在撰写本文时Snort 的版本为 2.x。请确保获取特定“.x”的 tarball。即 2.1、2.2、ETC。
如果您管理一两台服务器那么在最新的 tarball 发布后获取它并手动更新可能比较实用。您可以重命名旧的“规则”目录 rules.YYYYMMDD 或任何您喜欢的名称然后将新的规则目录放在其位置并重新启动 Snort。如果您是多台机器的系统管理员那么创建一个脚本来完成此操作是有意义的。还有一个名为“Oinkmaster”的流行工具可用于更新和管理 snort 规则。它位于http://oinkmaster.sourceforge.net/。他们的页面有关于如何使用此工具来使您的规则保持最新的出色文档。