可以用 snort 做天玥网络安全审计系统吗

软件与服务//
量身打造自己的Snort规则
  Snort规则是有效、灵活、制订相对容易的。首先,从Snort.org网站上下载最新的规则,阅读修改并试用(当然是在实验环境里)。如果有的规则与预期不符,改变它。这里是修改的方法。
  所有Snort规则遵循一个非常简单的格式,这值得研究。首先是关于SID和Rec(修订)的注释。SID是Snort规则的ID(又叫做签名ID),Snort.org和Sourcefire保留了所有小于一百万的数字用于官方规则。如果你修改了一个规则,把SID加上一百万,这样可以与起源保持一致。如果你创建了一个新规则,使用起始于九百万的SID。只要有改变或者规则变更控制结束就要增加revision。
  Snort.org规则与一个空的local.rules文件一起产生。不要使用它,以免下一次安装新规则时你的习惯规则被这个空文件覆盖。创建一两个其他的文件,例如company_prod.rules和company_test.rules,并在snort.conf文件中添加内容说明。你可以在一个机器和接口上运行多于一个实例,这对测试规则有帮助,但是在一台老旧的PC和产品盒上同时运行测试更简单安全。
  这是一个简单的Snort规则:alert icmp $EXTERNAL_NET any -& $HOME_NET any (msg:"ICMP PING NMAP"; dsize:0; itype:8; reference:arachnids,162; classtype:attempted- sid:469; rev:3;)
  这段代码的意思是:如果检测到ICMP包,不论是来自$EXTERNAL_NET被定义为(default = any))或$HOME_NET被定义为(default=any),只要数据大小(dsize)是0并且ICMP类型(itype)是8(这是回应(request)),就发出告警。除了告警还包括但不只包括日志和通过审查功能。这个例子中的协议是ICMP,但是IP、TCP和UDP也支持。变量在配置文件中定义,有一个$前缀。
  SID 469不是一个非常好的规则。它产生了许多负面影响,因为它太宽松了。除NMAP之外的其它应用程序发送没有负荷的请求应答包,并且没有其他的标准使这个规则更严谨或更明确。
  一个更好的例子是:alert udp $EXTERNAL_NET any -& $SQL_SERVERS any (msg:"MS-SQL probe response overflow attempt"; content:"|05|"; depth:1; byte_test:2,&,512,1; content:"|3B|"; distance:0; isdataat:512, content:!"|3B|"; within:512; reference:bugtraq,9407; reference:cve,; reference:url,/technet/security/bulletin/MS04-003. classtype:attempted- sid:2329; rev:6;)
  限于篇幅,我不能解释这个规则的每个细节,但是你可以看出它详细很多。你也许注意到这些例子包括外部参考资源。在“etc”目录下可以看到“reference.config”文件,或者在Snort网站上通过SID查找包括这些参考链接的规则文件。
  Snort v2.1.0引入了PCRE、thresholding和suppression,他们的恰当调谐要求很苛刻。PCRE允许使用规则里的正则表达式,所以你可以对搜索的内容非常明确。这三种thresholding允许你以不同方式限制发出“骚扰”规则的告警并且可以写进用户规则或者放置在诸如threshold.conf的单独配置文件中。特别的,你可以使用这样的外部文件存储器来调整官方的Snort.org规则而不必实际的修改这些规则,这使得升级非常容易。suppression命令使你可以非常精确地了解哪一个设备会或者不会发出告警。例如,地址为10.1.1.54的管理SNMP设备的网络管理站,你可以用这样的规则限制它:suppress gen_id 1, sig_id 1411, track by_src, ip 10.1.1.54
  我们在此只是触及了表面,要了解更详细的信息,可以阅读Snort用户手册和FAQ,网址是,获得当前规则的网址是。“readme”文件包括在Snort源码里,你可以下载()并检查来学习更多。如果你不想下载源码,你可以访问所有Snort的源码、文件和规则()。你也可以读取档案文件或加入Snort Sigs邮件发送清单()。
