目录导航
snort简介
Snort 是世界上最重要的开源入侵防御系统 (IPS)。
Snort IPS 使用一系列规则来帮助定义恶意网络活动,并使用这些规则查找与其匹配的数据包并为用户生成警报。
也可以内联部署 Snort 来阻止这些数据包。
Snort 有三个主要用途:
作为 tcpdump 之类的数据包嗅探器,
作为数据包记录器——这对网络流量调试很有用,
或者它可以用作成熟的网络入侵防御系统。
Snort 可以下载和配置用于个人和商业用途。
Snort 支持的操作系统
尽管 Snort 可以在几乎所有基于 *nix 的机器上编译,但不建议您在低功耗或低 RAM 的机器上编译 Snort。Snort 需要内存才能运行并正确分析尽可能多的流量。
Snort 不正式支持任何特定的操作系统。但是,我们确实支持共享对象规则的一些平台,并且 Snort 已被验证可以在以下平台上运行并且运行良好:
Alpine 3.10/i386
Alpine 3.10/x86-64
Centos-6-9/i386
Centos- 6-9/x86-64
Centos-7-4/i386
Centos-7-4/x86-64
Debian-8/i386
Debian-8/x86-64
Debian-9/i386
Debian-9/x86-64
Fedora Core 27 /x86-64
Fedora Core 30/x86-64
FreeBSD-11-1/i386
FreeBSD-11-1/x86-64
FreeBSD-12-0/x86-64
OpenBSD-6-2/i386
OpenBSD-6-2/x86 -64
OpenBSD-6-4/i386
OpenBSD-6-4/x86-64
OpenBSD-6-5/i386
OpenBSD-6-5/x86-64
OpenSUSE LEAP 15.0/x86-64
OpenSUSE LEAP 15.1/x86-64
OpenSUSE LEAP 42.3/x86-64
RHEL-6-0/i386/
RHEL-6 x86-64
RHEL-7-0/x86-64
RHEL-8-0/x86-64
Slackware-14.2/x86-64
Ubuntu 14.04.5/i386
Ubuntu 14/04/5/x86-64
Ubuntu 16.04.3/i386
Ubuntu 16.04.3/x86-64
Ubuntu 17.10.1/i386
Ubuntu 17.10.1/x86-64
Ubuntu 18.04 LTS x86-64
Windows
Snort 3.0
Snort 3版本已发布,接下来将以snort3为例进行介绍
概述
Snort 3.0 是 Snort 入侵防御系统 (IPS) 的更新版本,它采用全新设计,提供 Snort 2.X 功能的超集,具有更好的吞吐量、检测、可扩展性和可用性。
Snort 3.0 的一些主要特性包括:
- 支持多线程包处理
- 使用共享配置和属性表
- 无端口配置的自动检测服务
- 模块化设计
- 包含 200 多个插件的插件框架
- 更具可扩展性的内存配置文件
- LuaJIT 配置、记录器和规则选项
- 超扫描支持
- 重写的 TCP 处理
- 新的规则解析器和语法
- 服务规则,如alert http
- 规则“粘性”缓冲区
- 更好的 SO 规则
- 新的 HTTP 检查器
- 新的性能监视器
- 新的时间和空间剖析
- 新的延迟监控和执行
- snort便于组件测试
- 检查事件
- Automake 和 Cmake
- 自动生成参考文档
附加功能在路线图上:
- 使用共享网络地图
- 支持硬件卸载以实现快速模式加速
- 提供对DPDK和ODP的支持
- 支持数据包处理流水线
- 支持代理模式
- 多租户支持
- 增量重装
- 性能数据和事件的新序列化
- 增强的规则处理
- windows支持
- 异常检测
- 等等….
snort3.0下载地址
libdaq-v3.0.5.tar.gz
snort3_demo-3.1.17.0.tar.gz
snort3_extra-3.1.17.0.tar.gz
snort3-3.1.17.0.tar.gz
snort安装方法
①源码安装
wget https://snort.org/downloads/snort/daq-2.0.7.tar.gz
wget https://snort.org/downloads/snort/snort-2.9.18.1.tar.gz
tar xvzf daq-2.0.7.tar.gz
cd daq-2.0.7
./configure && make && sudo make install
tar xvzf snort-2.9.18.1.tar.gz
cd snort-2.9.18.1
./configure --enable-sourcefire && make && sudo make install
②fedora安装
yum install https://snort.org/downloads/snort/
yum install https://snort.org/downloads/snort/snort-2.9.18.1-1.f34.x86_64.rpm
③centos安装
yum install https://snort.org/downloads/snort/
yum install https://snort.org/downloads/snort/snort-2.9.18.1-1.centos8.x86_64.rpm
④FreeBSD安装
pkg install snort
⑤Windows安装
下载Snort安装包:
官网下载: Snort_2_9_18_1_Installer.x64.exe
云中转网盘:
https://yzzpan.com/#sharefile=qEZ07FB0_20400
解压密码:www.ddosi.org
⑥kali linux安装(Debian安装)
apt install snort -y

