ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:38.33KB ,
资源ID:26104202      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26104202.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Snort中文手册.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Snort中文手册.docx

1、Snort中文手册Snort 用户手册 第一章 snort简介 snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网路入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。 嗅探器 所谓的嗅探器模式就是snort从网络上读出数据包然后显示在你的控制台上。首先,我们从最基本的用法入手。如果你只要把TCP/IP包头信息打印在屏幕上,只需要输入下面的命令: ./snort -v 使用这个命令将使snort只

2、输出IP和TCP/UDP/ICMP的包头信息。如果你要看到应用层的数据,可以使用: ./snort -vd 这条命令使snort在输出包头信息的同时显示包的数据信息。如果你还要显示数据链路层的信息,就使用下面的命令: ./snort -vde 注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面最后的一条命令等价: ./snort -d -v e 数据包记录器 如果要把所有的包记录到硬盘上,你需要指定一个日志目录,snort就会自动记录数据包: ./snort -dev -l ./log 当然,./log目录必须存在,否则snort就会报告错误信息并退出。当snort在这种

3、模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目的主机的IP地址命名,例如: 如果你只指定了-l命令开关,而没有设置目录名,snort有时会使用远程主机的IP地址作为目录,有时会使用本地主机IP地址作为目录名。为了只对本地网络进行日志,你需要给出本地网络: ./snort -dev -l ./log -h 这个命令告诉snort把进入C类网络的所有包的数据链路、TCP/IP以及应用层的数据记录到目录./log中。 如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该使用二进制的日志文件格式。所谓的二进制日志文件格式就是tcpdump程序使用的格式。使用下面

4、的命令可以把所有的包记录到一个单一的二进制文件中: ./snort -l ./log -b 注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东西都被记录到一个单一的文件。你也不必冗余模式或者使用-d、-e功能选项,因为数据包中的所有内容都会被记录到日志文件中。 你可以使用任何支持tcpdump二进制格式的嗅探器程序从这个文件中读出数据包,例如:tcpdump或者Ethereal。使用-r功能开关,也能使snort读出包的数据。snort在所有运行模式下都能够处理tcpdump格式的文件。例如:如果你想在嗅探器模式下把一个tcpdump格式的二进制文件中的包打印到屏幕上,可

5、以输入下面的命令: ./snort -dv -r 在日志包和入侵检测模式下,通过BPF(BSD Packet Filter)接口,你可以使用许多方式维护日志文件中的数据。例如,你只想从日志文件中提取ICMP包,只需要输入下面的命令行: ./snort -dvr icmp 网络入侵检测系统 snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式: ./snort -dev -l ./log -h -c 是规则集文件。snort会对每个包和规则集进行匹配,发现这样的包就采取相应的行动。如果你不指定输出目录,snort就输出到/var/log/snort目录。 注

6、意:如果你想长期使用snort作为自己的入侵检测系统,最好不要使用-v选项。因为使用这个选项,使snort向屏幕上输出一些信息,会大大降低snort的处理速度,从而在向显示器输出的过程中丢弃一些包。 此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以-e选项也可以不用: ./snort -d -h -l ./log -c 这是使用snort作为网络入侵检测系统最基本的形式,日志符合规则的包,以ASCII形式保存在有层次的目录结构中。 网络入侵检测模式下的输出选项 在NIDS模式下,有很多的方式来配置snort的输出。在默认情况下,snort以ASCII格式记录日志,使用full报警机

7、制。如果使用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

8、,默认的设备是LOG_AUTHPRIV和LOG_ALERT。可以修改文件修改其配置。 snort还可以使用SMB报警机制,通过SAMBA把报警消息发送到Windows主机。为了使用这个报警机制,在运行./configure脚本时,必须使用-enable-smbalerts选项。 下面是一些输出配置的例子: 使用默认的日志方式(以解码的ASCII格式)并且把报警发给syslog: ./snort -c -l ./log -s -h 使用二进制日志格式和SMB报警机制: ./snort -c -b -M WORKSTATIONS第二章 编写snort 规则 基础: snort使用一种简单的,轻量级

