snort中文手册

合集下载

Snort的配置与使用

Snort的配置与使用
第一步:选择数据库支持。 如图7.14所示,第一个决定就是希望提供哪种类型的数据库 支持。我们需要选择屏幕中的第一项“FlexResp”。此屏幕上的选 项均应用于登录:Snort在嗅探包时可以登录数据库。如果不希望 登录到数据库,而是希望仅登录到文件,或者希望登录到MySQL 数据库以及MicrosoftAccess等ODBC可访问的数据库,则应选择 第一个选项。否则选择用于SQLServer的选项。 ‘
第7章 Snort的配置与使用
include classification.config修改为:include c:\snort\ etc\classification.config;
include reference.config修改为:include c:\Snort\etc\ reference.config
第7章 Snort的配置与使用 图7.17 第四步:安装完成和关闭
第7章 Snort的配置与使用
7.1.4 配置Snort 第一步:添加c:\snort\bin到系统环境变量PATH(见
图7.9),为了使添加的系统环境变量生效,重启计算机。 第二步:默认安装WinPcap。选择最稳定版本3.2alpha1
第7章 Snort的配置与使用
第7章 Snort的配置与使用
第7章 Snort的配置与使用
第7章 Snort的配置与使用
第7章 Snort的配置与使用
第7章 Snort的配置与使用 图7.14 第一步:为Snort选择数据库支持
第7章 Snort的配置与使用 第二步:选择要安装的组件。如图7.15所示,默认选择
图7.6 第五步:点击“next”默认配置MySQL
第7章 Snort的配置与使用 第六步:设置root用户密码(如:123,注意为了方便

snort配置介绍

snort配置介绍

一、设置网络变量1、网络变量配置用户通过声明网络参数变量配置snort,variables可以包含字符串(路径)、IP和端口。

1)IP变量与IP列表IP有四声明方式:对IP具体声明、列表形式以及CIDR组,或者它们的任意组合。

IP变量以ipvar关键字声明。

示例:ipvar EXAMPLE [1.1.1.1,2.2.2.0/24,![2.2.2.2,2.2.2.3]]2)端口变量与列表端口列表支持端口声明及查找端口列表范围。

端口范围从0到65535.端口变量以portvar声明,示例:portvar EXAMPLE1 80portvar EXAMPLE3 anyportvar EXAMPLE4 [!70:90]portvar EXAMPLE5 [80,91:95,100:200]portvar pvar1 80portvar pvar2 [$pvar1,90]alert tcp any $EXAMPLE1 -> any $EXAMPLE2_PORT (msg:"Example"; sid:1;)alert tcp any $PORT_EXAMPLE2 -> any any (msg:"Example"; sid:2;)alert tcp any 90 -> any [100:1000,9999:20000] (msg:"Example"; sid:3;)配置服务器列表DNS服务:var DNS_SERVERS $HOME_NETSMTP服务:var SMTP_SERVERS $HOME_NETWeb 服务:var HTTP_SERVERS $HOME_NETSQL服务:var SQL_SERVERZ $HOME_NETTelnet服务:var TELNET_SERVERS $HOME_NETFTP服务:var FTP_SERVERS $HOME_NETSNMP服务:var SNMP_SERVERS $HOME_NET配置服务端口这使得snort去跟踪针对特点端口应用的攻击,如web server在端口8180上,则应这样配置:portvar HTTP_PORTS 8180不过这个值通常为80,因此定义为:portvar HTTP_PORTS 80如果希望定义多HTTP端口:portvar HTTP_PROTS [80,8080] 或者portvar HTTP_PROTS[80,8000:8080]eg:定义希望发现SHELLCODE的端口:portvar SHELLCODE_PORTS !80可能发现对ORACLE的攻击:portvar ORACLE_PORTS 1521针对FTP服务的端口:portvar FTP_PORTS 21配置rules文件路径这个可以是一个相对路径var RULE_PATH /etc/snort/rulesvar PREPROC_RULE_PATH /etc/snort/preproc_rules二、配置解码器解码器解码是数据包进入snort的第一个处理过程。

Snort简明使用手册

Snort简明使用手册

Snort简明使用手册2007-03-22 22:28Snort2.6——USAGE(中文)1.0 开始使用snortSnort不是很难使用,但是也存在着很多的命令行选项需要掌握,并且它们中许多很多时候并不能一起使用。

这个文件的目的就是使新人能够更简单的使用snort。

在我们进行下一步之前,有一些关于snort的基本概念需要了解。

snort能够配置成三种模式运行:嗅探器(sniffer),包记录器(packet logger)和网络入侵检测系统(NIDS)。

嗅探模式(sniffer mode)简单的读取网络中的数据包,并以连续的数据流显示在控制台上。

包记录模式(packet logger mode)把捕获的数据包记录在磁盘上。

网络入侵检测模式(NIDS mode)是最复杂的、有机的配置,在这个模式下,snort分析网络中的数据,并通过使用用户自定义的规则集进行模式匹配,并根据匹配的结果执行多种操作。