关键词:Snort rules
责任编辑:许琳
All Rights Reserved, Copyright , .cn渝ICP证B2-号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i
京公网安备84号(window.slotbydup=window.slotbydup || []).push({
id: '2014386',
container: s,
size: '234,60',
display: 'inlay-fix'
&&|&&0次下载&&|&&总13页&&|
您的计算机尚未安装Flash,点击安装&
阅读已结束,如需下载到电脑,请使用积分()
下载:8积分
0人评价1页
0人评价2页
0人评价4页
0人评价1页
0人评价2页
所需积分:(友情提示:大部分文档均可免费预览!下载之前请务必先预览阅读,以免误下载造成积分浪费!)
(多个标签用逗号分隔)
文不对题,内容与标题介绍不符
广告内容或内容过于简单
文档乱码或无法正常显示
若此文档涉嫌侵害了您的权利,请参照说明。
评价文档:
下载:8积分网络安全实验(入侵检测--snort)
防火墙可以比喻为办公室门口的警卫,用来检查进出者的身份。而入侵检测系统就像是网上的警报器,当发现入侵者时,指出入侵者的来历、他们正在做什么。入侵检测系统被视为防火墙之后的第二道安全闸门。
【实验目的】
1.掌握snortIDS工作机理
2.应用snort三种方式工作
3.熟练编写snort规则
【实验安排】
2学时;每组6人
【实验原理】
1.Snort IDS概述
IDS(入侵检测系统)是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。此外,Snort是开源的入侵检测系统,并具有很好的扩展性和可移植性。
2.Snort IDS体系结构
IDS体系结构如图8.1所示。
SnortIDS体系结构
如上图所示,Snort的结构由4大软件模块组成,它们分别是:
(1)数据包嗅探模块——负责监听网络数据包,对网络进行分析;
(2)预处理模块——该模块用相应的插件来检查原始数据包,从中发现原始数据的“行为”,如端口扫描,IP碎片等,数据包经过预处理后才传到检测引擎;
(3)检测模块——该模块是Snort的核心模块。当数据包从预处理器送过来后,检测引擎依据预先设置的规则检查数据包,一旦发现数据包中的内容和某条规则相匹配,就通知报警模块;
(4)报警/日志模块——经检测引擎检查后的Snort数据需要以某种方式输出。如果检测引擎中的某条规则被匹配,则会触发一条报警,这条报警信息会通过网络、UNIXsocket、WindowsPopup(SMB)、SNMP协议的trap命令传送给日志文件,甚至可以将报警传送给第三方插件(如SnortSam),另外报警信息也可以记入SQL数据库。
3.Snort三种工作方式
Snort拥有三大基本功能:嗅探器、数据包记录器和入侵检测。嗅探器模式仅从网络上读取数据包并作为连续不断的流显示在终端上,常用命令snort-dev。数据包记录器模式是把数据包记录到硬盘上,常用命令snort-b。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让Snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
4.Snort规则
1)snort规则定义
Snort使用一种简单的规则描述语言,这种描述语言易于扩展,功能也比较强大。Snort规则是基于文本的,规则文件按照不同的组进行分类,比如,文件ftp.rules包含了FTP攻击内容。「注」Snort的每条规则必须在一行中,它的规则解释器无法对跨行的规则进行解析。
Snort的每条规则都可以分成逻辑上的两个部分:规则头和规则体。
规则头包括4个部分:规则行为;协议;源信息;目的信息。
图8.2是对于规则头的描述。
snort规则头
Snort预置的规则动作有5种:
(1)pass—动作选项pass将忽略当前的包,后继捕获的包将被继续分析。
(2)log—动作选项log将按照自己配置的格式记录包。
(3)alert—动作选项alert将按照自己配置的格式记录包,然后进行报警。它的功能强大,但是必须恰当的用,因为如果报警记录过多,从中攫取有效信息的工作量增大,反而会使安全防护工作变得低效。
(4)dynamic—动作选项dynamic是比较独特的一种,它保持在一种潜伏状态,直到activate类型的规则将其触发,之后它将像log动作一样记录数据包。
(5)activate—动作选项activate功能强大,当被规则触发时生成报警,并启动相关的dynamic类型规则。在检测复杂的攻击,或对数据进行归类时,该动作选项相当有用。
除了以上5种预置的规则动作类型,用户还可以定制自己的类型。
规则体的作用是在规则头信息的基础上进一步分析,有了它才能确认复杂的攻击(Snort的规则定义中可以没有规则体)。规则体由若干个被分别隔开的片断组成,每个片断定义了一个选项和相应的选项值。一部分选项是对各种协议的详细说明,包括IP、ICMP和TCP协议,其余的选项是:规则触发时提供给管理员的参考信息,被搜索的关键字,Snort规则的标识和大小写不敏感选项。
下面是一个规则实例。
altert tcp !192.168.0.1/24 any -&
any 21 (content:"ESER":msg: "FTP Login":)
其中,alert表示规则动作为报警。
tcp表示协议类型为TCP协议。
!192.168.0.1/24表示源IP地址不是192.168.0.1/24。
第一个any表示源端口为任意端口。
-&表示发送方向操作符。
第二个any表示目的IP地址为任意IP地址。
21表示目的端口为21。
content:"USER"表示匹配的字符串为“USER”。
msg:"FTPLogin"表示报警信息为“FTPLogin”。
上面的规则也可写成:
altert tcp !192.168.0.1/24 any -& any 21
(content:"[00 53 45 52]":msg: "FTP Login":)
方向操作符-&表示数据包的流向。它左边的数据包分别是源地址和源端口,目的地址和目的端口。此外,还有一个双向操作符&&,它使Snort对这条规则中,两个IP地址/端口之间的数据传输进行记录/分析,例如telnet或者POP3对话。下面的规则表示对一个telnet对话的双向数据传输进行记录:
log 192.168.1.0/24 any
&& 192.168.1.0/24 23
activate/dynamic规则对扩展了snort功能。使用activate/dynamic规则对,你能够使用一条规则激活另一条规则,当一条特定的规则启动,如果你想要snort接着对符合条件的数据包进行记录时,使用activate/dynamic规则对非常方便。除了一个必需的选项activates外,激活规则非常类似于报警规则(alert)。动态规则(dynamic)和日志规则(log)也很相似,不过它需要一个选项:activated_by。动态规则还需要另一个选项:count。当一个激活规则启动,它就打开由activate/activated_by选项之后的数字指示的动态规则,记录count个数据包。
下面是一条activate/dynamic规则对的规则:
activate tcp any any -& any 23
(activates:111;msg:"Telnet Login";)
&&&&dynamic
tcp any any -& any 23 (activated:111;count:20;)
当发现Telnet默认使用的23端口有通信,activate规则会被触发并启动dynamic规则,然后dynamic规则将遵循配置,记录后面的20个数据包。
在上面的例子里activate规则的“activates”值为111,dynamic规则的“activated_by”值为111,这样就把两个规则关联起来,而不是因为这两个规则有相同的规则头。
2)预处理综述
预处理器在调用检测引擎之前,在数据包被解码之后运行。通过这种机制,Snort可以以一种outofband的方式对数据包进行修改或者分析。
预处理器可以使用preprocessor关键词来加载和配置,常用到的预处理器如下:
(1)HTTPdecode预处器
HTTP解码预处理模块用来处理HTTPURL字符串,把它们转换为清晰的ASCII字符串。
(2)端口扫描器portscan
端口扫描器会把由单个源IP地址发起的端口扫描从开始到结束的全过程记录到标准日志。
(3)stream处理器
stream处理器为snort提供了TCP数据包重组的功能。在配置的端口上,stream处理器能够对TCP数据包的细小片段进行重组,使之成为完整的TCP数据包,然后snort可以对其可疑行为进行检查。
(4)frag2处理器
frag2预处理器为snort提供了IP分片重组的功能。frag2预处理器能够对分片包进行重组来定位分片攻击,它的工作原理是将所有的分片重组构造成一个包含完整信息的数据包,再将这个包传给检测引擎。
5.Snort应用
Snort采用命令行方式运行。格式为:snort&[options]&filters&。options为选项参数;filters为过滤器。
1)Snort主要选项参数
-A&alert&设置报警方式为full,fast或者none。在full方式下,snort将传统的报警信息格式写入报警文件,报警内容比较详细。在fast方式下,snort只将报警时间,报警内容,报警IP地址和端口号写入文件。在none方式下,系统将关闭报警功能。
-a显示ARP包。
-b以tcpdump的格式将数据包记入日志。所有的数据包将以二进制格式记录到snort.log文件中。这个选项提高了snort的操作速度,因为直接以二进制存储,省略了转换为文本文件的时间,通过-b选项的设置,snort可以在100Mbps的网络环境中正常工作。
-c&cf&使用配置文件&cf&。文件内容主要控制系统哪些包需要记入日志,哪些包需要报警,哪些包可以忽略等。
-C仅抓取包中的ASCII字符。
-d抓取应用层的数据包。
-D在守护模式下运行snort。
-e显示和记录数据链路层信息。
-F&bpf&从文件&bpf&中读取BPF过滤信息。
-h&hn&设置&hn&(C类IP地址)为内部网络。当使用这个开关时,所有从外部的流量将会有一个方向箭头指向右边,所有从内部的流量将会有一个左箭头。这个选项没有太大的作用,但是可以使显示的包的信息格式比较容易察看。
-i&if&使用网络接口文件&if&。
-l&ld&将包信息记录到目录&ld&下。设置日志记录的分层目录结构,按接收包的IP地址将抓取的包存储在相应的目录下。
-n&num&处理完&num&包后退出。
-N关闭日志功能,报警功能仍然工作。
-p关闭混杂模式的嗅探(sniffing)。这个选项在网络严重拥塞时十分有效。
-r&tf&读取tcpdump生成的文件&tf&,snort将读取和处理这个文件。
-s将报警信息记录到系统日志,日志文件可以出现在/var/log/messages目录里。
-v将包信息显示到终端时,采用详细模式。这种模式存在一个问题:它的显示速度比较慢,如果你是在IDS网络中使用snort,最好不要采用详细模式,否则会丢失部分包信息。
-V显示版本号,并退出。
2)Filters过滤器
Snort的&filters&是标准的BPF格式的过滤器。
Snort应用了BPF机制,可以在探测器上书写和执行BPF规则的文件。BPF机制允许用户书写快速的包分析规则,这些规则主要基于源、目的、和其他的头信息。通过嗅探和BPF,我们可以只捕获需要的流量,这样就减轻了需要处理的数据量。
BPF机制很容易理解,可以用于分析TCP、UDP、IP和ICMP协议。规则语法很像自然的口语,使用“and”和“or”作为规则操作符,用“not”作为取反符,此处还可以用括号来告诉引擎将一系列数据作为一个整体来处理。
例如:ICMP捕获:icmp。
telnet请求数据包捕获:tcp
and dst port 23。
记录所有源自网络192.168.0.0/24,目的是202.98.0.0/24的IP流量:ip and "src
net 192.168.0 " and "dst net 202.98.0 " 。
【实验步骤】
本练习主机A、B为一组,C、D为一组,E、F为一组。
首先使用“快照X”恢复Linux系统环境。
一.Snort数据包嗅探
1.启动Snort
进入实验平台,单击工具栏“控制台”按钮,进入IDS工作目录,运行Snort对网络接口eth0进行监听,要求如下:
(1)仅捕获同组主机发出的icmp回显请求数据包。
(2)采用详细模式在终端显示数据包链路层、应用层信息。
(3)对捕获信息进行日志记录,日志目录/var/log/snort。
Snort命令:
&snort &i eth0 &dev icmp and src 172.16.0.141 &l
/var/log/snort&&&&&&&&&&&&&&&&&&&
2.查看Snort日志记录。
「说明」默认snort日志记录最后一级目录会以触发数据包的源IP命名。可使用组合键Ctrl+C停止snort运行。
二.Snort数据包记录
(1)对网络接口eth0进行监听,仅捕获同组主机发出的Telnet请求数据包,并将捕获数据包以二进制方式进行存储到日志文件中/var/log/snort/snort.log)。
Snort命令:& snort &i eth0 &b tcp and src
172.16.0.141 and dst port 23&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
(2)当前主机执行上述命令,同组主机telnet远程登录当前主机。
(3)停止snort捕获(Ctrl+C),读取snort.log文件,查看数据包内容。
Snort命令:
/var/log/snort.log&&&&&&&&&&&
&&&&&&&&&&&&&
三.简单报警规则
(1)在snort规则集目录ids/rules下新建snort规则集文件new.rules,对来自外部主机的、目标为当前主机80/tcp端口的请求数据包进行报警,报警消息自定义。
snort规则:
alter tcp any any
-& 172.16.0.142 80 (msg:"Telnet Login")&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
(2)编辑snort.conf配置文件,使其包含new.rules规则集文件,具体操作如下:使用vim(或vi)编辑器打开snort.conf,切换至编辑模式,在最后添加新行包含规则集文件new.rules。
添加包含new.rules规则集文件语句&
&RULE PATH/new.rules
(3)以入侵检测方式启动snort,进行监听。
启动snort的命令& snort &c snort.conf&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
以入侵检测方式启动snort,同组主机访问当前主机Web服务。
心得体会:入侵检测系统是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。通过这次实验,我了解了Snort拥有的三大基本功能:嗅探器、数据包记录器和入侵检测。并学会了它的基本用法,如一些指令、命令和规则。近一步熟悉了用命令行的方式。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
Snort入侵检测系统在军用网络中的应用研究
下载积分:4000
内容提示:Snort入侵检测系统在军用网络中的应用研究
文档格式:PDF|
浏览次数:0|
上传日期: 16:08:48|
文档星级:
全文阅读已结束,如果下载本文需要使用
 4000 积分
