Snort安装
本章描述:
该模块涵盖整个安装过程,包括一些额外的组件,以更好地管理,存储和接收警报反馈。 为了使其正常工作, 还将安装几个额外的支持包。 此安装将在Linux平台上执行,因为所有进行安装所需的工具都可以免费使用。
本章目的:
- 构建安全OS基础
- 理解基本的安装过程
- 通过组合的RPM安装包和源代码进行安装
- 讨论RPM数据包更新工具
- 执行安装和初始化配置
- 验证安装
Snort安装之前的准备
Snort安装将包括Snort核心之上和之外的组件。 这些组件将从源代码而不是RPM安装。
这使您能够根据要编译的特性和功能生成的二进制文件,已获得最大限度的控制。
Snort:
- Snort 核心,目前本实验使用的是2.9.1版
- snortrules-snapshot-2900.tar.gz
- daq-0.6.1 - 数据获取模块
- libpcap 1.1.1 - 抓包库
- pcre 7.9 - 提供Perl兼容正则表达式的库
- libdnet - 1.11 - 为snort提供弹性响应能力的库
- Barnyard2-1.9 - 这个数据包将会被安装,后面的章节会仔细讨论它。它是Snort输出处理模块包,被设计用来减轻snort进程输出操作的计算负荷
安装Snort和它的组件
在这部分实验中,您将安装运行Snort,Snort核心和Snort规则所需的几个组件。 然后,您将配置MySQL数据库以接收Snort警报。
- 安装PCRE库 需要此软件包才能启用Snort的Perl兼容正则表达式功能。 使用这些库,您可以在创建的规则中使用PCRE,并且随Snort发行版,依赖于PCRE的规则才可以正常工作。
- 安装libpcap 这个包允许DAQ从网络上读取数据包的软件包。
- 安装libdnet 该软件包允许将DAQ用于NFQ和IPQ模式以及主动响应。
- 安装DAQ 数据采集库是允许Snort从网线上读取数据包的组件。
- 安装snort
注意,用于构建Snort二进制文件的配置选项决定了哪一个
Snort的功能将会启用。 这里使用的选项是Sourcefire推荐的编译选项。 在上面的示例中,执行编译时选项会以下操作:
- IPv6
- GRE
- MPLS
- Targetbased
- Decoder-preprocessor-rules
- PPM
- Perfprofiling
- Zlib
- Active-response
- Normalizer
- Reload
- React
- Flexresp3
- 为Snort和Snort规则创建一个/etc目录。 然后,复制配置文件并解压规则。
- 创建一个Snort用户和用户组
在snort.conf文件做一些初始化配置
为了使Snort系统在某个状态下运行,可以进行测试以确保其正常工作,您必须在snort.conf文件中进行一些初始配置。该文件将在下面的章节中详细介绍。
用vim编辑器打开`/etc/snort/snort.conf`:
搜索
var RULEPATH
字符串,使用/RULE_PATH
搜索这个变量的值可能已经设置到
../rules
相关的目录。 把它改为:var RULE_PATH /etc/snort/rules
编辑下面的行,如下面的例子:
var SO_RULE_PATH /etc/snort/so_rules
编辑下面的行,如下面的例子:
var PREPROC_RULE_PATH /etc/snort/preproc_rules
在下面的例子中,注释掉以下几行(约479至484行):
- 这些行控制了我们稍后将介绍的预处理器声誉。
接下来,搜索下面三行:
#include $PREPORC_RULE_PATH/preprocessor.rules
#include $PREPORC_RULE_PATH/decoder.rules
#include $PREPORC_RULE_PATH/sensitive-data.rules
把它们的注释取消掉。
启动Snort
- 测试Snort
运行Snort进行安装后的测试,以确保它没有发生错误,如下所示:
[root@snortbox]# snort -i eth1 -c /etc/snort/snort.conf -A console
- 输入此命令后,您将看到一系列消息滚动屏幕。 最终,它将以类似于下面描述的屏幕停止。
- 要生成一些警报,请登录到attila。您可以使用桌面工具Putty通过SSH访问attila的控制台
,登录后,您可以执行以下操作
生成警报。
运行一个nmap扫描 - 从attila的命令行,敲出下面的命令:
[root@attila ~ ] # nmap -sS -O 192.168.133.1,60,253