目录
一、什么是IDS(intrusion detection system)?
六、IDS的签名是什么意思?签名过滤器有什么作用?例外签名配置作用是什么?
IDS(入侵检测系统):长时间的监测
作用:对系统的运行状态进行监视,发现各种企图、过程、结果,来保证系统资源的安全(完整性、机密性、可用性)。是一个软件与硬件的组合系统。
异常:当某个时间与一个已知的攻击特征(信号)相匹配时。一个基于异常的IDS会记录一个正常主机的活动大致轮廓,当一个事件在这个轮廓以外发生,就认为是异常,IDS就会告警。
特征:IDS核心是特征库(签名)
1.IDS则是主动出击寻找潜在的攻击者,发现入侵行为;防火墙是针对黑客攻击的一种被动的防御,旨在保护。
2.IDS进行实时的检测,发现入侵行为即可做出反应,是对防火墙弱点的修补;防火墙只是防御为主,通过防火墙的数据便不再进行任何操作。
3.IDS则没有这些功能,只是监视和分析用户和系统活动;防火墙可以允许内部的一些主机被外部访问。
IDS扫描当前网络的活动,监视和记录网络的流量,根据定义好的规则来过滤从主机网卡到网线上的流量,提供实时报警。网络扫描器检测主机上先前设置的漏洞,而 IDS 监视和记录网络流量。如果在同一台主机上运行IDS和扫描器的话,配置合理的IDS会发出许多报警。
入侵检测的原理,是从一组数据中检测出符合某一特点的数据。
构筑异常检测原理的入侵检测系统,首先要建立系统或用户的正常行为模式库,不属于该库的行为被视为异常行为。但是,入侵性活动并不总是与异常活动相符合,而是存在下列4种可能性:入侵性非异常;非入侵性且异常;非入侵性非异常;入侵性且异常。
另外,设置异常的门槛值不当,往往会导致IDS许多误报警或者漏检的现象。IDS给安全管理员造成了系统安全假象,漏检对于重要的安全系统来说是相当危险的。
误用入侵检测依赖于模式库。误用入侵检测能直接检测出模式库中已涵盖的入侵行为或不可接受的行为,而异常入侵检测是发现同正常行为相违背的行为。误用入侵检测的主要假设是具有能够被精确地按某种方式编码的攻击。通过捕获攻击及重新整理,可确认入侵活动是基于同一弱点进行攻击的入侵方法的变种。误用入侵检测主要的局限性是仅仅可检测已知的弱点.对检测未知的入侵可能用处不大。
入侵防御签名用来描述网络中存在的攻击行为的特征,通过将数据流和入侵防御签名进行比较来检测和防范攻击。如果某个数据流匹配了某个签名中的特征项时,设备会按照签名的动作来处理数据流。入侵防御签名分为预定义和自定义签名。
由于设备升级签名库后会存在大量签名,而这些签名没有进行分类,且有些签名所包含的特征本网络中不存在,需要设置签名过滤器对其进行管理,并过滤掉。
作用:由于签名过滤器会批量过滤出签名,且通常为了方便管理会设置为统一的动作。如果管理员需要将某些 签名设置为与过滤器不同的动作时,可将这些签名引入到例外签名中,并单独配置动作。
动作:




我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("
当谈到运行时自省(introspection)和动态代码生成时,我认为ruby没有任何竞争对手,可能除了一些lisp方言。前几天,我正在做一些代码练习来探索ruby的动态功能,我开始想知道如何向现有对象添加方法。以下是我能想到的3种方法:obj=Object.new#addamethoddirectlydefobj.new_method...end#addamethodindirectlywiththesingletonclassclass这只是冰山一角,因为我还没有探索instance_eval、module_eval和define_method的各种组合。是否有在线/离线资
给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in
我经常将预配置的lambda插入可枚举的方法中,例如“map”、“select”等。但是“注入(inject)”的行为似乎有所不同。例如与mult4=lambda{|item|item*4}然后(5..10).map&mult4给我[20,24,28,32,36,40]但是,如果我制作一个2参数lambda用于像这样的注入(inject),multL=lambda{|product,n|product*n}我想说(5..10).inject(2)&multL因为“inject”有一个可选的单个初始值参数,但这给了我......irb(main):027:0>(5..10).inject
是否有self验证的问题列表。看着那个,我可以确定我知道。我应该复习一下。在学习的过程中,我列了一个这样的list,但它只包含我在某处听说过的项目。我需要一段时间才能找到新的东西。 最佳答案 以下是针对ruby和Rails的一些测试列表。证书名称:RubyonRails谁提供:oDeskIncorporation认证费用:免费网站:https://www.odesk.com/tests/985?pos=0证书名称:RubyonRails提供者:Techgig.com(TimesBusinessSolutionsLimited(T
我想覆盖store_accessor的getter。可以查到here.代码在这里:#Fileactiverecord/lib/active_record/store.rb,line74defstore_accessor(store_attribute,*keys)keys=keys.flatten_store_accessors_module.module_evaldokeys.eachdo|key|define_method("#{key}=")do|value|write_store_attribute(store_attribute,key,value)enddefine_met
我想知道我的代码是否在rspec下运行。这可能吗?原因是我正在加载一些错误记录器,这些记录器在测试期间会被故意错误(expect{x}.toraise_error)弄得乱七八糟。我查看了我的ENV变量,没有(明显的)测试环境变量的迹象。 最佳答案 在spec_helper.rb的开头添加:ENV['RACK_ENV']='test'现在您可以在代码中检查RACK_ENV是否经过测试。 关于ruby-检测由RSpec、Ruby运行的代码,我们在StackOverflow上找到一个类似的问题
我正在使用rubydaemongem。想知道如何向停止操作添加一些额外的步骤?希望我能检测到停止被调用,并向其添加一些额外的代码。任何人都知道我如何才能做到这一点? 最佳答案 查看守护程序gem代码,它似乎没有用于此目的的明显扩展点。但是,我想知道(在守护进程中)您是否可以捕获守护进程在发生“停止”时发送的KILL/TERM信号...?trap("TERM")do#executeyourextracodehereend或者你可以安装一个at_exit钩子(Hook):-at_exitdo#executeyourextracodehe
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
我有一个定义类的Ruby脚本。我希望脚本执行语句BoolParser.generate:file_base=>'bool_parser'仅当脚本作为可执行文件被调用时,而不是当它被irbrequire(或通过-r在命令行上传递)时。我可以用什么来包装上面的语句,以防止它在我的Ruby文件加载时执行? 最佳答案 条件$0==__FILE__...!/usr/bin/ruby1.8classBoolParserdefself.generate(args)p['BoolParser.generate',args]endendif$0==_