版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Snort的规则目录规则的基本语法规则的存储结构规则的组成规则的编写与测试规则的基本语法1Snort是一个强大的、基于特征检测的轻量级网络入侵检测系统,它能根据规则对数据流量进行实时分析,通过攻击特征来识别网络发生的攻击行为,并根据检测结果采取一定的动作。对于Snort来说,规则很重要,它是检测引擎的核心内容,是检测引擎判断数据包是否非法的依据。规则的概述Snort规则库中可以有很多的规则,规则有以下的语法要求:(1)规则分类存放在不同的规则文件中。每个规则文件都是文本文件,其命名格式为“类名.rules”。(2)需要使用的规则文件应该用include语句包含在配置文件(如snort.conf,snort.lua)中,语法格式为“include<includefile_path/name>”。(3)若想禁用已包含在配置文件中的规则文件,可以在句首加“#”将其注释掉。(4)在每个规则文件中可以添加一条或多条规则,每条规则占一行。暂时不用的规则可以用“#”注释掉。(5)Snort3增加了#begin和#end注释,允许规则编写者轻松注释多行。规则的基本语法规则中使用变量名的定义变量的定义格式:var<name><value>例:varMY_NET/24alerttcpanyany->$MY_NETany(flags:S;msg:”SYNPacket”)说明:1)$name或$(name):用name的内容替换变量name2)$(name:-default):如果name没有定义就使用default的内容替换变量3)$(name:?message):使用变量name的内容替换变量,如果不成功就打印错误信息message并退出。例:varMY_NET$(MY_NET:-/24)logtcpanyany->$(MY_NET:?MY_NETisundefined!)23规则的基本语法每条规则中的各个规则选项之间是“与”的关系。只有当一个数据包与一条规则中所有的规则选项都匹配时,才算匹配该规则,从而判定该数据包为有害数据包。而在庞大的规则库中,不同的规则之间是“或”的关系,只要一个数据包与某条规则匹配,就判定该数据包为有害数据包。规则的应用逻辑Snort用一个二维链表存储规则,每一条规则都包括规则头和规则选项两个部分,二维链表的其中一维表示规则头,另一维表示规则选项。规则的存储结构每一条规则的规则头部分以规则树节点存储,规则选项部分则以规则选项节点存储。同一条规则的规则树节点与规则选项头节点链接起来。具有相同规则动作(如alert、log、pass等)的规则树节点也链接起来,形成链表判定树。规则的组成2snort的每条规则都可以分成逻辑上的两个部分:规则头和规则选项
规则头:包括规则行为(action)、协议(protocol)、源/目的IP地址、源/目的端口和方向。规则选项:包含报警信息和异常包的信息(特征码,signature),使用这些特征码来决定是否采取规则规定的行动。格式:(关键字:参数;关键字:参数;关键字:参数;……)采用递归的方法进行规则匹配满足一个规则时,触发相应的操作用户可以根据自己需要添加所需的规则模块
规则的组成举例规则的组成举例规则的组成alerttcpanyany->/24111(content:”|000186a5|”;msg:”mountdaccess”;)规则头规则选项规则含义:任何使用TCP协议连接网络/24中任何主机的111端口的数据包中,如果出现了数据000186a5,便发出警告信息mountdaccess规则头包括7个部分,按照顺序分别是规则动作(Action)、协议类型(Protocol)、网络(Networks)、端口(Ports)、方向操作符(DirectionOperator)、网络(Networks)、端口(Ports)。ActionProtocolNetworksPortsDirectionOperatorNetworksPorts举例:alerttcp$HOME_NETany->$EXTERNAL_NETE$HTTP_PORTS(RULE_OPTIONS)alertudp$EXTERNAL_NET$FILE_DATA_PORTS->$HOME_NETany(RULE_OPTIONS)规则头规则头的语法,Snort2和Snort3有一些区别。在Snort2中,规则头任何一个部分都不可以省略。而在Snort3中,选项Protocol、Networks、Ports和DirectionOperator是可选的,若省略则表示匹配任意,类似于用关键字any,方向是双向(入站/出站)。下面的规则头表示任意地址的TCP流量都要告警。alerttcp(RULES_OPTIONS)Snort3的语法有助于更快地创建规则、减少冗余的规则。但在实际使用时最好有选择性地省略选项,以免在读取规则时产生歧义。规则头(1)规则的动作alert:使用选定的报警方法产生报警信息,并且记录数据包log:记录数据包pass:忽略数据包drop:丢弃并记录数据包reject:拒绝并记录数据包,如果协议是TCP则发送TCP重置;如果协议是UDP则发送ICMP端口不可达消息。sdrop:阻止数据包,但不记录它。activate:报警并激活另一条dynamic规则dynamic:保持空闲状态,直到被activete规则激活,作为一条log规则自定义动作(ruletype):定义自己的规则类型,并将一个或多个输出插件与它们关联起来。然后将规则类型作为Snort规则中的操作。规则头Snort常作为IDS来使用,但它也可配置为IPS,只不过功能较弱。Snort使用数据采集器(DAQ)监听防火墙数据包队列,配合Snort规则动作drop、alert等处理数据包,防火墙在Snort启动后添加链表队列。数据包经过防火墙时将交给Snort来处理,触发入侵检测规则时立刻响应动作并阻止数据包。IPS应该直连在网络中。(1)规则的动作自定义动作(ruletype)例:创建一条规则,记录到tcpdump。ruletypesuspicious{typelogoutputlog_tcpdump:suspicious.log}规则头例:创建记录到系统日志和和tcpdump的规则ruletyperedalert{typealertoutputalert_syslog:LOG_AUTHLOG_ALERToutputlog_tcpdump:suspicious.log}(2)协议每条规则的第二项就是协议项。Snort工作在网络层和传输层,不能直接工作在应用层,写规则时协议可以写TCP、UDP、ICMP、IP,不能写ARP、FTP、TELNET、SMTP、HTTP等。在Snort3中新增了协议关键字HTTP进行HTTP内容检测。在Snort2中,编写规则以检测HTTPURI、Header或Body中的内容时使用的协议为TCP。在Snort3中,则可以用新的协议关键字HTTP,这提供了以下好处:(1)无论HTTP是否使用标准端口,Snort都可以进行检测并对HTTP内容进行告警。因此,规则编写者不必担心某些恶意软件正在通信的端口是否为标准端口。(2)无需在metadata选项中定义的服务映射(例如servicehttp)。(3)使用Snort3新的粘性缓冲区和动态缓冲区的功能,对Snort3的规则进行简化和潜在的性能改进。规则头(3)IP地址单个IP格式:Alerttcp6any->8any(msg:”ipany”)IP组格式:alerttcp[,6,0]any->anyany(msg:"testpcreandcontent!";)alerttcp/24any->anyany(msg:"testpcreandcontent!";)alerttcp[/10,5/20]any->[0/30]any(msg:"testpcreandcontent!";)规则头(3)IP地址IP取反格式:!Alerttcp!6any->8any(msg:”ipany”)alerttcp![,6,0]any->anyany(msg:"testpcreandcontent!";)alerttcp![/10,5/120]any->anyany(msg:"testpcreandcontent!";)IP组使用变量alerttcp$HOME_NETany->anyany(msg:"testpcreandcontent!";)any表示所有IPalerttcpanyany->anyany(msg:"testpcreandcontent!";)规则头(4)端口号单个端口alerttcpany90->any80(msg:"testpcreandcontent!";)多个端口alerttcpany90:100->any80:100(msg:"testpcreandcontent!";)alerttcpany90:->any:100(msg:"testpcreandcontent!";)alerttcpany[90,9090,80,443]->any:100(msg:"testpcreandcontent!";)alerttcpany![90:100]->any80:100(msg:"testpcreandcontent!";)alerttcpany!90:->any:100(msg:"testpcreandcontent!";)alerttcpany![90,9090,80,443]->any:100(msg:"testpcreandcontent!";)使用变量alerttcpany$HTTP_PORTS->any:100(msg:"testpcreandcontent!";)规则头(5)方向操作符->:表示左边的地址和端口是源而右边的是目的。<-:表示右边的地址和端口是源而左边的是目的。<>:表示规则将被应用在两个方向上,若想同时监视服务器和客户端,可以用到这个标示。例如,你可以监视往来POP或者Telnet服务器的数据流。规则头规则选项构成了snort入侵检测引擎的核心,结合了易用性、通用和灵活性。
使用规则选项时要特别注意分号“;”和冒号“:”这两个符号的使用。在每条snort规则中,选项之间使用分号(;)进行分割。规则选项的关键词和其参数之间使用冒号(:)分割规则选项主要有四类General(一般规则选项):提供了有关该规则的信息,但在检测过程中没有任何影响Payload:查找数据包有效负载中的数据,并且可以相互关联non-payload:非有效负载数据post-detection:是在规则“触发”后发生的特定于规则的触发器。规则选项聪者听于无声,明者见于未形维护网络安全,首先要知道风险在哪里,是什么样的风险,什么时候发生风险,正所谓“聪者听于无声,明者见于未形”。感知网络安全态势是最基本、最基础的工作。
——2016年4月19日,习近平总书记在网络安全和信息化工作座谈会上的讲话聪者听于无声,明者见于未形“聪者听于无声,明者见于未形”,最早出自司马迁《史记·淮南衡山列传》:“臣闻聪者听于无声,明者见于未形,故圣人万举万全。”这是淮南王刘安的谋臣伍被劝谏刘安所说,大意是听力好的人能在无声时听出动静,视力好的人能在未成形前看出征兆,所以最智慧、最有道德的圣人做事总是万无一失。后来,东汉史学家班固在《汉书·蒯伍江息夫传》中也曾引用这句。今天,这句典故多被用于强调防范未知风险,见微知著,防微杜渐,增强对矛盾风险挑战的预判和准备。聪者听于无声,明者见于未形提高预见能力一直是党对领导干部的一项基本要求。在革命和建设年代,毛泽东同志就一直强调领导干部必须具有预见性。他指出:“预见就是预先看到前途趋向。如果没有预见,叫不叫领导?我说不叫领导。”很明显,领导干部努力提高预见能力,才能站得高,看得远,才能把握事物的发展规律,看到社会发展的长远趋势,提前做好政策布局。聪者听于无声,明者见于未形作为网络安全的专业技术人员,在构筑网络安全防线时,也要努力提高预见能力。只有对网络安全的发展趋势进行全面、准确地预判,知道风险在哪里,是什么原因导致的风险,是什么样的风险,什么时候发生风险,才能预先防范网络安全风险。General(一般规则选项):提供了有关该规则的信息,但在检测过程中没有任何影响规则选项Snort3规定,所有规则必须有sid选项,且sid不允许为0。(1)小于100:保留给未来扩充时使用。(2)100-1000000:用于Snort官方预设配置的规则项目。(3)大于1000000:本地自定义的规则项目。General(一般规则选项):提供了有关该规则的信息,但在检测过程中没有任何影响msg:一个简单的文本字符串,用于在报警和日志中打印消息msg:"<messagetext>";例:alerttcp$EXTERNALany->$INTERNAL79(msg:”Finger”)规则选项General(一般规则选项):提供了有关该规则的信息,但在检测过程中没有任何影响2、reference包含对外部攻击识别系统的引用。该插件目前支持几个特定的系统以及唯一的url。此插件将被输出插件用来提供一个指向有关所产生的警报的其他信息的链接reference:<idsystem>,<id>;[reference:<idsystem>,<id>;]alerttcpanyany->any7070(msg:"IDS411/dos-realaudio";flags:AP;content:"|fff4fffd06|";reference:arachnids,IDS411;)alerttcpanyany->any21(msg:"IDS287/ftp-wuftp260-venglin-linux";flags:AP;content:"|31c031db31c9b046cd8031c031db|";reference:arachnids,IDS287;reference:bugtraq,1387;reference:cve,CAN-2000-1574;)规则选项Payload:可以在数据包有效载荷内搜索并检测数据,并且很多规则选项之间是可以相互关联的。最主要的规则选项是content以及相关的修饰词选项,如nocase、rawbytes、depth、offset、distance、within等,它们能对content选项进行补充说明。Snort3删除了一些规则选项,如uricontent、http_encode等。规则选项content:是Snort最重要的规则选项之一,用于搜索数据包有效载荷中的特定内容,并基于该数据触发响应。在进行内容匹配时,使用的是最高效的字符串搜索算法Boyer-Moore(简称BM)。如果数据包有效载荷中的任何位置包含与指定内容完全匹配的数据,表示匹配成功,Snort将执行其余的规则选项测试。内容匹配时区分大小写。语法格式如下:content:"<contentstring>";如:alerttcpanyany->/24143(content:“|90c8c0ffffff|/bin/sh”;msg:"IMAPbufferoverflow");“|”管道符号:表示二进制数据,以字节码的形式表示,用于检测特定的数据模式或签名。规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。注意:content的修饰词选项的语法,Snort2和Snort3有较大的区别。在Snort2中,修饰词选项的格式和其他规则选项一样,选项名称和值之间用冒号“:”分隔,不同修饰词之间用分号“;”分隔,只是需要放在content选项的后面,具体格式如下:content:"要匹配的内容";[修饰词选项1:值;修饰词选项2:值;……]在Snort3中,修饰词选项需要放在content选项的内部,名称和值之间用空格分隔,不同修饰词之间用逗号“,”分隔,具体格式如下:content:"要匹配的内容",[修饰词选项1
值,
修饰词选项2值,……];规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。①nocase:表示忽略大小写。语法格式为“nocase;”。下面的规则表示字符串“USERroot”不区分大小写。alerttcpanyany->any21(msg:"FTPROOT";content:"USERroot",nocase;)。②rawbytes:表示匹配原始数据包数据,忽略任何由预处理器完成的解码。语法格式为“rawbytes;”。下面的规则告诉模式匹配器查看原始流量,而不是解码器提供的解码流量。alerttcpanyany->any21(msg:"TelnetNOP";content:"|FFF1|",rawbytes;)规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。③depth:表示匹配深度,指定Snort应该搜索指定模式的数据包的深度,与offset一起使用。例如,depth为5则告诉Snort只在有效载荷的前5个字节中查找指定的模式。depth关键字允许大于或等于正在搜索的模式长度的值,允许的取值范围为1-65535。语法格式为“depth[<number>|<var_name>];”。④offset:表示匹配起始偏移,指定从何处开始搜索数据包中的模式。例如,offset为4将告诉Snort在有效载荷的第5个字节开始查找指定的模式。offset允许-655535到65535之间的值。语法格式为“offset[<number>|<var_name>];”。下面的规则显示了content、offset和depth的组合使用,表示在有效载荷的第5个字节开始的20个字节之内查找“cgi-bin/phf”。alerttcpanyany->any80(content:"cgi-bin/phf",offset4,depth20;)规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。⑤distance:表示匹配相对于上个模式的偏移的距离,与offset类似,只是它是相对于前一个模式匹配的结束而不是数据包的开始,与within一起使用。语法格式为“distance[<byte_count>|<var_name>];”。下面的规则可以匹配正则表达式/ABC.{1,}DEF/,表示字符串“ABC”和“DEF”之间间隔一个字符。alerttcpanyany->anyany(content:"ABC";content:"DEF",distance1;)⑥within:表示相对于上个模式之后匹配深度,使content关键字的模式匹配之间最多有N个字节。语法格式为“within[<number>|<var_name>];”。下面的规则将“EFG”的搜索范围限制在“ABC”后的10个字节之内。alerttcpanyany->anyany(content:"ABC";content:"EFG",within10;)规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。⑦http_client_body:将搜索限制在HTTP客户端请求的主体上。使用此选项检查的数据量取决于HttpInspect的post_depth配置选项。当post_depth设置为-1时,与此关键字匹配的模式将不起作用。不能与rawbytes一起使用。语法格式为“http_client_body;”。下面的规则将对模式“ABC”的搜索限制在HTTP客户端请求的原始主体上。alerttcpanyany->any80(content:"ABC",http_client_body;)⑧http_cookie:将搜索限制在HTTP客户端请求或HTTP服务器响应的Cookie头部字段,不能与rawbytes、http_raw_cookie或fast_pattern一起使用。语法格式为“http_cookie;”。⑨http_raw_cookie:将搜索限制为HTTP客户端请求或HTTP服务器响应的未规范化(UNNORMALIZED)的Cookie头部字段,不能与rawbytes、http_cookie或fast_pattern一起使用。语法格式为“http_raw_cookie;”。规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。⑩http_header:将搜索限制在HTTP客户端请求或HTTP服务器响应的头部字段,不能与rawbytes一起使用。语法格式为“http_header;”。⑪http_raw_header:将搜索限制为HTTP客户端请求或HTTP服务器响应的未规范化(UNNORMALIZED)的头部字段,不能与rawbytes、http_header或fast_pattern一起使用。语法格式为“http_raw_header;”。⑫http_method:将搜索限制为从HTTP客户端请求中提取的方法,不能与rawbytes或fast_pattern一起使用。语法格式为“http_raw_header;”。⑬http_uri:将搜索限制在规范化(NORMALIZED)请求的URI字段,不能与rawbytes一起使用。语法格式为“http_uri;”。⑭http_raw_uri:将搜索限制在规范化(NORMALIZED)请求的URI字段,不能与rawbytes、http_uri或fast_pattern一起使用。语法格式为“http_raw_uri;”。规则选项-Payloadcontent的修饰词选项:用于对content选项进行补充说明。⑮http_stat_code:将搜索限制为从HTTP服务器响应中提取的状态代码字段,不能与rawbytes或fast_pattern一起使用。语法格式为“http_stat_code;”。⑯http_stat_msg:将搜索限制为从HTTP服务器响应中提取的状态消息字段,不能与rawbytes或fast_pattern一起使用。语法格式为“http_stat_msg;”。⑰fast_pattern:用于设置要与快速模式匹配器一起使用的content选项。快速模式匹配器可以选择那些有机会匹配的规则,从而显著减少需要评估的规则数量,提高性能。快速模式匹配器不区分大小写。每条规则只能指定一次fast_pattern选项,且不能与http_cookie、http_raw_uri、http_raw_header、http_raw_cookie、http_method、http_stat_code、http_stat_msg一起使用。fast_pattern选项可以单独使用,也可以选择接受参数。规则选项-Payloadisdataat选项用于验证有效载荷在指定位置是否有数据,可以选择查找与上一个内容匹配的末尾相关的数据。语法格式为“isdataat:[!]<int>[,relative|rawbytes];”。其中rawbytes修饰符表示查看原始数据包数据,忽略预处理器所做的任何解码,只要先前的内容匹配在原始数据包数据中,此修饰符可以与relative修饰符一起使用。下面的规则查找数据包中是否存在字符串“PASS”,并验证字符串“PASS”后面至少有50个字节。alerttcpanyany->any111(content:"PASS";isdataat:50,relative;)下面的规则查找数据包中是否存在字符串“foo”,并验证有效载荷里字符串“foo”后面没有10个字节。alerttcpanyany->any111(content:"foo";isdataat:!10,relative;)规则选项-Payloadpcre选项允许使用与perl兼容的正则表达式编写规则,可以实现比简单的内容匹配更复杂的匹配。语法格式如下:pcre:[!]"(/<regex>/|m<delim><regex><delim>)[ismxAEGRUBPHMCOIDKYS]";pkt_data选项用于将检测用的游标设置为原始传输的有效负载。pkt_data选项必须位于content选项之前,并在更改之前保持有效。此选项可以在一个规则中多次使用。语法格式为“pkt_data;”。规则选项-PayloadNon-payloadDetectionRuleOptions(非有效载荷检测规则选项)用来对数据包的非有效载荷部分(即数据包的包头)进行检测。这类规则选项主要有以下关键字:规则选项-Non-payloadttl:测试IP包头的TTL域的值ttl:"<number>";支持<,>和=操作符tos:测试IP包头的TOS(typeofservice)域的值tos:"<number>";例:alerttcp$EXTERNALany->$CISCOany(msg:”CiscoTOSExample”;tos:!”0”;)规则选项-Non-payloadid:测试IP分组标志符(fragmentID)域是否是一个特定的值id:"<number>";ipoption:查看IP选项(IPoption)域
rr:路由记录,
eof:Endoflist,nop:无操作,
ts:时间戳,
sec:IP安全选项,
lsrr:宽松源路由,
ssrr:严格源路由,satid:流标识符ipopts:<option>;规则选项-Non-payloadfragbits:测试IP包头的分片位R:保留位
D:DF位
M:MF位+
ALL标志,指定的位加上任何其它的位为真
*
ANY标志,指定的任何位为真
!
NOT标志,指定的位不为真-:不包含指定位例:alerttcp!$HOME_NETany->$HOME_NETany(fragbits:R+;msg:"ReserverdIPbitset!";)规则选项-Non-payloaddsize:测试数据包数据段的大小这个规则选项用来测试数据包负载的大小如果知道某个服务有一个特定大小的缓冲区,就能够设置这个选项来捕获制造缓冲区溢出的企图dsize:[>|<]<number>flow:<选项>to_serverto_client…..规则选项-Non-payloadflags:测试TCP标志(flag)是否是某个值F:FIN(TCP标志字节最左边一位)
S:SYN
R:RST
P:PSH
A:ACK
U:URG
2:保留位2
1:保留位1alerttcpanyany->anyany(flags:SF;msg:"PossibleSYNFINscan";)规则选项-Non-payloadseq:测试TCP包的序列号是否是某个值seq:<number>ack:测试TCP包的确认域是否为某个值只有一个实际的用途:检测NMAPTCPping扫描。扫描程序nmap进行TCPping扫描时,把TCP包头的确认号(4个字节)设置为0,然后向目标主机发出TCPACK包,确定目标主机是否正在运行alertanyany->/24any(flags:A;ack:0;msg:"nmapTCPping";)规则选项-Non-payloaditype:测试ICMP数据包的类型(type)域拒绝服务和淹没攻击的数据包有时使用无效的ICMP类型,可以使用这个规则选项对无效的ICMP类型进行检测,也就是说,这个规则选项中的值可以不是正常的数值itype:<number>icode:测试ICMP数据包的编码(code)域icode规则选项和itype非常相似,也是使用数字进行设置icode:<number>";)规则选项-Non-payloadicmp_id:测试ICMP回送包的标志符(ICMPECHOID)是否为某个值icmp_id:<number>icmp_seq:检测ICMP回送包的序列号的值因为一些隐秘通道程序在通讯时使用静态的ICMP域。icmp_seq:<number>规则选项-Non-payloadPost-DetectionRuleOptions是在规则被触发后发生的、特定于规则的触发器,主要有以下规则选项。规则选项-Post-Detectionlogto:把日志记录到一个用户指定的文件,而不是输出到标准的输出文件使用这个选项,对处理来自nmap扫描、HTTPCGI扫描的数据非常方便。注意如果使用二进制日志模式,这个选项会失效。logto:"<文件名>";session:对一个指定的会话记录其应用层信息观察用户在telnet、rlogin、ftp,甚至WEB会话过程中输入了什么,就可以使用这个规则选项session规则选项有两个参数关键词:printable、all。logtcpanyany<>/2423(session:printable;)规则选项-Post-Detectionreact:激活反应措施(阻塞WEB站点)基本的反应就是阻塞用户要访问的站点,例如色情站点
block:关闭连接并发出注意信息
warn:发出警告信息
msg:定义要包含在警告信息中的文本
proxy:<number>:使用代理服务器端口发送警告信息可选参数使用逗号分开,react关键词应该放在所有选项的最后react:<react_basic_modifier[,react_additionall_modifier...]>alerttcpanyany<>/2480(content-list:“adults”;msg:“Notforchildren!”;react:block,msg;)规则选项-Post-Detectionresp:激活反应措施(断开连接等)对于匹配某个规则的数据包,可以通过resp关键词使snort的灵活反应机制生效。使用FlexResp插件,snort能够主动断开恶意连接rst_snd:向发送方套接字发送TCP-RST数据包
rst_rcv:向接受方套接字发送TCP-RST数据包
rst_all:在两个方向上发送TCP-TST数据包
icmp_net:向发送方发送ICMP_NET_UNREACH数据包
icmp_host:向发送方发送ICMP_HOST_UNREACH数据包
icmp_port:向发送方发送ICMP_PORT_UNREACH数据包
icmp_all:向发送方发送以上各种类型的ICMP数据包多个参数可以结合使用,各个参数之间使用逗号隔开。alerttcpanyany->/241524(flags:S;resp:rst_all;msg:"Rootshellbackdoorattempt";)alertudpanyany->.0/31(resp:icmp_port,icmp_host;msg:"Hacker'sParadiseaccessattempt";)规则选项-Post-Detection实例1:IIS发布之初,附带的例子网页存在漏洞特点:保存在Web根目录下的/site/iisamples目录下。alerttcp$EXTERNAL_NETany->$HTTP_SERVER80(msg:”WEB_IISsite/iisamplesaccess”;flag:A+;uricontent:”/site/iisamples”;nocase;classtype:attemped-recon;sid:1046;rev:1;)攻击手段对应规则举例实例2:红色代码的一个变种CodeRedⅡ。特点利用MSIndexServer(.ida/.idq)ISAPI扩展远程溢出漏洞(MS01-033)alerttcp$EXTERNALany->$INTERNAL80(msg:”IDS552/web-iis_IISISAPIOverflowids”;dsize:>239;flags:A+;uricontent:”.ida?”;classtype:system-or-info-attempt;reference:arachnids,552;)攻击手段对应规则举例(1)记录所有登录到一个特定主机的数据包:logtcpanyany->/3223(2)在第一条的基础上记录了双向的流量:logtcpanyany<
>/3223(3)这一条规则记录了所有到达你的本地主机的icmp数据包:logicmpanyany->/24any(4)这条规则允许双向的从你的机子到其他站点的http包:passtcpany80<
>/24any(5)这条告警规则显示了本地主机对其他主机的111端口的访问,并在log中显示端口影射调用('portmappercall')信息:alerttcp/24any->any111(msg:"Portmappercall";)规则使用的例子(6)记录其他任意地址的小于1024端口访问本地小于1024端口的流量:logtcpany:1024->/24:1024(7)这条规则将会发现SYNFIN扫描: alerttcpanyany->/24any(msg:"SYN-FINscan!";flags:SF;)(8)这条规则将会发现空TCP扫描:alerttcpanyany->/24any(msg:"Nullscan!";flags:0;)(9)这条规则将会发现Quesofingerprint扫描:alerttcpanyany->/24any(msg:"Quesofingerprint";flags:S12;)(10)这条规则将进行基于内容的查找以发现溢出攻击:alerttcpanyany->/24143(msg:"IMAPBufferoverflow!";content:"|90E8C0FFFFFF|/bin/sh";)规则使用的例子(11)这条规则将会发现PHF攻击:alerttcpanyany->/2480(msg:"PHFattempt";content:"/cgi-bin/phf";)(12)这条规则将会发现Traceroute包:alertudpanyany->/24any(msg:"Traceroute";ttl:1;)(13)这条规则将会发现其他主机对本地发出的icmp包:alertudpanyany->/24any(msg:"Traceroute";ttl:1;)(14)这条规则发现nmap的TCP的ping扫描:alerttcpanyany->/24any(flags:A;ack:0;msg:"NMAPTCPping!";)(15)这条规则将会发现源路由的数据包(源路由攻击):alerttcpanyany->anyany(ipopts:lsrr;msg:"SourceRoutedpacket!";)规则使用的例子(16)S7协议是西门子S7系列PLC内部使用的一种通信协议,通过该协议可以控制PLC的工作。下图展示了一条能够使西门子S7300PLC停止工作的S7报文及其检测规则。规则使用的例子规则的编写与测试3要获取或者更新Snort规则,主要有以下3种方法。(1)从Snort官网下载规则。免费版(Community)注册版(Register
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京2025年首都医科大学附属北京同仁医院面向应届生招聘167人笔试历年参考题库附带答案详解
- 电信安全考试试题及答案
- 六安安徽六安市叶集区人民医院(市六院)劳务派遣工作人员招聘笔试历年参考题库附带答案详解
- 佛山2025年广东佛山顺德区公立医院招聘高层次人才40人笔试历年参考题库附带答案详解
- 云南2025年云南中医药大学招聘硕士以上人员2人笔试历年参考题库附带答案详解
- 丽水2025年浙江丽水松阳县卫生健康系统招聘卫生专业技术人员9人笔试历年参考题库附带答案详解
- 临沂2025年山东临沂临沭县部分事业单位招聘综合类岗位26人笔试历年参考题库附带答案详解
- 邮政综合考试试题及答案
- 浙江国企招聘2025绍兴市人才市场服务有限公司招聘高速收费操作员(第一批)60人笔试参考题库附带答案详解(3卷)
- 2026年中国储备粮管理集团有限公司招聘81人笔试参考题库附带答案详解(3卷)
- 交通运输安全检查与处理规范(标准版)
- UCL介绍教学课件
- 扁鹊凹凸脉法课件
- 2026年开封大学单招职业适应性测试题库及完整答案详解1套
- 建筑施工现场材料采购流程
- DB31∕T 1234-2020 城市森林碳汇计量监测技术规程
- 园林绿化施工工艺及注意事项
- 术后肠麻痹学习课件
- 顶管施工方案非开挖电缆管道专项施工方案
- XX小学传统体育游戏集锦
- GB/T 33091-2016聚氨酯筛板
评论
0/150
提交评论