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

chmod-R775/var/log/snort

chmod-R775/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_NET192.168.1.0/24# LAN sideipvar EXTERNAL_NET!$HOME_NET# WAN side

veriable set

varRULE_PATH/etc/snort/rules# snort signature path

varSO_RULE_PATH/etc/snort/so_rules#rules in shared libraries

varPREPROC_RULE_PATH/etc/snort/preproc_rules# Preproces path

varWHITE_LIST_PATH/etc/snort/rules# dont scan

varBLACK_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捕获文件进行测试和分析

相关阅读:

Snort 的详细介绍:请点这里

Snort 的下载地址:请点这里

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Linux 启动snort服务,在 Ubuntu 15.04 中如何安装和使用 Snort相关推荐

  1. linux紧急救援模式,如何在 Ubuntu 18.04 中启动到救援模式或紧急模式

    正如你可能已经知道的那样,运行级别 在许多最近的 Linux 发行版(如 RHEL 7 和 Ubuntu 16.04 LTS)中被 systemd 的目标 替换.在这个简短的教程中,我们将看到如何启动 ...

  2. linux终端 多标签,Linux有问必答:如何在 Ubuntu 15.04 的 GNOME 终端中开启多个标签...

    问: 我以前可以在我的 Ubuntu 台式机中的 gnome-terminal 中开启多个标签.但升到 Ubuntu 15.04 后,我就无法再在 gnome-terminal 窗口中打开新标签了.要 ...

  3. linux桌面天气,如何在Ubuntu 20.04中显示我的天气指示器 · My Weather Indicator

    原标题:如何在Ubuntu 20.04中显示我的天气指示器 · My Weather Indicator 来自:https://www.linuxmi.com 如果你在寻找适用于Ubuntu的桌面天气 ...

  4. linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法

    本文介绍在Ubuntu 18.04操作系统下安装pyenv的方法,使用它可以进行Python多版本管理,目的是防止不同的Python版本因为不兼容而出现错误.安装pyenv其实非常的简单,只需要在系统 ...

  5. linux图片编辑工具,如何在Ubuntu 18.04中安装Pinta图像编辑器

    在本文中,我们将学习如何在Ubuntu 18.04中安装Pinta图像编辑器. Pinta是一个免费的开源GNOME绘画应用程序,可用于编辑图像和绘画. Pinta由Jonathan Post于201 ...

  6. 在linux搭建wiki教程,在Ubuntu 16.04系统上安装WikkaWiki

    一.WikkaWiki介绍 WikkaWiki是一个灵活的.兼容标准的.轻量级的.平台独立的开源Wiki引擎,它使用PHP语言开发,后端存储采用了MySQL数据库.WikkaWiki的设计目标是速度快 ...

  7. teamviewer 11 linux,Ubuntu 15.10中如何安装TeamViewer 11

    TeamViewer 是一个专业的远程控制.桌面共享.在线会议.网络会议和电脑之间传输文件的工具,可以同时跨平台支持 Microsoft Windows.OS X.Linux 桌面.iOS.Andro ...

  8. Linux如何卸载slurm,在Ubuntu 16.04桌面上安装/模拟SLURM:slurmd无法启动

    编辑 我真正想要的是一种模仿SLURM的方法,一种可以安装的交互式和合理用户友好的方式. 原帖 我想用SLURM测试一些最小的例子,我试图用Ubuntu 16.04在本地机器上安装它.我跟随the m ...

  9. ubuntu linux 启动日志,如何在Ubuntu 18.04 LTS上查看系统日志文件

    Linux管理员应该能够阅读和理解所有Linux系统生成的各种消息,以便对问题进行故障排除.这些消息称为日志,由Linux及其上运行的应用程序启动. Linux通过各种配置文件,程序,命令和守护程序不 ...

最新文章

  1. Linux_RHEL_设置网络
  2. 【Python】大神教你五分钟搞清楚Python函数的参数!
  3. 聊了一个小时,一名电子专业研究生的困惑
  4. Hibernate 入门----第一个Hibernate应用程序
  5. SQL中不建议使用 where 1=1 的说法,是错误的
  6. Linux学习之Vim使用
  7. 共用体变量不能在定义时初始化_【C语言资料更新】共用体联合体
  8. 3. JavaScript Date 对象
  9. 解决 iOS 13 定位权限弹框自动消失
  10. oracle数据存储层级
  11. 锐捷服务器虚拟化技术_交换机虚拟化技术.ppt
  12. 泛型中的 T、E、K、V,还记得嘛?
  13. ZigBee TI ZStack CC2530 4.1 三种网络设备类型
  14. 下一代图像压缩格式科普---HEIF 与AVIF格式
  15. 裁剪图片 华为手机显示为圆
  16. 回归学习算法---偏最小二乘回归、PCA降维与理论
  17. 【转】 计算机视觉、图像处理学习资料汇总
  18. 富文本粘贴word文档内容图片处理
  19. 南昌大学计算机考研2021,2021南昌大学考研参考书目
  20. 6-1 jmu-python-组合数据类型-1.计算坐标点欧氏距离 (10 分)

热门文章

  1. iOS 使用mp4v2合成的视频注意事项
  2. ios录制视频时audio丢失
  3. C#之ActionBlock异步关闭死锁
  4. server2012和2016提示wlanapi.dll丢失问题
  5. notepad怎么运行php程序,notepad怎么运行代码
  6. 数据三等分离散python_plotnine:Python版的ggplot2包
  7. 为什么要打jar_为什么海带要打一个结?
  8. java基本类型有缓冲区类型的有_Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类...
  9. pdfdom将pdf转成html,使用pdfdom将pdf转为html(示例代码)
  10. curl 慢 不稳定_徐工起重机:龟速一样"慢"的机器,竟还有人抢着买?