snort参数列表
┌────(root?ddosi.org)-[~]
└─# snort -h
,,_ -*> Snort! <*-
o" )~ Version 2.9.15.1 GRE (Build 15125)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2019 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.10.1 (with TPACKET_V3)
Using PCRE version: 8.39 2016-06-14
Using ZLIB version: 1.2.11
用法: snort [-options] <filter options>
选项:
-A 设置警报模式:fast, full, console, test或none(仅警报文件警报)
“unsock”启用UNIX套接字日志记录(实验性)。
-b 以tcpdump格式记录数据包(快多了!)
-B <mask> 使用CIDR掩码混淆警报和包转储中的IP地址
-c <rules> 使用规则文件<规则>
-C 只使用字符数据打印有效载荷(不使用十六进制)
-d 转储应用层
-D 在后台(守护进程)模式下运行Snort
-e 显示第二层头部信息
-f 在写入二进制日志后关闭fflush()调用
-F <bpf> 从文件< BPF >中读取BPF过滤器
-g <gname> 初始化后以<gname>组(或gid)的形式运行snort gid</gname>
-G <0xid> 日志标识符(用于为多个snort唯一标识事件)
-h <hn> 设置家庭网络=<hn>
(用于-l或-B,在IDS模式下不会更改$HOME_NET)
-H 使哈希表具有确定性。
-i <if> 监听接口<if>
-I 添加接口名称以警告输出
-k <mode> 校验模式(all,noip,notcp,noudp,noicmp,none)
-K <mode> 日志记录模式 (pcap[default],ascii,none)
-l <ld> 日志目录 <ld>
-L <file> 记录这个tcpdump文件
-M 将消息记录到syslog(不是警报)
-m <umask> umask设置 = <umask>
-n <cnt> 收到<cnt>包后退出</cnt>
-N 关闭日志记录(警报仍然有效)
-O 混淆记录的IP地址
-p 禁用混杂模式嗅探
-P <snap> 设置数据包的显式snaplen(默认为1514)
-q 安静。不显示横幅和状态报告
-Q 启用内联模式操作。
-r <tf> 读取并处理tcpdump文件<tf>
-R <id> 在snort_intf<id>中包含'id'pid文件名称
-s 将警报消息记录到syslog
-S <n=v> 设置规则文件变量n等于值v
-t <dir> 初始化后chroot进程到<dir>
-T 测试并报告当前Snort配置
-u <uname> 初始化后,以<uname>用户(或uid)的形式运行snort uid
-U 使用UTC作为时间戳
-v 详细信息
-V 显示版本号
-X 从链路层开始转储原始数据包数据
-x 如果发生Snort配置问题,则退出
-y 在警报和日志文件中以时间戳形式包含年份
-Z <file> 设置performonitor预处理器文件路径和名称
-? 显示这个信息
<过滤选项>是标准的BPF选项,如TCPDump中所示
Longname选项及其对应的单字符版本
--logid <0xid> Same as -G
--perfmon-file <file> Same as -Z
--pid-path <dir> 指定Snort PID文件的目录
--snaplen <snap> Same as -P
--help Same as -?
--version Same as -V
--alert-before-pass Process alert, drop, sdrop, or reject before pass, default is pass before alert, drop,...
--treat-drop-as-alert Converts drop, sdrop, and reject rules into alert rules during startup
--treat-drop-as-ignore Use drop, sdrop, and reject rules to ignore session traffic when not inline.
--process-all-events Process all queued events (drop, alert,...), default stops after 1st action group
--enable-inline-test 启用内联测试模式操作
--dynamic-engine-lib <file> 加载动态检测引擎
--dynamic-engine-lib-dir <path> 从目录加载所有动态引擎
--dynamic-detection-lib <file> 加载动态规则库
--dynamic-detection-lib-dir <path> 从目录加载所有动态规则库
--dump-dynamic-rules <path> 创建所有已加载规则库的存根规则文件
--dynamic-preprocessor-lib <file> 加载一个动态预处理器库
--dynamic-preprocessor-lib-dir <path> 从目录加载所有动态预处理器库
--dynamic-output-lib <file> 加载一个动态输出库
--dynamic-output-lib-dir <path> 从目录加载所有动态输出库
--create-pidfile 创建PID文件,即使不是在Daemon模式
--nolock-pidfile 不尝试锁定Snort PID文件
--no-interface-pidfile 在Snort PID文件中不包含接口名称
--disable-attribute-reload-thread 不创建一个线程来重新加载属性表
--pcap-single <tf> Same as -r.
--pcap-file <file> 包含一个pcaps的列表读文件-读模式是隐含的。
--pcap-list "<list>" 使用一个空格分隔的pcap列表来读取-读取模式。
--pcap-dir <dir> 一个可以递归查找pcaps - read模式的目录是隐含的。
--pcap-filter <filter> 从文件或目录获取pcaps时应用的过滤器。
--pcap-no-filter 重置为在从文件或目录获取pcaps时不使用过滤器。
--pcap-loop <count> 该选项将连续读取命令行中指定的pcaps。
<count>次。值0将被读取,直到Snort终止。
--pcap-reset 如果读取多个pcap,在读取下一个pcap之前,将snort重置为配置后状态。
--pcap-reload 如果读取多个pcaps,则在pcaps之间重新加载snort配置。
--pcap-show 打印一行说明当前正在读取的pcap。
--exit-check <count> 从DAQ_Acquire()回调<count>后信号终止,显示它的时间
从信令获取,直到调用DAQ_Stop()。
--conf-error-out Same as -x
--enable-mpls-multicast 允许多播MPLS
--enable-mpls-overlapping-ip 处理MPLS云中重叠的ip
--max-mpls-labelchain-len 指定最大MPLS标签链
--mpls-payload-type 指定MPLS封装的协议(ipv4、ipv6、ethernet)
--require-rule-sid 要求所有snort规则都指定了SID。
--daq <type> 选择数据包采集模块(默认为pcap)。
--daq-mode <mode> 选择DAQ运行模式。
--daq-var <name=value> 指定额外的DAQ配置变量。
--daq-dir <dir> 告诉snort去哪里找想要的DAQ。
--daq-list[=<dir>] 列出在目录中可用的数据包获取模块。默认仅为静态模块。
--dirty-pig 在关机时不要刷新数据包并释放内存。
--cs-dir <dir> 用于控制套接字的目录。
--ha-peer 激活实时的高可用性状态共享。
--ha-out <file> 将高可用性事件写入该文件。
--ha-in <file> 在启动时从该文件中读取高可用性事件(warm-start)。
--suppress-config-log 禁止输出配置信息。
snort规则列表
社区规则
免费规则,无需登录注册即可查看
wget https://snort.org/downloads/community/community-rules.tar.gz -O community-rules.tar.gz
tar -xvzf community-rules.tar.gz -C /etc/snort/rules
或者直接下载
开源.gz
snort3-community-rules.tar.gz
社区规则.tar.gz
注册规则
此规则注册用户才可以查看
修改为你自己的 oinkcode
wget https://snort.org/rules/snortrules-snapshot-31150.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-31150.tar.gz
wget https://snort.org/rules/snortrules-snapshot-31110.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-31110.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3190.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3190.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3170.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3170.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3150.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3150.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3140.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3140.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3130.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3130.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3110.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3110.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3101.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3101.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3100.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3100.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3034.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3034.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3031.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3031.tar.gz
wget https://snort.org/rules/snortrules-snapshot-2983.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-2983.tar.gz
wget https://snort.org/rules/snortrules-snapshot-3000.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-3000.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29111.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29111.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29130.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29130.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29141.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29141.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29151.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29151.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29160.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29160.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29161.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29161.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29170.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29170.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29171.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29171.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29180.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29180.tar.gz
wget https://snort.org/rules/snortrules-snapshot-29181.tar.gz?oinkcode=www.ddosi.org -O snortrules-snapshot-29181.tar.gz
tar -xvzf snortrules-snapshot-<version>.tar.gz -C /etc/snort/rules
或者直接下载
Talos_LightSPD.tar.gz
snortrules-snapshot-31150.tar.gz
snortrules-snapshot-31110.tar.gz
snortrules-snapshot-3190.tar.gz
snortrules-snapshot-3170.tar.gz
snortrules-snapshot-3150.tar.gz
snortrules-snapshot-3140.tar.gz
snortrules-snapshot-3130.tar.gz
snortrules-snapshot-3110.tar.gz
snortrules-snapshot-3101.tar.gz
snortrules-snapshot-3100.tar.gz
snortrules-snapshot-3034.tar.gz
snortrules-snapshot-3031.tar.gz
snortrules-snapshot-2983.tar.gz
snortrules-snapshot-3000.tar.gz
snortrules-snapshot-29111.tar.gz
snortrules-snapshot-29130.tar.gz
snortrules-snapshot-29141.tar.gz
snortrules-snapshot-29151.tar.gz
snortrules-snapshot-29160.tar.gz
snortrules-snapshot-29161.tar.gz
snortrules-snapshot-29170.tar.gz
snortrules-snapshot-29171.tar.gz
snortrules-snapshot-29180.tar.gz
snortrules-snapshot-29181.tar.gz
订阅规则
订阅规则就是收费规则,
个人使用为29.99美元/年
商业使用为399美元/年

使用示例
入侵防御检测模式

需要在当前文件夹下新建 ddosi.org 文件夹
snort -dev -l ddosi.org -h 192.168.1.0/24 -c /etc/snort/snort.conf

Snort 启动脚本
直接点击即可下载

snort文档
snort_user.pdf
snort_user.html
snort_upgrade.pdf
snort_upgrade.html
snort_reference.pdf
snort_reference.html
snort_devel.html
问题及解决办法
例如出现这样的错误
"No preprocessors configured for policy 0"
此消息表明未加载 snort 预处理器。为了摆脱这个警告,请使用以下命令:
snort -v -c /etc/snort/snort.conf
请确保配置文件/etc/snort/snort.conf
存在并且在配置文件中启用了预处理器。
或者查看官方文档:
snort官网地址
下一页:snort3.0用户手册中文翻译版本(未进行校验)
转载请注明出处及链接