2.0 嗅探模式(sniffer mode)首先,让我们从基础开始。

如果你只是想要在屏幕上打印出TCP/IP的包头信息(嗅探模式),使用下面的命令:./snort –v使用这个命令运行snort,将只显示IP和TCP/UDP/ICMP头信息,而不显示任何其它信息。

如果你想要查看传输的有效负载信息,可以使用如下命令:./snort –vd这条命令在打印协议头信息的同时也打印相应的包数据。

如果你想要一个更详细的现实,可以使用下面的命令来打印出数据链路层头信息:./snort –vde(注:这些选项参数能够分开或者拆散成任和结合的方式。

比如上一个命令也可以写做这种方式:./snort -d -v –e来达到同样的效果)3.0 包记录模式(PACKET LOGGER MODE)好的,上面的命令运行的都相当的好。

但是如果你想要记录包到磁盘上,你需要指定一个记录目录,然后snort将自动的进入包记录模式:./snort -dev -l ./log当然,这里假设你在当前目录下有一个叫做―log‖的目录。

snort

snort
/etc/snort/classification.config 入侵类型分类
/etc/snort/gen-msg.map gid对应的报警文本
/etc/snort/sid-msg.map sid对应的报警文本
/var/snort/rules/ 入侵规则存放目录
/var/log/snort/ 警告和日志的默认存放目录
报警内容:
[**] [1:2000000005:0] xxx [**] <=中间方括号中的内容为 gid:sid:rev
[Priority: 5]
11/21-10:01:23.326186 192.168.0.106 -> 192.168.0.6
ICMP TTL:128 TOS:0x0 ID:16414 IpLen:20 DgmLen:84 DF
插件
编译后的snort,可以加载插件,扩展功能。除非自己编写插件,否则这部分功能用处不大。
预处理
配置各种预处理器的参数。这些预处理器是内置在snort中的。基本上无需改变默认配置。
入侵规则
具体的入侵规则在其他文件中定义,此处只需指明这些规则文件。
include $RULE_PATH/xxx.rules <=启用$RULE_PATH目录下的xxx.rules规则
4、如果你在Linux机器上运行IDS,请用netfileter/iptables阻止任何不必要的数据,Snort仍然可以看到所有的数据包。
5、一些特殊的方法:
在隐秘接口(Stealth Interface)上运行Snort。IDS的网线的1针和2针短路,3针和6针连到对端。
在没有IP地址的接口上运行IDS。在LINUX上激活一个没有配置IP地址的接口;在windows接口上不绑定TCP/IP协议或配置接口为DHCP但没有DHCP服务器。

snort配置步骤

snort配置步骤

1.在Windows环境下安装snort。

(1)安装Apache_2.0.46①双击apache_2.0.46-win32-x86-no_src.msi,安装在文件夹C:\apache下。

安装程序会在该文件夹下自动产生一个子文件夹apache2。

②为了避免Apache Web服务器的监听端口与Windows IIS中的Web服务器的80监听端口发生冲突,这里需要将Apache Web服务器的监听端口进行修改。

打开配置文件C:\apache\apache2\conf\httpd.conf,将其中的Listen 80,更改为Listen50080。

如图3.34所示。

图3.34修改apache的监听端口③单击“开始”按钮,选择“运行”,输入cmd,进入命令行方式。

输入下面的命令:C:\>cd apache\apache2\binC:\apache\apache2\bin\apache –k install这是将apache设置为以Windows中的服务方式运行。

如图3.35所示。

图3.35Apache以服务方式运行(2)安装PHP①解压缩php-4.3.2-Win32.zip里面的文件至C:\php\。

②复制C:\php下php4ts.dll至%systemroot%\System32,复制C:\php下php.ini-dist 至%systemroot%\,然后修改文件名为:php.ini。

③添加gd图形库支持,把C:\php\extensions\ php_gd2.dll拷贝到%systemroot%\System32,在php.ini中添加extension=php_gd2.dll。

如果php.ini有该句,将此语句前面的“;”注释符去掉。

如图3.36所示图3.36修改php.ini配置文件④添加Apache对PHP的支持。

在C:\apache\apache2\conf\httpd.conf中添加:LoadModule php4_module "C:/php/sapi/php4apache2.dll"AddType application/x-httpd-php .php如图3.37和图3.38所示。

Snort的配置与使用

