草庐IT

你对入侵检测了解多少呢?

别搞!好吗! 2023-04-03 原文

目录

一、什么是IDS(intrusion detection system)?       

入侵检测概述

二、IDS和防火墙有什么不同?

三、IDS工作原理?

四、IDS的主要检测方法有哪些详细说明?

异常入侵检测(Anomaly Detection)        白名单

误用入侵检测(Misuse Detection)        黑名单

五、IDS的部署方式有哪些?

六、IDS的签名是什么意思?签名过滤器有什么作用?例外签名配置作用是什么? 

IDS的签名:

签名过滤器作用:

签名过滤器的动作:

例外签名:

七、相关实验

1.实验拓扑

2. 自定义签名

3.添加例外签名

4.特征库升级

 5.在策略中配置签名


一、什么是IDS(intrusion detection system)?       

IDS(入侵检测系统):长时间的监测

  • 识别入侵者
  • 识别入侵行为
  • 检测和监视已成功的入侵
  • 为对抗入侵提供信息与依据,防止事态扩大

作用:对系统的运行状态进行监视,发现各种企图、过程、结果,来保证系统资源的安全(完整性、机密性、可用性)。是一个软件与硬件的组合系统。

异常:当某个时间与一个已知的攻击特征(信号)相匹配时。一个基于异常的IDS会记录一个正常主机的活动大致轮廓,当一个事件在这个轮廓以外发生,就认为是异常,IDS就会告警。

特征:IDS核心是特征库(签名)

入侵检测概述

  • 1980年James P. Aderson首先提出入侵检测概念,将入侵尝试或威胁定义为:潜在的,有预谋的,未经授权的访问信息和操作信息,致使系统不可靠或无法使用的企图。
  • 1987年,Dorothy Denning提出了入侵检测系统(Intrusion Detection System,IDS)的抽象模型,首次提出了入侵检测可作为一种计算机系统安全防御措施的概念,与传统的加密和访问控制技术相比,IDS是全新的计算机安全措施。
  • 1988年,Teresa Lunt等人进一步改进了Denning提出的入侵检测模型,创建了IDES(Intrusion Detection Expert System),该系统用于检测单一主机的入侵尝试,提出了与系统平台无关的实时检测思想。
  • 1995年开发的NIDES(Next-Generation Intrusion Detection Expert System)作为IDES完善后的版本可以检测出多个主机上的入侵。
  • 1990年,Heberlein等人提出基于网络的入侵检测—网络安全监视器(Network Security Monitor,NSM)。NSM与IDS系统的最大区别在于,它并不检查主机系统的审计记录,而是通过主动地监视局域网上的网络信息流量来追踪可疑的行为。
  • 1991年,NADIR(Network Anomaly Detection and Intrusion Reporter)与DIDS(Distribute Intrusion Detection System)提出了通过收集和合并处理来自多个主机的审计信息可以检测出一系列针对主机的协同攻击。
  • 1994年,Mark Crosbie和Gene Spafford建议使用自治代理(autonomous agents)以提高IDS的可伸缩性,可维护性,效率和容错性。
  • 1996年提出的GrIDS(Graph-based Intrusion Detection System),该系统可以方便地检测大规模自动或协同方式的网络攻击。

二、IDS和防火墙有什么不同?

1.IDS则是主动出击寻找潜在的攻击者,发现入侵行为;防火墙是针对黑客攻击的一种被动的防御,旨在保护。

2.IDS进行实时的检测,发现入侵行为即可做出反应,是对防火墙弱点的修补;防火墙只是防御为主,通过防火墙的数据便不再进行任何操作。

3.IDS则没有这些功能,只是监视和分析用户和系统活动;防火墙可以允许内部的一些主机被外部访问。

三、IDS工作原理?

        IDS扫描当前网络的活动,监视和记录网络的流量,根据定义好的规则来过滤从主机网卡到网线上的流量,提供实时报警。网络扫描器检测主机上先前设置的漏洞,而 IDS 监视和记录网络流量。如果在同一台主机上运行IDS和扫描器的话,配置合理的IDS会发出许多报警。

四、IDS的主要检测方法有哪些详细说明?

        入侵检测的原理,是从一组数据中检测出符合某一特点的数据。

异常入侵检测(Anomaly Detection)        白名单

        构筑异常检测原理的入侵检测系统,首先要建立系统或用户的正常行为模式库,不属于该库的行为被视为异常行为。但是,入侵性活动并不总是与异常活动相符合,而是存在下列4种可能性:入侵性非异常;非入侵性且异常;非入侵性非异常;入侵性且异常。       

        另外,设置异常的门槛值不当,往往会导致IDS许多误报警或者漏检的现象。IDS给安全管理员造成了系统安全假象,漏检对于重要的安全系统来说是相当危险的。

误用入侵检测(Misuse Detection)        黑名单

        误用入侵检测依赖于模式库。误用入侵检测能直接检测出模式库中已涵盖的入侵行为或不可接受的行为,而异常入侵检测是发现同正常行为相违背的行为。误用入侵检测的主要假设是具有能够被精确地按某种方式编码的攻击。通过捕获攻击及重新整理,可确认入侵活动是基于同一弱点进行攻击的入侵方法的变种。误用入侵检测主要的局限性是仅仅可检测已知的弱点.对检测未知的入侵可能用处不大。

