安全防护-入侵检测实战之全面问答(下)

来源:互联网 发布:哈尔滨乐松有mac专柜么 编辑:程序博客网 时间:2024/06/11 19:52
  入侵检测系统IDS的地位正在逐渐增加,有效实施IDS,才能敏锐地察觉攻击者的侵犯行为,本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍……

  在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS。

  问:入侵有哪些方式?

  1、探测

  探测方式有很多,包括ping扫描、探测操作系统类别、系统及应用软件的弱帐号扫描、侦探电子邮件、TCP/UDP端口扫描、探测Web服务器CGI漏洞等。

  2、漏洞利用

  指入侵者利用系统的隐藏功能或漏洞尝试取得系统控制权。主要包括:

  CGI漏洞:编写CGI程序需要考虑得非常完善才有可能避免安全威胁。入侵者经常要尝试访问系统中的一些具有知名漏洞的CGI程序,以期寻找到突破口。这些CGI程序有:TextCounter、GuestBook、EWS、info2www、Count.cgi、handler、webdist.cgi、php.cgi、files.pl、nph-test-cgi、nph-publish、AnyForm、FormMail。如果我们没有使用这些文件却发现有人正在频繁地访问其中之一,就可以清楚地断明一个入侵行为正在进行了。

  Web服务器漏洞:比如文件名中包含一系列“../”字符串从而可以访问系统中的任意文件;URL路径后添加上“::$DATA”就可以查看脚本源代码。

  Web浏览器漏洞:这方面的漏洞涉及面同样很广,冲浪者绝不能掉以轻心。比如可能导致缓冲区溢出或执行.LNK命令的URL、畸形的HTTP header内容、MIME类型溢出(例如Netscape浏览器的命令)、总是有漏可乘的javascript脚本(例如利用文件上传功能创建后门程序)、偶尔犯些错误的Java代码以及现在更为厉害、更为猖獗的ActiveX组件。

  STMP漏洞:比如利用缓冲区溢出攻击STMP、使用VRFY命令搜索用户名称。

  IMAP漏洞:IMAP即Internet信息控制协议(Internet Message Access Protocol),是指从邮件服务器上获取Email信息或直接收取邮件的协议。传统的POP3收信过程中,用户无法得知邮件的具体信息,只有在邮件全部下载到硬盘后,才能慢慢地浏览或删除,用户几乎没有对邮件的控制决定权。IMAP解决的就是这个问题。但是许多流行的IMAP服务器都存在重大漏洞。

  IP地址欺骗:由于路由选择不需要判断来源地址,因此入侵者就可将IP数据包的来源地址替换为伪造地址以期隐藏其攻击地点。而且,由于是伪造的来源地址,入侵者也不会接收到目标机器的返回通讯信息,真正做到了“攻不还手”。

  缓冲区溢出:除了前面提及的缓冲区溢出种类外,还有DNS溢出(超长DNS名字发送给服务器)、statd溢出(超长文件名)。

  3、DoS或DDoS(拒绝服务攻击或分布式拒绝服务攻击)

  这种攻击是真正的“损人不利己”,不需要别人的数据,只想等别人出错看热闹。这种攻击行为越来越多,是不是因为这种人也越来越 ...... 常见的DoS有死亡之Ping、SYN湮没、Land攻击。

  问:NIDS检测到一个入侵行为后做什么?

  当发现一个入侵行为后,NIDS系统将采取诸多有力措施对付攻击,这主要包括:

  * 重新配置防火墙禁止入侵者IP地址进入

  * 播放一段.WAV音乐提醒管理者

  * 发送SNMP TRAP信息包到管理控制台

  * 将事件记录到系统日志文件中

  * 给管理员发送电子邮件通知入侵正在发生

  * 以寻呼方式(BP机)告知管理员

  * 保存攻击信息,如攻击时间、入侵者IP地址、受害者IP地址及端口、协议信息、相关数据包

  * 启动特殊程序处理入侵事件

  * 伪造TCP FIN信息包强制结束连接,避免悲剧继续上演

  问:除了IDS外,还有什么入侵对策?

  1、防火墙

  有种观点说:防火墙是安全护卫的第一道防线,只要突破它,入侵者将随意驰骋被突破的网络。但是更好的说法应该是:防火墙是安全护卫的最后一道防线,在正确配置机器及良好运行入侵检测系统的前提下,用防火墙来避免script kiddies的幼稚和简单的攻击。有两点要注意:一是现在的许多路由器都可以配置成防火墙的过滤功能;二是防火墙通常只能抵抗外部攻击,对于内部破坏则显得力不从心。

  2、口令验证系统

  保证口令验证系统的稳固性是另外一个要采取的措施。或者采用系统内置的口令验证策略,比如Win2K的Kerberos验证,或者考虑购买单独产品以整合进增强的口令系统,比如RADIUS(远程认定拨号用户服务)或TACACS(TACACS是用于UNIX系统上有历史的认证协议,它使远程访问服务器将用户的登录信息发送到认证服务器以确定用户是否可以访问给定系统)。这些验证系统都有助于消除Telnet、ftp、IMAP或POP等协议带来的明文口令问题。

  3、虚拟专用网VPN

  VPN通过Internet为远程访问创建安全的连接管道环境,其中使用的主要协议有PPTP和Ipsec。PPTP即PPP over TCP,使用它就可以为一台机器分配2个IP地址,一个用于Internet,另一个用于虚拟网。Ipsec是Win2K系统的新协议,它提高了传统IP协议的安全性。然而VPN也有其明显的弱点,虽然管道本身经过验证和加密处理是安全的,但是管道的两端却是开放的,这就可能造成入侵者从一个被安装了后门的家庭用户机器上大摇大摆地遛进安全管道、不被检查地访问内部网。

  4、加密系统

  随着个人隐私权的不断被重视,加密系统现在越来越“时髦”了。加密邮件可以使用PGP(Pretty Good Privacy)和SMIME(加密专用多用途Internet邮件扩展),加密文件也可以使用PGP,加密文件系统可以使用BestCrypt或者还是PGP。

  问:IDS系统应该安放到网络的什么部位?

  1、网络主机

  在非混杂模式网络中,可以将NIDS系统安装在主机上,从而监测位于同一交换机上的机器间是否存在攻击现象。

  2、网络边界

  IDS非常适合于安装在网络边界处,例如防火墙的两端、拨号服务器附近以及到其他网络的连接处。由于这些位置的带宽都不很高,所以IDS系统可以跟上通讯流的速度。

  3、广域网中枢

  由于经常发生从偏僻地带攻击广域网核心位置的案件以及广域网的带宽通常不很高,在广域网的骨干地段安装IDS系统也显得日益重要。

  4、服务器群

  服务器种类不同,通讯速度也不同。对于流量速度不是很高的应用服务器,安装IDS是非常好的选择;对于流量速度快但又特别重要的服务器,可以考虑安装专用IDS系统进行监测。

  5、局域网中枢

  IDS系统通常都不能很好地应用于局域网,因为它的带宽很高,IDS很难追上狂奔的数据流、不能完成重新构造数据包的工作。如果必须使用,那么就不能对IDS的性能要求太高,一般达到检测简单攻击的目的就应该心满意足。

  问:IDS如何与网络中的其他安全措施相配合?

  1、建立不断完善的安全策略。这一点异常重要!谁负责干什么?发生了入侵事件后怎么干?有了这些,就有了正确行动的指南。

  2、根据不同的安全要求,合理放置防火墙。例如,放在内部网和外部网之间、放在服务器和客户端之间、放在公司网络和合作伙伴网络之间。

  3、使用网络漏洞扫描器检查防火墙的漏洞。

  4、使用主机策略扫描器确保服务器等关键设备的最大安全性,比如看看它们是否已经打了最新补丁。

  5、使用NIDS系统和其他数据包嗅探软件查看网络上是否有“黑”流涌动。

  6、使用基于主机的IDS系统和病毒扫描软件对成功的入侵行为作标记。

  7、使用网络管理平台为可疑活动设置报警。最起码的,所有的SNMP设备都应该能够发送“验证失败”的trap信息,然后由管理控制台向管理员报警。

  问:如何检测网络上有人在使用NIDS系统?

  NIDS系统实际上就是一个嗅探器(sniffer),因此,任何标准的嗅探器检测工具都可用于发现它的存在。这些工具有:

  1、AntiSniff

  2、neped

  3、Sentinel

  4、ifstatus

  问:如何提高WinNT/Win2K系统的入侵保护程度?

  关于这个问题已经有许多诸葛亮出过谋划过策,在此我将选择重点并按考虑顺序列举如下:

  1、下载并安装最新的SP和hotfix。

  2、安装时文件系统选择NTFS格式,并且每个磁盘都使用NTFS(不要启动盘是FAT,其他盘是NTFS)。NTFS不仅仅可以实现对单个文件和单个目录的权限设置,还可以对它们进行审计。

  3、创建一个新的管理员帐号,将administrator的功能限制到最小以设置陷阱,观察是否有人试图盗用其权限;禁止guest帐号或者将guest帐号改名并创建一个新的guest帐号,目的同样是监测是否有人试图使用它入侵系统。

  4、去掉对%systemroot%/system32目录的默认权限:Everyone/写。

  5、启动REGEDT32程序打开“HKEY_LOCAL_MACHINESecurity”项,以检测远程注册表浏览行为。

  6、安装系统时默认目录不要选择“c:winnt”,让入侵者费些心思猜测系统文件的位置。还有一个更好的方法是:首先安装在c:winnt目录下,然后重新安装系统到其他目录,并且对c:winnt目录添加审计功能,这样就可以监测是否有人想访问c:winnt目录了。正所谓真真假假、假假真真,你在不断窥视、我设陷阱无数。

  7、启动分区只存放系统文件,数据和应用程序放到其他分区,甚至将数据和应用程序也分区存放。总之,隔离是避免“火烧联营”的最好方法。

  8、屏幕保护使用“Blank Screen”且设置密码保护,这样既达到安全目的也节省服务器处理资源。注意,如果使用来历不明的屏幕保护方案,要小心它可能就是一个后门程序。

  9、启动REGEDT32程序,修改AutoSharexxx参数关闭系统默认的自动共享目录,例如ADMIN$、C$、D$等等。对于WinNT,这个参数的位置是:

  HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanServer

  ParametersAutoShareServer

  对于WinNT Workstation,位置是:

  HKEY_LOCAL_MACHINESystemCurrentControlSetServicesLanmanServer

  ParametersAutoShareWks

  10、禁止匿名访问帐号,方法是设置下列项目的值为1:

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLSA

  RestrictAnonymous

  11、对于域控制器,将“从网络访问计算机”的权限分配给授权用户而不是默认Everyone,这样就禁止了使用机器的本地帐号进行远程访问的可能,只允许通过域帐号进行访问。

  12、为管理员帐号设置远程访问的帐号锁定策略,使入侵者猜测其口令失败限定次数后自动被锁。当然,我们还是可以在本地使用管理员帐号进入系统的。为了更加安全,也可以完全禁止远程使用管理员帐号,方法是将管理员帐号从“从网络访问计算机”的权限中去除掉。

  问:如何提高Win9X系统的入侵保护程度?

  保护措施象攻击手段一样多,在此列出我认为最重要的也是最基本的3条:

  1、安装最新的补丁程序。

  2、关闭打印机共享PRINTER$。打印机共享后,远程用户就可以访问到被共享机器的system32目录下的打印机驱动程序。但是由于系统bug的存在,其他系统文件就有了被窃取的可能,例如密码文件。

  3、关闭文件共享。如果是家庭用户,通常根本不需要共享文件。如果非共享不可,必须添加上共享口令并且只在需要共享的时刻共享,贡献完自己的东东后立即关闭。

  问:企业网的安全响应组织都应该包括哪些人员?

  人从来都是第一位重要的!建立安全响应组织的目的就是确定:当安全事件发生时,用户该寻求谁的帮助、他又应该做什么?由于安全问题涉及到每一个方面,因此这个组织的成员也应该来自五湖四海,保护企业各个部门甚至社会力量。通常,安全响应组织的人员包括:

  1、上级主管

  负责处理重大安全问题。比如对于一个正在遭受攻击的电子商务的站点,决断是否立即断开网络以免发生更大的损失。

  2、人力资源主管

  因为许多攻击都来自内部,所以一旦发现自家人捣乱,可以立即请人事部的同志找他谈谈心。

  3、技术小组

  负责对安全事件进行整理和分析,制定对策数据库,指导实施人员正确操作。

  4、实施人员

  真正的救火队员,哪里发生火灾,就出现在哪里!

  5、外部资源

  有些破坏行为罪大恶极、危害严重,自家人已经管不了了,这时就要靠有关的社会力量支援,比如ISP、公安部门等。一来他们的威慑力大,二来他们的政策权威。

  问:如果有人说他们被来自我方站点的地址入侵了,该怎么办?

  请假想这样一个情形:有人发给你一封Email,有鼻子有眼地说他遭受到了你方地址的入侵,并粘贴来一段日志信息类似如下:

  Nov 6 07:13:13 pbreton in.telnetd[31565]: refused connect from xx.xx.xx.xx

  最后礼貌地说他们对此非常重视,希望你方认真调查。

  在网络时代,这种情况将越来越多。作为管理者,当接收到这类状纸后,首要的任务就是冷静下来仔细地分析来信的真假以及证据的真假,从而决定采取的行为方式。通常情况下,可以考虑以下几个方面的可能:

  1、首先尽可能地确定证据(日志信息)是何种软件的产物、可能发生了什么样的攻击行为。在这个例子中,日志信息可能来自于tcpwrappers,一个增强UNIX系统服务的登录及访问控制的软件;信息还表明这只是一个探测行为而非攻击活动。对这些信息了解得越多,就越可能描绘出罪犯的“长相”,好像警察为将逮捕罪犯描图一样。

  2、然后从好的方面设想一下这个行为:可能是有人在敲入“telnet xx.xx.xx.xx”时错打了IP地址;可能是想敲入“telnet xx.xx.xx.xx 25”连接一个STMP服务器但却错打成“telnet xx.xx.xx.xx 23”等等。就象是美国的法律,发生了案件,先假设被告无罪再寻找证据证明有罪。

  3、接着从坏的方面设想这个行为:可能是你方网络已被攻陷,入侵者从受害机器上执行了扫描工作;你方网络中的一名雇员确实执行了扫描工作。这好像与台湾的法律相似,发生了案件,先假设被告有罪再找证据证明无罪。

  4、另外,还有一个经常忽视但也绝对有可能的情况是:来信人可能就是一个入侵者!怎么说呢?通过观察你对来信的重视程度、响应速度以及可能提供的相关资料,比如管理员的IP地址、邮件信息等等,入侵者就可能推测到你方的网络架构是否安全、应急措施是否得当以及得到相关攻击信息。一般来说,这归类于社会工程的问题。要小心了,喊捉贼的可能就是贼!

  问:怎么搜集入侵者的攻击证据?

  这是一个非常有趣而且困难的课题,道高一尺、魔高一丈,精明的入侵者通常也是优秀的跳板选手和魔术大师,他们总是借助其他人的机器或者使用欺骗IP地址来完成他们的规定动作-攻击!但是,他攻他的,我防我的,我认为至少有以下2类有效方法可以采取:

  1、在关键位置安装数据包嗅探器捕获经由的通讯数据以备分析。试一试这种方法吧,你会惊奇地叫道:天啊,我的网络每日里竟然有这么多的扫描数据包在跳舞!

  2、尽可能地为开放的每个系统安装审计和日志功能,当入侵发生时,这将是最好的犯罪现场映照。

 
原创粉丝点击