Snort的配置与使用
数据包记录器——数据包记录器模式把数据包记 录到硬盘上。 ./snort –dev –l ./log
网络入侵检测系统——网络入侵检测模式是最复杂的, 而且是可配置的。用户可以让Snort分析网络数据流 以匹配用户定义的一些规则,并根据检测结果采取一 定的动作。
./snot –dev –l ./log –c snort.conf
Acid(Analysis Console for Intrusion Databases )
基于PHP的入侵检测数据库分析控制台
ADOdb(ADOdb Database Abstraction Library)
Adodb库为PHP提供了统一的数据库连接函数
Apache
Windows版本的Apache Web 服务器
<C:\snort\contrib\create_mysql
为用户分配权限
(mysql>)grant usage on *.* to acid@loacalhost identified by “acidPwd”;
(mysql>)grant select,insert,update,delete,create,alter on snort.* to acid@localhost;
数据包
数据包 解码器
检测引擎
日志 报警
2. Snort的工作模式(3种)
嗅探器 数据包记录器 网络入侵检测系统
4. Snort的工作模式(3种)
嗅探器——嗅探器模式仅仅是从网络上读取数据 包并作为连续不断的流显示在终端上。 ./snort –v ./snort –vd ./snort –vde
include $RULE_PATH/local.rules

windows下Snort的配置与使用

windows下Snort的配置与使用

windows下Snort的配置与使用实验1:Snort的配置与使用1实验目的和要求学习Snort的配置与使用,要求:1)掌握Snort入侵检测环境的搭建;2)掌握Snort的配置与使用;3)熟悉Snort的工作原理。

2实验设备及材料1)系统环境:Windows XP/Windows 20032)软件安装:JDK:jdk-6u17-windows-i586.exe(可选)TOMCAT:apache-tomcat-5.5.30.exe(可选)MySQL:mysql-5.5.15-win32.msiWinPcap:WinPcap_4_1_2.exeSnort:Snort_2_9_1_Installer.exeIDSCenter:idscenter109b21.zip3实验内容3.1软件安装与配置3.1.1 JDK安装与配置软件版本:jdk-6u17-windows-i586.exe双击jdk-6u17-windows-i586.exe安装JDK,安装完后设置环境变量:变量名变量值java_home C:\Program Files\Java\jdk1.6.0_17classpath C:\Program Files\Java\jdk1.6.0_17\jre\libpath C:\Program Files\Java\jdk1.6.0_17\binjava –version // 查看软件版本信息,确定软件是否安装成功3.1.2 Tomcat安装与配置软件版本:apache-tomcat-5.5.30.exe、apache-tomcat-5.5.30-admin.zip 1)安装apache-tomcat-5.5.30.exe安装过程中会要求指定JRE的安装目录,确定端口,用户名和密码(用于可视化配置界面登录)。

启动Tomcat:验证安装是否成功:http://localhost:8088/http://127.0.0.1:8088/2)安装pache-tomcat-5.5.30-admin.zip首先解压apache-tomcat-5.5.30-admin.zip,用解压后的文件替换以下tomcat 文件。

Snort简介

Snort简介

Snort的使用
• -D 把snort以守护进程的方法来运行,默认情况下ALERT记录发送 到/var/log/snort.alert文件中去。 -e 显示并记录2个信息包头的数据。 -F <bpf>从<bpf>文件中读BPF过滤器(filters),这里的filters是标准 的BPF格式过滤器,你可以在TCPDump里看到,你可以查看 TCPDump的man页怎样使用这个过滤器。 -h <hn>设置网络地址,如一个C类IP地址192.168.0.1或者其他的, 使用这个选项,会使用箭头的方式数据进出的方向。 -I <if> 使用网络接口参数<if> -l <ld> LOG信息包记录到<ld>目录中去。 -M <wkstn> 发送WinPopup信息到包含<wkstn>文件中存在的工作站 列表中去,这选项需要Samba的支持,wkstn文件很简单,每一行只 要添加包含在SMB中的主机名即可。(注意不需要\两个斜杠)。
Snort –v的效果
Snort –dv的效果
Snort的使用
• Snort是基于规则的模式匹配的,这种体系 结构非常灵活,用户可以到 /dl/signatures/下载最 新的规则,在上几乎每几天就会有 新的规则被更新,同时用户也可以自己书 写新的规则,Snort规则文件是一个ASCII 文本文件,可以用常用的文本编辑器对其 进行编辑。
有关规则的编写
• 这个不是能一两句话讲清楚的 • 而且对于一般使用者来说,snort本身提供 的规则包已经能满足很多需求了 •
安装完成Snort后
• • • • \doc\SnortUsersManual.pdf 写snort的大牛写的用户手册 有进一步的信息可以参考 翻译版本: /article/ids/sn ort/23783.html

Snort命令参数详解

Snort命令参数详解

Snort命令参数详解用法:snort -[options]选项:-A 设置报警模式,alert = full/fast/none/unsock,详解上一篇snort简介。

-b 用二进制文件保存网络数据包,以应付高吞吐量的网络。

-B 将IP地址信息抹掉,去隐私化。

-c 使用配置文件,这会使得snort进入IDS模式,并从中读取运行的配置信息。

-d 显示包的应用层数据。

-D 以后台进程运行snort。

如无指定,Alerts将写到/var/log/snort/alert。

-e 显示数据链路层的信息。

-E 保存报警日志为windows事件日志。