五、IDS的部署方式有哪些?

  • 共享模式和交换模式:从 HUB 上的任意一个接口,或者在交换机上做端口镜像的端口上收集信息。
  • 隐蔽模式:在其他模式的基础上将探测器的探测口 IP 地址去除,使得 IDS 在对外界不可见的情况下正常工作。
  • Tap 模式:以双向监听全双工以太网连接中的网络通信信息,能捕捉到网络中的所有流量,能记录完整的状态信息使得与防火墙联动或发送 Reset 包更加容易。
  • In-line 模式:直接将 IDS 串接在通信线路中,位于交换机和路由器之间。这种模式可以将威胁通信包丢弃,以实时阻断网络攻击。
  • 混合模式:通过监听所有连接到防火墙的网段,全面了解网络状况。

六、IDS的签名是什么意思?签名过滤器有什么作用?例外签名配置作用是什么? 

IDS的签名:

        入侵防御签名用来描述网络中存在的攻击行为的特征,通过将数据流和入侵防御签名进行比较来检测和防范攻击。如果某个数据流匹配了某个签名中的特征项时,设备会按照签名的动作来处理数据流。入侵防御签名分为预定义和自定义签名。

签名过滤器作用:

        由于设备升级签名库后会存在大量签名,而这些签名没有进行分类,且有些签名所包含的特征本网络中不存在,需要设置签名过滤器对其进行管理,并过滤掉。

签名过滤器的动作:

  • 阻断:丢弃命中签名的报文,并记录日志
  • 告警:对命中签名的报文放行,但记录日志。
  • 采用签名的缺省动作,实际动作以签名的缺省动作为准

例外签名:

作用:由于签名过滤器会批量过滤出签名,且通常为了方便管理会设置为统一的动作。如果管理员需要将某些 签名设置为与过滤器不同的动作时,可将这些签名引入到例外签名中,并单独配置动作。

动作:

  • 阻断:丢弃命中签名的报文并记录日志
  • 告警:对命中签名的报文放行,但记录日志
  • 放行:对命中签名的报文放行,且不记录日志。

七、相关实验

1.实验拓扑

2. 自定义签名

 

3.添加例外签名

4.特征库升级

 5.在策略中配置签名

 

有关你对入侵检测了解多少呢?的更多相关文章

  1. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  2. ruby - 可以通过多少种方法将方法添加到 ruby​​ 对象? - 2

    当谈到运行时自省(introspection)和动态代码生成时,我认为ruby​​没有任何竞争对手,可能除了一些lisp方言。前几天,我正在做一些代码练习来探索ruby​​的动态功能,我开始想知道如何向现有对象添加方法。以下是我能想到的3种方法:obj=Object.new#addamethoddirectlydefobj.new_method...end#addamethodindirectlywiththesingletonclassclass这只是冰山一角,因为我还没有探索instance_eval、module_eval和define_method的各种组合。是否有在线/离线资

  3. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个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

  4. ruby - 了解在 Ruby 中与 lambda 一起使用的 inject 行为 - 2

    我经常将预配置的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

  5. ruby-on-rails - 如何测试自己对 Ruby/ROR 的了解? - 2

    是否有self验证的问题列表。看着那个,我可以确定我知道。我应该复习一下。在学习的过程中,我列了一个这样的list,但它只包含我在某处听说过的项目。我需要一段时间才能找到新的东西。 最佳答案 以下是针对ruby​​和Rails的一些测试列表。证书名称:RubyonRails谁提供:oDeskIncorporation认证费用:免费网站:https://www.odesk.com/tests/985?pos=0证书名称:RubyonRails提供者:Techgig.com(TimesBusinessSolutionsLimited(T

  6. ruby-on-rails - 了解 "attribute_will_change!"方法 - 2

    我想覆盖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

  7. ruby - 检测由 RSpec、Ruby 运行的代码 - 2

    我想知道我的代码是否在rspec下运行。这可能吗?原因是我正在加载一些错误记录器,这些记录器在测试期间会被故意错误(expect{x}.toraise_error)弄得乱七八糟。我查看了我的ENV变量,没有(明显的)测试环境变量的迹象。 最佳答案 在spec_helper.rb的开头添加:ENV['RACK_ENV']='test'现在您可以在代码中检查RACK_ENV是否经过测试。 关于ruby-检测由RSpec、Ruby运行的代码,我们在StackOverflow上找到一个类似的问题

  8. ruby - 使用 Ruby Daemons gem 检测停止 - 2

    我正在使用rubydaemongem。想知道如何向停止操作添加一些额外的步骤?希望我能检测到停止被调用,并向其添加一些额外的代码。任何人都知道我如何才能做到这一点? 最佳答案 查看守护程序gem代码,它似乎没有用于此目的的明显扩展点。但是,我想知道(在守护进程中)您是否可以捕获守护进程在发生“停止”时发送的KILL/TERM信号...?trap("TERM")do#executeyourextracodehereend或者你可以安装一个at_exit钩子(Hook):-at_exitdo#executeyourextracodehe

  9. ruby - 我怎样才能更好地了解/了解更多关于 Ruby 的知识? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?

  10. ruby - Ruby 脚本如何检测到它正在 irb 中运行? - 2

    我有一个定义类的Ruby脚本。我希望脚本执行语句BoolParser.generate:file_base=>'bool_parser'仅当脚本作为可执行文件被调用时,而不是当它被irbrequire(或通过-r在命令行上传递)时。我可以用什么来包装上面的语句,以防止它在我的Ruby文件加载时执行? 最佳答案 条件$0==__FILE__...!/usr/bin/ruby1.8classBoolParserdefself.generate(args)p['BoolParser.generate',args]endendif$0==_

随机推荐