在 Ubuntu 15.04 中如何安装和使用 Snort

发布于 2024-11-11 02:17:56 字数 7679 浏览 6 评论 0

对于网络安全而言入侵检测是一件非常重要的事。入侵检测系统(IDS)用于检测网络中非法与恶意的请求。Snort 是一款知名的开源的入侵检测系统。其 Web 界面(Snorby)可以用于更好地分析警告。Snort 使用 iptables/pf 防火墙来作为入侵检测系统。本篇中,我们会安装并配置一个开源的入侵检测系统 snort。

Snort 安装

要求

snort 所使用的数据采集库(DAQ)用于一个调用包捕获库的抽象层。这个在 snort 上就有。下载过程如下截图所示。

downloading_daq

解压并运行./configure、make、make install 来安装 DAQ。然而,DAQ 要求其他的工具,因此,./configure 脚本会生成下面的错误。

flex 和 bison 错误

flexandbison_error

libpcap 错误

libpcap error

因此在安装 DAQ 之前先安装 flex/bison 和 libcap。

install_flex

如下所示安装 libpcap 开发库

libpcap-dev installation

安装完必要的工具后,再次运行./configure 脚本,将会显示下面的输出。

without_error_configure

make 和 make install 命令的结果如下所示。

make install

make

成功安装 DAQ 之后,我们现在安装 snort。如下图使用 wget 下载它。

downloading_snort

使用下面的命令解压安装包。

#tar -xvzf  snort-2.9.7.3.tar.gz

snort_extraction

创建安装目录并在脚本中设置 prefix 参数。同样也建议启用包性能监控(PPM)的 sourcefire 标志。

#mkdir /usr/local/snort

#./configure --prefix=/usr/local/snort/ --enable-sourcefire

snort_installation

配置脚本会由于缺少 libpcre-dev、libdumbnet-dev 和 zlib 开发库而报错。

配置脚本由于缺少 libpcre 库报错。

pcre-error

配置脚本由于缺少 dnet(libdumbnet)库而报错。

libdnt error

配置脚本由于缺少 zlib 库而报错

zlib error

如下所示,安装所有需要的开发库。

# aptitude install libpcre3-dev

libpcre3-dev install

# aptitude install libdumbnet-dev

libdumnet-dev installation

# aptitude install zlib1g-dev

zlibg-dev installation

安装完 snort 需要的库之后,再次运行配置脚本就不会报错了。

运行 make 和 make install 命令在/usr/local/snort 目录下完成安装。

# make

make snort

# make install

make install snort

最后,从/usr/local/snort/bin 中运行 snort。现在它对 eth0 的所有流量都处在 promisc 模式(包转储模式)。

snort running

如下图所示 snort 转储流量。

traffic

Snort 的规则和配置

从源码安装的 snort 还需要设置规则和配置,因此我们需要复制规则和配置到/etc/snort 下面。我们已经创建了单独的 bash 脚本来用于设置规则和配置。它会设置下面这些 snort 设置。

  • 在 linux 中创建用于 snort IDS 服务的 snort 用户。
  • 在/etc 下面创建 snort 的配置文件和文件夹。
  • 权限设置并从源代码的 etc 目录中复制数据。
  • 从 snort 文件中移除规则中的#(注释符号)。
#!/bin/bash#
# snort 源代码的路径
snort_src="/home/test/Downloads/snort-2.9.7.3"
echo "adding group and user for snort..."
groupadd snort &> /dev/null
useradd snort -r -s /sbin/nologin -d /var/log/snort -c snort_idps -g snort &> /dev/null#snort configuration
echo "Configuring snort..."mkdir -p /etc/snort
mkdir -p /etc/snort/rules
touch /etc/snort/rules/black_list.rules
touch /etc/snort/rules/white_list.rules
touch /etc/snort/rules/local.rules
mkdir /etc/snort/preproc_rules
mkdir /var/log/snort
mkdir -p /usr/local/lib/snort_dynamicrules
chmod -R 775 /etc/snort
chmod -R 775 /var/log/snort
chmod -R 775 /usr/local/lib/snort_dynamicrules
chown -R snort:snort /etc/snort
chown -R snort:snort /var/log/snort
chown -R snort:snort /usr/local/lib/snort_dynamicrules
###copy  configuration and rules from  etc directory under source code of snort
echo "copying from snort source to /etc/snort ....."
echo $snort_src
echo "-------------"
cp $snort_src/etc/*.conf* /etc/snort
cp $snort_src/etc/*.map /etc/snort##enable rules
sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
echo "---DONE---"

改变脚本中的 snort 源目录路径并运行。下面是成功的输出。

running script

上面的脚本从 snort 源中复制下面的文件和文件夹到/etc/snort 配置文件中

files copied

snort 的配置非常复杂,要让 IDS 能正常工作需要进行下面必要的修改。

ipvar HOME_NET 192.168.1.0/24  # LAN side

ipvar EXTERNAL_NET !$HOME_NET   # WAN side

veriable set

var RULE_PATH /etc/snort/rules     # snort signature path
var SO_RULE_PATH /etc/snort/so_rules        #rules in shared libraries
var PREPROC_RULE_PATH /etc/snort/preproc_rules  # Preproces path
var WHITE_LIST_PATH /etc/snort/rules        # dont scan
var BLACK_LIST_PATH /etc/snort/rules        #  Must scan

main path

include $RULE_PATH/local.rules   # file for custom rules

移除 ftp.rules、exploit.rules 前面的注释符号(#)。

path rules

现在 下载社区规则 并解压到/etc/snort/rules。启用 snort.conf 中的社区及紧急威胁规则。

wget_rules

community rules

进行了上面的更改后,运行下面的命令来检验配置文件。

# snort -T -c /etc/snort/snort.conf

snort running

总结

本篇中,我们关注了开源 IDPS 系统 snort 在 Ubuntu 上的安装和配置。通常它用于监控事件,然而它可以被配置成用于网络保护的在线模式。snort 规则可以在离线模式中可以使用 pcap 捕获文件进行测试和分析。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

我最亲爱的

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

安静被遗忘

文章 0 评论 0

喔爱吃橙子

文章 0 评论 0

草莓味的萝莉

文章 0 评论 0

梦里兽

文章 0 评论 0

mb_83J3Cyxa

文章 0 评论 0

时间海

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文