-f 激活PCAP行缓冲(line buffering)。

-F 指定BPF过滤器。

-g 初始化Snort后以组ID(group ID)运行。

-G 为事件生成设置一个基础事件id值。

-h 设置本地网络为hn,如192.168.1.0/24。

-i 设置网络接口为。

可以用-W选项查询网络接口列表,然后用接口序号index指定接口。

如-i 2-I 报警时附加上接口信息。

-J 当以in-line模式运行时,这个选项将只捕获端口的报文。

-k 为all,noip,notcp,noudp,noicmp,or none设置校验和模式。

-K 设置保存文件的格式:pcap,ascii,none。

pcap是默认格式,同于-b选项的格式。

ascii是老的模式格式。

none则关闭数据包记录。

-l 设置数据包文件存放目录。

默认目录是/var/log/snort.-L 设置二进制输出文件的文件名为。

-M 当以非后台模式daemon运行时,保存信息到syslog。

-m 设置snort输出文件的权限位。

-n 出来个报文后终止程序。

-N 关闭保存日志包功能。

-o 改变应用规则的顺序。

从Alert-->Pass-->Log顺序改为Pass-->Alert-->Log,避免了设置大量BPF命令行参数来过滤alert规则。

基于Ubuntu的snort配置说明

基于Ubuntu的snort配置说明

如何在Ubuntu上安装Snort入侵my检测系统首先介绍一下可能用到的命令:1.Ubuntu默认的在图形界面下root是不能登录的,要想登录,首先:用普通用户登录,在命令行下输入:sudopasswd root重新为root设置密码。

然后:重启系统,即可用root登录。

这份文档主要描述了在 Ubuntu 7.10 上安装部署 Snort 入侵检测系统和 acid 基于 PHP 的网页入侵检测数据库分析控制台的过程。

Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行。

Ubuntu作为一个以桌面应用为主的Linux操作系统,同样也可以安装Snort。

2.详细的Snort安装过程[安装LAMP,Snort和一些软件库]由于 Ubuntu 是 Debian 系的 Linux,安装软件非常简单,而且 Ubuntu 在中国科技大学有镜像,在教育网和科技网下载速度非常快(2~6M/s),就省掉了出国下载安装包的麻烦,只需要一个命令即可在几十秒钟内安装好所有软件。

这里使用 Ubuntu 默认命令行软件包管理器apt 来进行安装。

$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodbphp-pear pcregrep snort snort-rules-default需要注意的是在安装 MySQL 数据库时会弹出设置 MySQL 根用户口令的界面,临时设置其为“nfx(也可以自己设置)”。

[在 MySQL 数据库中为 Snort 建立数据库]Ubuntu 软件仓库中有一个默认的软件包 snort-mysql 提供辅助功能,用软件包管理器下载安装这个软件包。

snort使用

snort使用

Apache + PHP套件安裝
Apache + PHP
Fedora 8所提供的Apache版本為2.2.8,PHP則是5.2.4 版,又由於BASE會使用PHP與MySQL連線,所以 相關的套件也須一併安裝: yum –y install php httpd php-mysql php-pdo php-pear php-gd chkconfig httpd on /etc/init.d/httpd start
BASE、ADOdb與其他額外套件安裝(續) 安裝ADOdb資料庫存取介面模組:
cd /usr/local/src wget /sourceforge/ad odb/adodb504a.tgz tar zxvf adodb504a.tgz rm adodb504a.tgz mv adodb5 /var/www/
Snort套件安裝(續)
為snort增加執行屬性: chmod +x snort 設定Snort服務在開機時啟動: chkconfig –add snort 設定資料庫,並新建snort資料庫及配置使用者權限。以資料庫的root帳 號登入,預設沒有密碼: mysql -u root 登入後會出現mysql>,後續操作如下: mysql> use mysql; mysql> set password for root@localhost=password("更改root密碼"); mysql> create database snort; mysql> grant ALL on snort.* to snort@localhost identified by "設定snort 密碼"; mysql> exit

snort安装与使用

snort安装与使用
源码安装snort 1.首先需要下载LuaJIT #wget /download/LuaJIT-2.0.5.tar.gz #make #make install 否则报错 checking for luajit... no
ERROR! LuaJIT library not found. Go get it from / (or) Try compiling without openAppId using '--disable-open-appid' 2.再安装snort #cd ~/snort_src #wget https:///downloads/snort/snort-2.9.17.tar.gz #tar -xvzf snort-2.9.17.tar.gz #cd snort-2.9.17 #./configure --enable-sourcefire #make #sudo make install 更新共享库 #sudo ldconfig Snort安装会将Snort二进制文件放在/usr/local/bin/snort,因此,创建到/usr/sbin/snort的符号链接 #sudo ln -s /usr/local/bin/snort /usr/sbin/snort 安装后输入snort -V看到以下内容 root@kali:/usr/sbin# snort -V
Preprocessor Object: SF_FTPTELNET Version 1.2 <Build 13>
Preprocessor Object: SF_DCERPC2 Version 1.0 <Build 3>
Preprocessor Object: SF_SSLPP Version 1.1 <Build 4>

