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

对于网络安全而言入侵检测是一件非常重要的事。入侵检测系统(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

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


  1. #tar -xvzf snort-2.9.7.3.tar.gz

snort_extraction

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


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

snort_installation

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

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

pcre-error

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

libdnt error

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

zlib error

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


  1. # aptitude install libpcre3-dev

libpcre3-dev install


  1. # aptitude install libdumbnet-dev

libdumnet-dev installation


  1. # aptitude install zlib1g-dev

zlibg-dev installation

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

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


  1. # make

make snort


  1. # 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文件中移除规则中的#(注释符号)。

  1. #!/bin/bash#
  2. # snort源代码的路径
  3. snort_src="/home/test/Downloads/snort-2.9.7.3"
  4. echo "adding group and user for snort..."
  5. groupadd snort &> /dev/null
  6. useradd snort -r -s /sbin/nologin -d /var/log/snort -c snort_idps -g snort &> /dev/null#snort configuration
  7. echo "Configuring snort..."mkdir -p /etc/snort
  8. mkdir -p /etc/snort/rules
  9. touch /etc/snort/rules/black_list.rules
  10. touch /etc/snort/rules/white_list.rules
  11. touch /etc/snort/rules/local.rules
  12. mkdir /etc/snort/preproc_rules
  13. mkdir /var/log/snort
  14. mkdir -p /usr/local/lib/snort_dynamicrules
  15. chmod -R 775 /etc/snort
  16. chmod -R 775 /var/log/snort
  17. chmod -R 775 /usr/local/lib/snort_dynamicrules
  18. chown -R snort:snort /etc/snort
  19. chown -R snort:snort /var/log/snort
  20. chown -R snort:snort /usr/local/lib/snort_dynamicrules
  21. ###copy configuration and rules from etc directory under source code of snort
  22. echo "copying from snort source to /etc/snort ....."
  23. echo $snort_src
  24. echo "-------------"
  25. cp $snort_src/etc/*.conf* /etc/snort
  26. cp $snort_src/etc/*.map /etc/snort##enable rules
  27. sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf
  28. echo "---DONE---"

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

running script

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

files copied

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


  1. ipvar HOME_NET 192.168.1.0/24 # LAN side


  1. ipvar EXTERNAL_NET !$HOME_NET # WAN side

veriable set


  1. var RULE_PATH /etc/snort/rules # snort signature path
  2. var SO_RULE_PATH /etc/snort/so_rules #rules in shared libraries
  3. var PREPROC_RULE_PATH /etc/snort/preproc_rules # Preproces path
  4. var WHITE_LIST_PATH /etc/snort/rules # dont scan
  5. var BLACK_LIST_PATH /etc/snort/rules # Must scan

main path


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

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

path rules

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

wget_rules

community rules

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


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

snort running

总结

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

本文来自合作伙伴“Linux中国”,原文发布日期:2015-09-03

时间: 2024-10-30 05:10:42

在 Ubuntu 15.04 中如何安装和使用 Snort的相关文章

如何在 Ubuntu 15.04 中安装 puppet

如何在 Ubuntu 15.04 中安装 puppet 大家好,本教程将学习如何在 ubuntu 15.04 上面安装 puppet,它可以用来管理你的服务器基础环境.puppet 是由 puppet 实验室Puppet Labs开发并维护的一款开源的配置管理软件,它能够帮我们自动化供给.配置和管理服务器的基础环境.不管我们管理的是几个服务器还是数以千计的计算机组成的业务报表体系,puppet 都能够使管理员从繁琐的手动配置调整中解放出来,腾出时间和精力去提系统的升整体效率.它能够确保所有自动化

在Ubuntu 15.04中安装Ruby on Rails

本篇我们会学习如何用rbenv在Ubuntu 15.04中安装Ruby on Rails.我们选择Ubuntu作为操作系统是因为Ubuntu是Linux发行版中自带很多包和完整文档的操作系统,因此我认为这是正确的选择.如果你还没有安装最新的Ubuntu,你可以从下载iso文件开始. 安装 Ruby 我们要做的第一件事是更新Ubuntu包并且为Ruby安装一些依赖. sudo apt-get update sudo apt-get install git-core curl zlib1g-dev

如何在 Ubuntu 15.04 中安装 nginx 和 google pagespeed

Nginx (engine-x)是一个开源的高性能 HTTP 服务器.反向代理和 IMAP/POP3 代理服务器.nginx 杰出的功能有:稳定.丰富的功能集.简单的配置和低资源消耗.nginx 被用于一些高性能网站并在站长之间变得越来越流行.本教程会从源码构建一个带有 google paespeed 模块的用于 Ubuntu 15.04 的 nginx .deb 安装包. pagespeed 是一个由 google 开发的 web 服务器模块来加速网站响应时间.优化 html 和减少页面加载时

ubuntu 15.04系统怎么安装qq?

  新装的ubuntu不能没有QQ,我们需要安装QQ来进行及时交流呀,那么该如何在ubuntu下面安装QQ呢. 1.先升级一下ubuntu系统中的安装源 指令:sudo apt-get update,以便于接下来的操作. 2.更新完成后,我们接着来安装wine 没错,TX不再研发linux内核下面的QQ了,so,只能用wine安装了.安装wine的指令是:sudo apt-get install wine1.6,个人建议安装1.6哈,1.7安装容易安装不上. 3.wine安装过程中有些问题,就是

Ubuntu 15.04系统怎么安装Visual Studio Code 2015?

  不是我不明白,这世界变化快!微软面向 Linux 平台推出了 Visual Studio 2015!昔日的对头,如今正走向融合.这么喜大普奔的事,我准备挑战一下微软重量级软件在 Linux 平台上的安装.然没想到哇.根本没有我想象中的挑战性.看完你就知道了. 1.百度 "Visual Studio Downloads"这一溜关键词,在搜索结果中打开 Visual Studio 的主页. 2.可以看到页面上有三个磁贴状方块,最右边的是 Visual Studio Code,我们点击它

如何在Ubuntu 14.04中安装最新版Eclipse

想必很多开发人员都知道,Ubuntu 软件源中提供的并不是最新版本的 Eclipse,本教程就教大家如何在 Ubuntu 14.04 中快速安装 Eclipse 官方发布的最新版本. 到目前为止,Eclipse 的官方最新版本为 Eclipse Kepler (4.3.2),我们可以使用如下步骤在 Ubuntu 14.04 或其它 Ubuntu 版本中进行快速安装. 1.安装OpenJDK Java 7 如果你的系统中没有安装 Java,我们需要按如下步骤事先安装好 OpenJDK Java 7

如何在 Ubuntu 15.04 系统中安装 Logwatch

大家好,今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件,它也可以在各种 Linux 系统和类 Unix 系统上安装.Logwatch 是一款可定制的日志分析和日志监控报告生成系统,它可以根据一段时间的日志文件生成您所希望关注的详细报告.它具有易安装.易配置.可审查等特性,同时对其提供的数据的安全性上也有一些保障措施.Logwatch 会扫描重要的操作系统组件像 SSH.网站服务等的日志文件,然后生成用户所关心的有价值的条目汇总报告. 预安装设置 我们会使用

如何在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器

Lighttpd 是一款开源 Web 服务器软件.Lighttpd 安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化.相对于其它的 Web 服务器而言,Lighttpd 占用内存更少:因其对 CPU 占用小和对处理速度的优化而在效率和速度方面从众多 Web 服务器中脱颖而出.而 Lighttpd 诸如 FastCGI.CGI.认证.输出压缩.URL 重写等高级功能更是那些面临性能压力的服务器的福音. 以下便是我们在运行 Ubuntu 15.04 或 CentOS 7 Linux 发行

Ubuntu 15.04下安装Node.JS的不同方式

如果你要在Ubuntu 15.04上安装Node.js的话,这篇教程对你来说肯定很重要.Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序.Node.js巧妙的使用单线程的事件循环来处理高吞吐量和非阻塞IO.同时它也是一个提供了通过操作系统读写文件和网络操作功能的平台层.所以这篇文章将展示在Ubuntu 15.04 server上不同的安装Node.Js的方式. 安装Node.JS 的方法 有许多安装Node.JS的不同的方法,我们可以选择其一.通过本