9、的规则描述语言,这种语言灵活而强大。在开发snort规则时要记住几个简单的原则。 第一, 大多数snort规则都写在一个单行上,或者在多行之间的行尾用/分隔。Snort规则被分成两个逻辑部分:规则头和规则选项。规则头包含规则的动作,协议,源和目标ip地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。 下面是一个规则范例: alert tcp any any - 111 (content:|00 01 86 a5|; msg: mountd access 第一个括号前的部分是规则头(rule header),包含的括号内的部分是规则选项(rule opti

10、ons)。规则选项部分中冒号前的单词称为选项关键字(option keywords)。注意,不是所有规则都必须包含规则选项部分,选项部分只是为了使对要收集或报警,或丢弃的包的定义更加严格。组成一个规则的所有元素对于指定的要采取的行动都必须是真的。当多个元素放在一起时,可以认为它们组成了一个逻辑与(AND)语句。同时,snort规则库文件中的不同规则可以认为组成了一个大的逻辑或(OR)语句。 规则高级概念: Includes include允许由命令行指定的规则文件包含其他的规则文件。 格式: include: 注意在该行结尾处没有分号。被包含的文件会把任何预先定义的变量值替换为自己的变量引用。

11、参见变量(Variables)一节以获取关于在SNORT规则文件中定义和使用变量的更多信息。 Variables 变量可能在snort中定义。 格式: var: 例子: var MY_NET alert tcp any any - $MY_NET any (flags: S; msg: SYN packet 规则变量名可以用多种方法修改。可以在$操作符之后定义变量。? 和 -可用于变量修改操作符。 $var - 定义变量。 $(var) - 用变量var的值替换。 $(var:-default) - 用变量var的值替换,如果var没有定义用default替换。 $(var:?message)

12、 - 用变量var的值替换或打印出错误消息message然后退出。 例子: var MY_NET $(MY_NET: log tcp any any - $(MY_NET:?MY_NET is undefined!) 23 Config Snort的很多配置和命令行选项都可以在配置文件中设置。 格式: config : Directives order 改变规则的顺序( snort -o ) alertfile 设置报警输出文件,例如:config alertfile: alerts classification 创建规则分类。 decode_arp 开启arp解码功能。(snort -a)

13、dump_chars_only 开启字符倾卸功能。(snort -C) dump_payload 倾卸应用层数据。(snort -d) decode_data_link 解码第二层数据包头。(snort -e) bpf_file 指定BPF过滤器(snort -F)。例如:config bpf_file: set_gid 改变GID (snort -g)。例如:config set_gid: snort_group daemon 以后台进程运行。(snort -D) reference_net 设置本地网络。 (snort -h). 例如:config reference_net: inter

14、face 设置网络接口(snort i )。例如:config interface: xl0 alert_with_interface_name 报警时附加上接口信息。(snort -I) logdir 设置记录目录 (snort -l)。例如:config logdir: /var/log/snort umask 设置snort输出文件的权限位。(snort -m). Example: config umask: 022 pkt_count 处理n个数据包后就退出。(snort -n). Example: config pkt_count: 13 nolog 关闭记录功能,报警仍然有效。 (

15、snort -N) obfuscate 使IP地址混乱 (snort -O) no_promisc 关闭混杂模式。(snort -p) quiet 安静模式,不显示标志和状态报告。(snort -q) checksum_mode 计算校验和的协议类型。类型值:none, noip, notcp, noicmp, noudp, all utc 在时间戳上用UTC时间代替本地时间。 (snort -U) verbose 将详细记录信息打印到标准输出。 (snort -v) dump_payload_verbose 倾卸数据链路层的原始数据包 ( snort -X ) show_year 在时间戳上

16、显示年份。(snort -y) stateful 为stream4设置保证模式。 min_ttl 设置一个snort内部的ttl值以忽略所有的流量。 disable_decode_alerts 关闭解码时发出的报警。 disable_tcpopt_experimental_alerts 关闭tcp实验选项所发出的报警。 disable_tcpopt_obsolete_alerts关闭tcp过时选项所发出的报警。 disable_tcpopt_ttcp_alerts 关闭ttcp选项所发出的报警。 disable_tcpopt_alerts 关闭选项长度确认报警。 disable_ipopt_a

17、lerts 关闭IP选项长度确认报警。 detection 配置检测引擎。( 例如:search-method lowmem ) reference 给snort加入一个新的参考系统。规则头 规则动作: 规则的头包含了定义一个包的who,where和what信息,以及当满足规则定义的所有属性的包出现时要采取的行动。规则的第一项是规则动作(rule action),规则动作告诉snort在发现匹配规则的包时要干什么。在snort中有五种动作:alert、log、pass、activate和dynamic. 1、Alert-使用选择的报警方法生成一个警报,然后记录(log)这个包。 2、Log-记

18、录这个包。 3、Pass-丢弃(忽略)这个包。 4、activate-报警并且激活另一条dynamic规则。 5、dynamic-保持空闲直到被一条activate规则激活,被激活后就作为一条log规则执行。 你可以定义你自己的规则类型并且附加一条或者更多的输出模块给它,然后你就可以使用这些规则类型作为snort规则的一个动作。 下面这个例子创建一条规则,记录到tcpdump。 ruletype suspicious type log output log_tcpdump: 下面这个例子创建一条规则,记录到系统日志和MySQL数据库 ruletype redalert type alert o

19、utput alert_syslog: LOG_AUTH LOG_ALERT output database: log, mysql, user=snort dbname=snort host=localhost 协议 规则的下一部分是协议。Snort当前分析可疑包的ip协议有四种:tcp 、udp、icmp和ip。将来可能会更多,例如ARP、IGRP、GRE、OSPF、RIP、IPX等。 Ip地址 规则头的下一个部分处理一个给定规则的ip地址和端口号信息。关键字any可以被用来定义任何地址。Snort没有提供根据ip地址查询域名的机制。地址就是由直接的数字型ip地址和一个cidr块组成的。C

20、idr块指示作用在规则地址和需要检查的进入的任何包的网络掩码。/24表示c类网络,/16表示b类网络,/32表示一个特定的机器的地址。例如,代表从到的地址块。在这个地址范围的任何地址都匹配使用这个标志的规则。这种记法给我们提供了一个很好的方法来表示一个很大的地址空间。 有一个操作符可以应用在ip地址上,它是否定运算符(negation operator)。这个操作符告诉snort匹配除了列出的ip地址以外的所有ip地址。否定操作符用!表示。下面这条规则对任何来自本地网络以外的流都进行报警。 alert tcp ! any - 111 (content: |00 01 86 a5|; msg:

21、external mountd access 这个规则的ip地址代表任何源ip地址不是来自内部网络而目标地址是内部网络的tcp包。 你也可以指定ip地址列表,一个ip地址列表由逗号分割的ip地址和CIDR块组成,并且要放在方括号内“”,“”。此时,ip列表可以不包含空格在ip地址之间。下面是一个包含ip地址列表的规则的例子。 alert tcp !10.1.1 any - 111 (content: |00 01 86 a5|; msg: external mountd access 端口号 端口号可以用几种方法表示,包括any端口、静态端口定义、范围、以及通过否定操作符。any端口是一个通配

22、符,表示任何端口。静态端口定义表示一个单个端口号,例如111表示portmapper,23表示telnet,80表示http等等。端口范围用范围操作符:表示。范围操作符可以有数种使用方法,如下所示: log udp any any - 1:1024 记录来自任何端口的,目标端口范围在1到1024的udp流 log tcp any any - :6000 记录来自任何端口,目标端口小于等于6000的tcp流 log tcp any :1024 - 500: 记录来自任何小于等于1024的特权端口,目标端口大于等于500的tcp流 端口否定操作符用!表示。它可以用于任何规则类型(除了any,这表示

23、没有,呵呵)。例如,由于某个古怪的原因你需要记录除x windows端口以外的所有一切,你可以使用类似下面的规则: log tcp any any - !6000:6010 方向操作符 方向操作符-表示规则所施加的流的方向。方向操作符左边的ip地址和端口号被认为是流来自的源主机,方向操作符右边的ip地址和端口信息是目标主机,还有一个双向操作符。它告诉snort把地址/端口号对既作为源,又作为目标来考虑。这对于记录/分析双向对话很方便,例如telnet或者pop3会话。用来记录一个telnet会话的两侧的流的范例如下: log ! any 23 Activate 和 dynamic 规则: 注:

24、Activate 和 dynamic 规则将被tagging 所代替。在snort的将来版本,Activate 和 dynamic 规则将完全被功能增强的tagging所代替。 Activate 和 dynamic 规则对给了snort更强大的能力。你现在可以用一条规则来激活另一条规则,当这条规则适用于一些数据包时。在一些情况下这是非常有用的,例如你想设置一条规则:当一条规则结束后来完成记录。Activate规则除了包含一个选择域:activates外就和一条alert规则一样。Dynamic规则除了包含一个不同的选择域:activated_by 外就和log规则一样,dynamic规则还包含

25、一个count域。 Actevate规则除了类似一条alert规则外,当一个特定的网络事件发生时还能告诉snort加载一条规则。Dynamic规则和log规则类似,但它是当一个activate规则发生后被动态加载的。把他们放在一起如下图所示: activate tcp !$HOME_NET any - $HOME_NET 143 (flags: PA; content: |E8C0FFFFFF|/bin; activates: 1; msg: IMAP buffer overflow! dynamic tcp !$HOME_NET any - $HOME_NET 143 (activated_

26、by: 1; count: 50;)规则选项 规则选项组成了snort入侵检测引擎的核心,既易用又强大还灵活。所有的snort规则选项用分号;隔开。规则选项关键字和它们的参数用冒号:分开。按照这种写法,snort中有42个规则选项关键字。 msg - 在报警和包日志中打印一个消息。 logto - 把包记录到用户指定的文件中而不是记录到标准输出。 ttl - 检查ip头的ttl的值。 tos 检查IP头中TOS字段的值。 id - 检查ip头的分片id值。 ipoption 查看IP选项字段的特定编码。 fragbits 检查IP头的分段位。 dsize - 检查包的净荷尺寸的值 。 flag

27、s -检查tcp flags的值。 seq - 检查tcp顺序号的值。 ack - 检查tcp应答(acknowledgement)的值。 window 测试TCP窗口域的特殊值。 itype - 检查icmp type的值。 icode - 检查icmp code的值。 icmp_id - 检查ICMP ECHO ID的值。 icmp_seq - 检查ICMP ECHO 顺序号的值。 content - 在包的净荷中搜索指定的样式。 content-list 在数据包载荷中搜索一个模式集合。 offset - content选项的修饰符,设定开始搜索的位置 。 depth - content

28、选项的修饰符,设定搜索的最大深度。 nocase - 指定对content字符串大小写不敏感。 session - 记录指定会话的应用层信息的内容。 rpc - 监视特定应用/进程调用的RPC服务。 resp - 主动反应(切断连接等)。 react - 响应动作(阻塞web站点)。 reference - 外部攻击参考ids。 sid - snort规则id。 rev - 规则版本号。 classtype - 规则类别标识。 priority - 规则优先级标识号。 uricontent - 在数据包的URI部分搜索一个内容。 tag - 规则的高级记录行为。 ip_proto - IP头的

29、协议字段值。 sameip - 判定源IP和目的IP是否相等。 stateless - 忽略刘状态的有效性。 regex - 通配符模式匹配。 distance - 强迫关系模式匹配所跳过的距离。 within - 强迫关系模式匹配所在的范围。 byte_test - 数字模式匹配。 byte_jump - 数字模式测试和偏移量调整。 msg msg规则选项告诉记录和报警引擎,记录或报警一个包的内容的同时打印的消息。它是一个简单的文本字符串,转义符是。 格式: msg: ; logto logto选项告诉snort把触发该规则的所有的包记录到一个指定的输出日志文件中。这在把来自诸如nmap活动

30、,http cgi扫描等等的数据组合到一起时很方便。需要指出的是当snort工作在二进制记录模式下时这个选项不起作用。 格式: logto:filename; ttl 这个规则选项用于设置一个要检查的存活期的值。只有确切地匹配时它所进行的检查才成功。这个选项关键字用于检测traceroute。 格式: ttl:; TOS tos关键字允许你验证IP头中TOS字段为一个特殊的值。只有匹配时才执行成功。 格式: tos: ; id 这个选项关键字用于检测ip头的分片id的值。有些黑客工具(以及别的程序)为了各种目的设置这个域的值,例如一些黑客常使用31337。用一个简单的规则检查这个值就可以对付他们。 格式: id: ; Ipoption 如果数据包中使用了IP选项,Ipoption选项会查找使用中的某个特别IP选项,比如源路由。这个选项的合法参数如下: rr - Record route(记录路由) eol - End of list (列表结尾) nop - No op (无所作为) ts - Time Stamp (时间戳) sec - IP security option (IP安全选项) lsrr - Loose source routing (

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1