下载此文档
该用户还上传了这些文档
Snort入侵检测系统在军用网络中的应用研究
官方公共微信安全威胁 两步之遥保障不再遭受入侵
你的网络离安全有多远?
如果一百步算过关的话,相信你已经迈出了第1-98步:你买了防火墙,买了IDS/IP...
你的网络离安全有多远?
如果一百步算过关的话,相信你已经迈出了第1-98步:你买了防火墙,买了IDS/IPS和防病毒软件,你用上了VPN,交换机也升级为安全交换机,你让安全厂商专家为你规划安全部署,将各种设备联动起来,你还让这些安全专家为自己的员工培训,教他们如何养成好习惯……如果这些步骤你还没有完成,那网络还不足以抵抗中、低端"骇客";如果这些步骤你都认真做了,努把力,再迈出下一步,假设安全对于你真的非常重要的话,比如银行。
请记住一句话:Hacker attacks protected!
倒数第二步:安全审计
实际上,在倒数第三步结束之后,你已经非常清楚网络现在已经能够进行哪些防御了,但问题是,没人告诉你网络还有哪些缺陷,指望那些安全产品厂商吗?在网上可以自由下载的、著名的开源IDS软件--Snort会给你清楚明白地讲出来它会在哪些情况下出现漏报、误报。对于那些商业产品,随机手册里则是一片赞歌,尽管有的产品就是把Snort装到了不许用户打开的硬盒子里。
即便很多设备厂商提供的是非常棒的产品,但安全是一体化的安全而不是局部的安全,将各种设备、不同层次的软件捏合在一起,安全谁知道?
你需要一个在甲方乙方之外的第三方,客观地评价你的网络。安全审计不是请人来研究新的攻击,而是把现有的攻击手段汇集起来,对你的网络进行遍历,而且,遍历要以仿真各种可能出现的流量模型为前提,以期发现安全拓扑的不合理以及设备自身的弱点。
可惜,这种安全审计机构太难求了。有这样的软件可以承担一部分审计工作,花上几个小时,它能把网络上的主机和网络设备都扫描一遍,然后给你出个报告,告诉你操作系统和应用程序等存在的弱点。也有这样的人,成功地入侵了某大型网站(相信它是做了安全防护的),并把漏洞告诉了该网站,最后那人成了该网站的安全顾问,当然,这又涉及到了法律问题。可不可以将若干熟悉攻击手段和安全部署的"隐士"聚集在一起,为捍卫网络安全出把力呢?据说,那些不用钥匙却能在半小时内捅开防盗门的"工程师"要在派出所登记,可现在还不是有专业开锁公司网罗了一帮人才为大众解难吗?
首先可能要解决的是安全审计机构的合法性和行业规范。这样,安全审计才可能从目前的地下转为公开,甲方由被动审计到主动审计。安全审计人员会不会成为潜在攻击者?相信只有当一切摆在明处后才能逐渐消除人们对安全审计工作者的恐惧和不信任心理。同时,安全审计的出现也会刺激安全方案提供商提高服务水平。令一方面,也使中、高端"骇客"缩短自己的睡眠时间或者"从良"。
安全审计的资质比较容易评估,就目前的安全部署水准,不发现弱点的审计肯定不是好审计!
安全审计几乎在全球都存在合法化、规范化的问题。当然,安全审计一旦流行起来,某些人为了梦想成为审计专家,他从"小学生"到"研究生"这个过程中,又不知道拿了多少"肉机"来练手,这种情况,依然要靠违法必究的准则!
最后一步,MISSON IMPOSSIBLE!
总有那么少数人,极具天赋的计算机爱好者,它们置法律于不顾,制造着每年数十亿美金的损失,让甲方们花更多的钱来进行安全部署,也使得安全厂商不停地为自己的产品打着补丁。如何能扼制他们?
前不久,听说有个美国的IPS厂商具备"数字疫苗,实时接种"能力,其漏洞收集部门通过与顶级安全论坛等漏洞研究机构合作,发现未被人们发现的漏洞,并每周发送软件更新给用户,达到避免"零日"攻击的目的。又听说,该厂商目前已经被某国际著名网络设备提供商高价收购。
如果这个厂商真是做得很好的话,姑且算是又向前挪了小半步,这可以算是顶级"红客"与顶级"骇客"之间的较量,但力量的对比绝不像"正"能压"邪"说起来那么容易!
安全还差两步?其实俺也不知道。不过,最想说的是,既然审计能在"黑暗"中进行,不妨大家来思考一下是不是能把它变得可操作、可利用、可控制。
热门文章排行}

我要回帖

更多关于 信息安全审计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信