snort使用手册

snort使用手册
./snort -dv -r packet.log
你还可以以多种方式操作二进制文件中的数据,比如包记录模式和入侵检测模式,你也同样可以在命令行中使用BPF接口。比如,如果你只是想查看记录文件中的ICMP数据包信息,可以在命令行中简单的指定一个BPF过滤器:
./snort -dvr packet.log icmp
/usr/local/bin/snort -d -h 192.168.1.0/24 -l /var/log/snortlogs -c /usr/local/etc/snort-lib -s –D
由于安全关系,这里不提供对相对路径的支持。
如果你想要发送包记录信息到公共邮件列表,需要使用“-O”开关。这个开关将对包中输出的IP信息进行混淆处理。这使得你能够很容易的避免邮件列表中的用户获知相关的IP信息。你也可以把“-O”开关和“-h”开关联合使用,这样将只混淆本地网络中的主机地址。如果你不在意让人看见攻击主机的IP地址,这样设置是很有效的。命令如下:
./snort –vd
这条命令在打印协议头信息的同时也打印相应的包数据。如果你想要一个更详细的现实,可以使用下面的命令来打印出数据链路层头信息:
./snort –vde
(注:这些选项参数能够分开或者拆散成任和结合的方式。比如上一个命令也可以写做这种方式:
同样,对于大多数的应用而言,都不比要记录数据链路层包头信息,因此“-e”开关也是可以去掉的。最后命令如下:
./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf
这个命令能够配置snort以最基础的NIDS模式运行。它将以ASCII格式记录规则指定的包信息到对应的目录结构中(和包记录模式中目录结构一致)。

Snort 使用手册2

Snort 使用手册2

Snort 使用手册,安装与配置在Linux 上通过RPM 安装SnortRPM 表示RPM Package Manager。

(没错,这个缩写实际上是循环的。

并不是很有意义,但符合事实。

)RPM on Linux 是可以轻松安装的软件包,因为RPM 支持是市面上所有Linux 发布版的核心。

从Snort Web 站点下载了一个RPM 之后,只需将您下载的文件名作为参数运行rpm 命令即可,如清单6 所示。

清单 6. 在Snort RPM 上调用rpm[bdm0509@pegasus]# rpm -ivh snort-2.8.0.2-1.RH5.i386.rpmPreparing... ################################################ [100%] 1:snort ################################################ [100%]与通过源代码安装Snort 类似,您可能需要作为root 用户登录来运行此命令,或使用sudo 命令来作为超级用户安装RPM。

Snort 希望其二进制文件能够置于受保护的目录中,如/usr/bin、/usr/local/bin,因此标准系统上的安装需要高于大多数普通用户账户的权限。

测试安装在完成安装之后,您需要采取几个步骤,确保Snort 可在系统上正常运行。

一切都很简单,但在每次安装新版本的Snort 或在新机器上安装Snort 时都需要执行这些步骤。

运行Snort 二进制文件可以执行的最简单的测试就是运行snort 命令。

要开始测试,请切换到机器上的任意随机目录。

但为了安全起见,请不要在Snort 安装目录中执行此命令。

您应得到类似于清单7 所示的输出结果。

清单7. 测试Snort 二进制文件[bdm0509:~] snort,,_ -*> Snort! <*-o" )~ Version 2.8.0.2 (Build 75)'''' By Martin Roesch & The Snort Team: /team.html(C) Copyright 1998-2007 Sourcefire Inc., et al.Using PCRE version: 7.6 2008-01-28USAGE: snort [-options] <filter options>Options:-A Set alert mode: fast, full, console, test or none (alert file alerts only)"unsock" enables UNIX socket logging (experimental).-b Log packets in tcpdump format (much faster!)-B <mask> Obfuscated IP addresses in alerts and packet dumps using CIDR mask-c <rules> Use Rules File <rules>-C Print out payloads with character data only (no hex)-d Dump the Application Layer-D Run Snort in background (daemon) mode-e Display the second layer header info-f Turn off fflush() calls after binary log writes-F <bpf> Read BPF filters from file <bpf>-g <gname> Run snort gid as <gname> group (or gid) after initialization-G <0xid> Log Identifier (to uniquely id events for multiple snorts)-h <hn> Home network = <hn>-H Make hash tables deterministic.-i <if> Listen on interface <if>-I Add Interface name to alert output-k <mode> Checksum mode (all,noip,notcp,noudp,noicmp,none)-K <mode> Logging mode (pcap[default],ascii,none)-l <ld> Log to directory <ld>-L <file> Log to this tcpdump file-M Log messages to syslog (not alerts)-m <umask> Set umask = <umask>-n <cnt> Exit after receiving <cnt> packets-N Turn off logging (alerts still work)-o Change the rule testing order to Pass|Alert|Log-O Obfuscate the logged IP addresses-p Disable promiscuous mode sniffing-P <snap> Set explicit snaplen of packet (default: 1514)-q Quiet. Don't show banner and status report-r <tf> Read and process tcpdump file <tf>-R <id> Include 'id' in snort_intf<id>.pid file name-s Log alert messages to syslog-S <n=v> Set rules file variable n equal to value v-t <dir> Chroots process to <dir> after initialization-T Test and report on the current Snort configuration-u <uname> Run snort uid as <uname> user (or uid) after initialization-U Use UTC for timestamps-v Be verbose-V Show version number-w Dump 802.11 management and control frames-X Dump the raw packet data starting at the link layer-y Include year in timestamp in the alert and log files-Z <file> Set the performonitor preprocessor file path and name-? Show this information<Filter Options> are standard BPF options, as seen in TCPDumpLongname options and their corresponding single char version--logid <0xid> Same as -G--perfmon-file <file> Same as -Z--pid-path <path> Specify the path for the Snort PID file--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 alertrules during startup--process-all-events Process all queued events (drop, alert,...),default stops after 1st action group--dynamic-engine-lib <file> Load a dynamic detection engine--dynamic-engine-lib-dir <path> Load all dynamic engines from directory--dynamic-detection-lib <file> Load a dynamic rules library--dynamic-detection-lib-dir <path> Load all dynamic rules libraries fromdirectory--dump-dynamic-rules <path> Creates stub rule files of all loaded rules libraries--dynamic-preprocessor-lib <file> Load a dynamic preprocessor library--dynamic-preprocessor-lib-dir <path> Load all dynamic preprocessor libraries fromdirectory--dump-dynamic-preproc-genmsg <path> Creates gen-msg.map files of all loadedpreprocessor libraries--create-pidfile Create PID file, even when not in Daemon mode--nolock-pidfile Do not try to lock Snort PID file--disable-inline-initialization Do not perform the IPTables initialization in inlinemode.--loop <count> In combination with the -r <tf> option,this will read the tcpdump file continuouslyfor <count> times. A value of 0 will read the pcapuntil Snort is killed.ERROR:Uh, you need to tell me to do something...Fatal Error, Quitting..最后出现了错误,但在这个过程中完成了一些重要的事情:1它确认了Snort 二进制文件已正确安装到了您的路径中。

Snort中文手册

Snort中文手册

S n o r t用户手册S n a i l.W 第一章s n o r t简介snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。

嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。

数据包记录器模式把数据包记录到硬盘上。

网路入侵检测模式是最复杂的,而且是可配置的。

我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

嗅探器所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上。

首先,我们从最基本的用法入手。

如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令:./s n o r t-v 使用这个命令将使snort只输出IP和TCP/UDP/ICMP的包头信息。

如果你要看到应用层的数据,可以使用:./s n o r t-v d 这条命令使snort在输出包头信息的同时显示包的数据信息。

如果你还要显示数据链路层的信息,就使用下面的命令:./s n o r t-v d e 注意这些选项开关还可以分开写或者任意结合在一块。

例如:下面的命令就和上面最后的一条命令等价:./s n o r t-d-v– e数据包记录器如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort就会自动记录数据包:./s n o r t-d e v-l./l o g 当然,./log目录必须存在,否则snort就会报告错误信息并退出。

当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP 地址命名,例如:192.168.10. 1 如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。

为了只对本地网络进行日志,你需要给出本地网络:./s n o r t-d e v-l./l o g-h192.168.1.0/24 这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./l o g中。

实训-Snort安装与配置

实训-Snort安装与配置

Snort安装与配置Snort是免费NIPS及NIDS软件,具有对数据流量分析和对网络数据包进行协议分析处理的能力,通过灵活可定制的规则库(Rules),可对处理的报文内容进行搜索和匹配,能够检测出各种攻击,并进行实时预警。

Snort支持三种工作模式:嗅探器、数据包记录器、网络入侵检测系统,支持多种操作系统,如Fedora、Centos、FreeBSD、Windows等,本次实训使用Centos 7,安装Snort 2.9.11.1。

实训任务在Centos 7系统上安装Snort 3并配置规则。

实训目的1.掌握在Centos 7系统上安装Snort 3的方法;2.深刻理解入侵检测系统的作用和用法;3.明白入侵检测规则的配置。

实训步骤1.安装Centos 7 Minimal系统安装过程不做过多叙述,这里配置2GB内存,20GB硬盘。

2.基础环境配置根据实际网络连接情况配置网卡信息,使虚拟机能够连接网络。

# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736TYPE="Ethernet"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"NAME="eno16777736"UUID="51b90454-dc80-46ee-93a0-22608569f413"DEVICE="eno16777736"ONBOOT="yes"IPADDR="192.168.88.222"PREFIX="24"GATEWAY="192.168.88.2"DNS1=114.114.114.114~安装wget,准备使用网络下载资源:# yum install wget –y将文件CentOS-Base.repo备份为CentOS-Base.repo.backup,然后使用wget下载阿里yum 源文件Centos-7.repo:# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup#wget –O /etc/yum.repos.d/CentOS-Base.repo /repo/Centos-7.repo更新yum源,并缓存:# yum clean all# yum makecache# yum -y update3.安装Snort安装epel源:# yum install -y epel-release安装依赖:经过前面的设置阿里源、源更升级后,将能够很顺利的安装完依赖。

Snort技术

Snort技术

8.4 入侵检测系统Snort8.4.1 Snort概述Snort是一个功能强大、跨平台、轻量级的网络入侵检测系统,从入侵检测分类上来看,Snort应该是个基于网络和误用的入侵检测软件。

它可以运行在Linux、OpenBSD、FreeBSD、Solaris、以及其它Unix 系统、Windows等操作系统之上。

Snort是一个用C语言编写的开放源代码软件,符合GPL(GNU通用公共许可证GNU General Public License)的要求,由于其是开源且免费的,许多研究和使用入侵检测系统都是从Snort开始,因而Snort在入侵检测系统方面占有重要地位。

Snort的网站是。

用户可以登陆网站得到源代码,在Linux和Windows环境下的安装可执行文件,并可以下载描述入侵特征的规则文件。

Snort对系统的影响小,管理员可以很轻易地将Snort安装到系统中去,并且能够在很短的时间内完成配置,方便地集成到网络安全的整体方案中,使其成为网络安全体系的有机组成部分。

虽然Snort是一个轻量级的入侵检测系统,但是它的功能却非常强大,其特点如下:1、跨平台性可以支持Linux、Solaris、UNIX、Windows系列等平台,而大多数商用入侵检测软件只能支持一、两种操作系统,甚至需要特定的操作系统。

2、功能完备具有实时流量分析的能力,能够快速地监测网络攻击,并能及时地发出警报。

使用协议分析和内容匹配的方式,提供了对TCP、UDP、ICMP等协议的支持,对缓冲区溢出、隐蔽端口扫描、CGI扫描、SMB探测、操作系统指纹特征扫描等攻击都可以检测。

3、使用插件的形式方便管理员根据需要调用各种插件模块。

包括输入插件和输出插件,输入插件主要负责对各种数据包的处理,具备传输层连接恢复、应用层数据提取、基于统计的数据包异常检测的功能,从而拥有很强的系统防护功能,如使用TCP流插件,可以对TCP包进行重组:输出插件则主要用来将检测到的报警以多种方式输出,通过输出插件可以输出Mysql、SQL等数据库中,还可以以XML格式输出,也可以把网络数据保存到TCPDump 格式的文件中;按照其输出插件规范,用户甚至可以自己编写插件,自己来处理报警的方式并进而作出响应,从而使Snort具有非常好的可扩展性和灵活性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<< Back to Snort 中文手册摘要snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。

嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。

数据包记录器模式把数据包记录到硬盘上。

网路入侵检测模式是最复杂的,而且是可配置的。

我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

(2003-12-11 16:39:12)Snort 用户手册第一章 snort简介snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。

嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。

数据包记录器模式把数据包记录到硬盘上。

网路入侵检测模式是最复杂的,而且是可配置的。

我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。

嗅探器所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上。

首先,我们从最基本的用法入手。

如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令:./snort -v使用这个命令将使snort只输出IP和TCP/UDP/ICMP的包头信息。

如./snort -vd这条命令使snort在输出包头信息的同时显示包的数据信息。

如果你还要显示数据链路层的信息,就使用下面的命令:./snort -vde注意这些选项开关还可以分开写或者任意结合在一块。

例如:下面的命令就和上面最后的一条命令等价:./snort -d -v –e数据包记录器如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort 就会自动记录数据包:./snort -dev -l ./log当然,./log目录必须存在,否则snort就会报告错误信息并退出。

当snort在这种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如:192.168.10.1 如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。

为了只对本地网络进行日志,你需要给出本地网络:./snort -dev -l ./log -h 192.168.1.0/24这个命令告诉snort把进入C类网络192.168.1的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。

如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。

所谓的二进制日志文件格式就是tcpdump程序使用的格式。

使用下面的命令可以把所有的包记录到一个单一的二进制文件中:注意此处的命令行和上面的有很大的不同。

我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。

你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有内容都会被记录到日志文件中。

你可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如: tcpdump或者Ethereal。

使用-r功能开关,也能使snort读出包的数据。

snort在所有运行模式下都能够处理tcpdump格式的文件。

例如:如果你想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可以输入下面的命令:./snort -dv -r packet.log在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。

例如,你只想从日志文件中提取ICMP包,只需要输入下面的命令行:./snort -dvr packet.log icmp网络入侵检测系统snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:./snort -dev -l ./log -h 192.168.1.0/24 -c snort.conf snort.conf是规则集文件。

snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。

如果你不指定输出目录,snort就输出到/var/log/snort目录。

注意:如果你想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。

因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。

此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以./snort -d -h 192.168.1.0/24 -l ./log -c snort.conf 这是使用snort作为网络入侵检测系统最基本的形式,日志符合规则的包,以ASCII形式保存在有层次的目录结构中。

网络入侵检测模式下的输出选项在NIDS模式下,有很多的方式来配置snort的输出。

在默认情况下,snort以ASCII格式记录日志,使用full报警机制。

如果使用full报警机制,snort会在包头之后打印报警消息。

如果你不需要日志包,可以使用-N选项。

snort有6种报警机制:full、fast、socket、syslog、smb(winpopup)和none。

其中有4个可以在命令行状态下使用-A选项设置。

这4个是:-A fast:报警信息包括:一个时间戳(timestamp)、报警消息、源/目的IP地址和端口。

-A full:是默认的报警模式。

-A unsock:把报警发送到一个UNIX套接字,需要有一个程序进行监听,这样可以实现实时报警。

-A none:关闭报警机制。

使用-s选项可以使snort把报警消息发送到syslog,默认的设备是LOG_AUTHPRIV和LOG_ALERT。

可以修改snort.conf文件修改其配置。

snort还可以使用SMB报警机制,通过SAMBA把报警消息发送到Windows主机。

为了使用这个报警机制,在运行./configure脚本时,必须使用--enable-smbalerts选项。

下面是一些输出配置的例子:使用默认的日志方式(以解码的ASCII格式)并且把报警发给syslog:./snort -c snort.conf -l ./log -s -h 192.168.1.0/24./snort -c snort.conf -b -M WORKSTATIONS第二章编写snort 规则基础snort使用一种简单的,轻量级的规则描述语言,这种语言灵活而强大。

在开发snort规则时要记住几个简单的原则。

第一,大多数snort规则都写在一个单行上,或者在多行之间的行尾用/分隔。

Snort规则被分成两个逻辑部分:规则头和规则选项。

规则头包含规则的动作,协议,源和目标ip地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。

下面是一个规则范例:alert tcp any any -> 192.168.1.0/24 111 (content:"|00 01 86 a5|"; msg: "mountd access";)第一个括号前的部分是规则头(rule header),包含的括号内的部分是规则选项(rule options)。

规则选项部分中冒号前的单词称为选项关键字(option keywords)。

注意,不是所有规则都必须包含规则选项部分,选项部分只是为了使对要收集或报警,或丢弃的包的定义更加严格。

组成一个规则的所有元素对于指定的要采取的行动都必须是真的。

当多个元素放在一起时,可以认为它们组成了一个逻辑与(AND)语句。

同时,snort规则库文件中的不同规则可以认为组成了一个大的逻辑或(OR)语句。

规则高级概念Includes:include允许由命令行指定的规则文件包含其他的规则文件。

include:注意在该行结尾处没有分号。

被包含的文件会把任何预先定义的变量值替换为自己的变量引用。

参见变量(Variables)一节以获取关于在SNORT 规则文件中定义和使用变量的更多信息。

Variables :变量可能在snort中定义。

格式:var:例子:var MY_NET 192.168.1.0/24alert tcp any any -> $MY_NET any (flags: S; msg: "SYN packet";) 规则变量名可以用多种方法修改。

可以在"$"操作符之后定义变量。

"?" 和"-"可用于变量修改操作符。

$var - 定义变量。

$(var) - 用变量"var"的值替换。

$(var:-default) - 用变量"var"的值替换,如果"var"没有定义用"default"替换。

$(var:?message) - 用变量"var"的值替换或打印出错误消息"message"然后退出。

例子:var MY_NET $(MY_NET:-192.168.1.0/24)log tcp any any -> $(MY_NET:?MY_NET is undefined!) 23ConfigSnort的很多配置和命令行选项都可以在配置文件中设置。

config [: ]Directives∙order 改变规则的顺序( snort -o )∙alertfile 设置报警输出文件,例如:config alertfile: alerts ∙classification 创建规则分类。

∙decode_arp 开启arp解码功能。

(snort -a)∙dump_chars_only 开启字符倾卸功能。

(snort -C)∙dump_payload 倾卸应用层数据。

(snort -d)∙decode_data_link 解码第二层数据包头。

(snort -e)∙bpf_file 指定BPF过滤器(snort -F)。

例如:config bpf_file: filename.bpf∙set_gid 改变GID (snort -g)。

例如:config set_gid: snort_group ∙daemon 以后台进程运行。

(snort -D)∙reference_net 设置本地网络。

(snort -h). 例如:config reference_net:192.168.1.0/24∙interface 设置网络接口(snort –i )。

例如:config interface: xl0∙alert_with_interface_name 报警时附加上接口信息。

相关文档
最新文档