电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 网络安全>>信息安全基础:系统被入侵后的恢复(下):

信息安全基础:系统被入侵后的恢复(下)

来源:远方网络 | 2005-3-7 21:54:40 | (有1844人读过)

入侵者使用的其它工具

  以上所列无法包括全部的入侵工具,攻击者在系统中可能还会留下其它入侵工具。这些工具包括:

系统安全缺陷探测工具
对其它站点发起大规模探测的脚本
发起拒绝服务攻击的工具
使用被侵入主机计算和网络资源的程序
入侵工具的输出
  你可能会发现入侵工具程序留下的一些日志文件。在这些文件中可能会包含被牵扯的其它站点,攻击者利用的安全缺陷,以及其它站点的安全缺陷。

因此,建议你对系统进行彻底的搜索,找出上面列出的工具及其输出文件。一定要注意:在搜索过程中,要使用没有被攻击者修改过的搜索工具拷贝。

  搜索主要可以集中于以下方向:

  检查UNIX系统/dev/目录下意外的ASCII文件。一些特洛伊木马二进制文件使用的配置文件通常在/dev目录中。

  仔细检查系统中的隐藏文件和隐藏目录。如果入侵者在系统中建立一个一个新的帐户,那么这个新帐户的起始目录以及他使用的文件可能是隐藏的。

  检查一些名字非常奇怪的目录和文件,例如:...(三个点)、..(两个点)以及空白(在UNIX系统中)。入侵者通常会在这样的目录中隐藏文件。对于NT,应该检查那些名字和一些系统文件名非常接近的目录和文件。

四、审查系统日志文件

  详细地审查你的系统日志文件,你可以了解系统是如何被侵入的,入侵过程中,攻击者执行了哪些操作,以及哪些远程主机访问了你的主机。通过这些信息,你能够对入侵有更加清晰的认识。

  记住:系统中的任何日志文件都可能被入侵者改动过。

  对于UNIX系统,你可能需要查看/etc/syslog.conf文件确定日志信息文件在哪些位置。NT通常使用三个日志文件,记录所有的NT事件,每个NT事件都会被记录到其中的一个文件中,你可以使用Event Viewer查看日志文件。其它一些NT应用程序可能会把自己的日志放到其它的地方,例如ISS服务器默认的日志目录是c:winntsystem32logfiles。

  以下是一个通常使用的UNIX系统日志文件列表。由于系统配置的不同可能你的系统中没有其中的某些文件。

messages

  messages日志文件保存了大量的信息。可以从这个文件中发现异常信息,检查入侵过程中发生了哪些事情。

xferlog

  如果被侵入系统提供FTP服务,xferlog文件就会记录下所有的FTP传输。这些信息可以帮助你确定入侵者向你的系统上载了哪些工具,以及从系统下载了哪些东西。

utmp

  保存当前登录每个用户的信息,使用二进制格式。这个文件只能确定当前哪些用户登录。使用who命令可以读出其中的信息。

wtmp

  每次用户成功的登录、退出以及系统重启,都会在wtmp文件中留下记录。这个文件也使用二进制格式,你需要使用工具程序从中获取有用的信息。last就是一个这样的工具。它输出一个表,包括用户名、登录时间、发起连接的主机名等信息,详细用法可以使用man last查询。检查在这个文件中记录的可疑连接,可以帮助你确定牵扯到这起入侵事件的主机,找出系统中的哪些帐户可能被侵入了。

secure

  某些些版本的UNIX系统(例如:RedHat Linux)会将tcp_wrappers信息记录到secure文件中。如果系统的inetd精灵使用tcp_wrappers,每当有连接请求超出了inetd提供的服务范围,就会在这个文件中加入一条日志信息。通过检查这个日志文件,可以发现一些异常服务请求,或者从陌生的主机发起的连接。

  审查日志,最基本的一条就是检查异常现象。

五、检查网络嗅探器

  入侵者侵入一个UNIX系统后,为了获得用户名和密码信息,一般会在系统上安装一个网络监视程序,这种程序就叫作嗅探器或者数据包嗅探器。对于NT,入侵者会使用远程管理程序实现上述目的。

  判断系统是否被安装了嗅探器,首先要看当前是否有进程使你的网络接口处于混杂(Promiscuous)模式下。如果任何网络接口处于promiscuous模式下,就表示可能系统被安装了网络嗅探器。注意如果你重新启动了系统或者在单用户模式下操作,可能无法检测到Promiscuous模式。使用ifconfig命令就可以知道系统网络接口是否处于promoscuous模式下(注意一定使用没有被侵入者修改的ifconfig):

#/path-of-clean-ifconfig/ifconfig -a

  有一些工具程序可以帮助你检测系统内的嗅探器程序:

cpm(Check Promiscuous Mode)--UNIX

  可以从以下地址下载:ftp://coast.cs.purdue.edu/pub/tools/unix/cpm/

ifstatus--UNIX

  可以从以下地址下载:ftp://coast.cs.purdue.edu/pub/tools/unix/ifstatus/

neped.c

  可以从以下地址下载:ftp://apostols.org/AposTolls/snoapshots/neped/neped.c

  一定要记住一些合法的网络监视程序和协议分析程序也会把网络接口设置为promiscuous模式。检测到网络接口处于promicuous模式下,并不意味着系统中有嗅探器程序正在运行。

  但是,在Phrack杂志的一篇文章:(Phrack Magazine Volume 8,Issue 53 July 8,1998,article 10 of 15, Interface Promiscuity Obscurity)中,有人提供了一些针对FreeBSD、Linux、HP-UX、IRIX和Solaris系统的模块,可以擦除IFF_PROMISC标志位,从而使嗅探器逃过此类工具的检查。以此,即使使用以上的工具,你没有发现嗅探器,也不能保证攻击者没有在系统中安装嗅探器。

  现在,LKM(Loadable Kernel Model,可加载内核模块)的广泛应用,也增加了检测难度。关于这一方面的检测请参考使用KSAT检测可加载内核模块。

  还有一个问题应该注意,嗅探器程序的日志文件的大小会急剧增加。使用df程序查看文件系统的某个部分的大小是否太大,也可以发现嗅探器程序的蛛丝马迹。建议使用lsof程序发现嗅探器程序打开的日志文件和访问访问报文设备的程序。在此,还要注意:使用的df程序也应该是干净的。

  一旦在系统中发现了网络嗅探器程序,我们建议你检查嗅探器程序的输出文件确定哪些主机受到攻击者威胁。被嗅探器程序捕获的报文中目的主机将受到攻击者的威胁,不过如果系统的密码是通过明文传输,或者目标主机和源主机互相信任,那么源主机将受到更大的威胁。

  通常嗅探器程序的日志格式如下:

-- TCP/IP LOG -- TM: Tue Nov 15 15:12:29 --
PATH: not_at_risk.domain.com(1567) => at_risk.domain.com(telnet)

  使用如下命令可以从嗅探器程序的日志文件中得到受到威胁的主机列表:

% grep PATH: $sniffer_log_file | awk '{print $4}' |
awk -F( '{print $1}'| sort -u

  你可能需要根据实际情况对这个命令进行一些调整。一些嗅探器程序会给日志文件加密,增加了检查的困难。

  你应该知道不只是在嗅探器程序日志文件中出现的主机受到攻击者的威胁,其它的主机也可能受到威胁。

  建议你参考http://www.cert.org/advisories/CA-94.01.ongoing.network.monitoring.attacks.html获得更为详细的信息。

六、检查网络上的其它系统

  除了已知被侵入的系统外,你还应该对网络上所有的系统进行检查。主要检查和被侵入主机共享网络服务(例如:NIX、NFS)或者通过一些机制(例如:hosts.equiv、.rhosts文件,或者kerberos服务器)和被侵入主机相互信任的系统。

  建议你使用CERT的入侵检测检查列表进行这一步检查工作。

http://www.cert.org/tech_tips/intruder_detection_checklist.html
http://www.cert.org/tech_tips/win_intruder_detection_checklist.html

七、检查涉及到的或者受到威胁的远程站点

  在审查日志文件、入侵程序的输出文件和系统被侵入以来被修改的和新建立的文件时,要注意哪些站点可能会连接到被侵入的系统。根据经验那些连接到被侵入主机的站点,通常已经被侵入了。所以要尽快找出其它可能遭到入侵的系统,通知其管理人员。

通知相关的CSIRT和其它被涉及的站点

一、事故报告

  入侵者通常会使用被侵入的帐户或者主机发动对其它站点的攻击。如果你发现针对其它站点的入侵活动,建议你马上和这些站点联络。告诉他们你发现的入侵征兆,建议他们检查自己的系统是否被侵入,以及如何防护。要尽可能告诉他们所有的细节,包括:日期/时间戳、时区,以及他们需要的信息。

  你还可以向CERT(计算机紧急反应组)提交事故报告,从他们那里的到一些恢复建议。

中国大陆地区的网址是: http://www.cert.org.cn

二、与CERT调节中心(CERT Coordination Center)联系

  你还可以填写一份事故报告表,使用电子邮件发送到http://www.cert.org,从那里可以得到更多帮助。CERT会根据事故报告表对攻击趋势进行分析,将分析结果总结到他们的安全建议和安全总结,从而防止攻击的蔓延。可以从以下网址获得事故报告表:
http://www.cert.org/ftp/incident_reporting_form

三、获得受牵连站点的联系信息

  如果你需要获得顶级域名(.com、.edu、.net、.org等)的联系信息,建议你使用interNIC的whois数据库:http://rs.internic.net/whois.html。

  如果你想要获得登记者的确切信息,请使用interNIC的登记者目录:http://rs.internic.net/origin.html。

  想获得亚太地区和澳洲的联系信息,请查询:http://www.apnic.net/apnic-bin/whois.pl,http://www.aunic.net/cgi-bin/whois.aunic

  如果你需要其它事故反应组的联系信息,请查阅FIRST(Forum of Incident Response and Security Teams)的联系列表: http://www.first.org/team-info/

  要获得其它的联系信息,请参考:http://www.cert.org/tech_tips/finding_site_contacts.html

  建议你和卷入入侵活动的主机联系时,不要发信给root或者postmaster。因为一旦这些主机已经被侵入,入侵者就可能获得了超级用户的权限,就可能读到或者拦截送到的e-mail。

恢复系统

一、安装干净的操作系统版本

  一定要记住如果主机被侵入,系统中的任何东西都可能被攻击者修改过了,包括:内核、二进制可执行文件、数据文件、正在运行的进程以及内存。通常,需要从发布介质上重装操作系统,然后在重新连接到网络上之前,安装所有的安全补丁,只有这样才会使系统不受后门和攻击者的影响。只是找出并修补被攻击者利用的安全缺陷是不够的。

  我们建议你使用干净的备份程序备份整个系统。然后重装系统。

二、取消不必要的服务

  只配置系统要提供的服务,取消那些没有必要的服务。检查并确信其配置文件没有脆弱性以及该服务是否可靠。通常,最保守的策略是取消所有的服务,只启动你需要的服务。

三、安装供应商提供的所有补丁

  我们强烈建议你安装了所有的安全补丁,要使你的系统能够抵御外来攻击,不被再次侵入,这是最重要的一步。

  你应该关注所有针对自己系统的升级和补丁信息。

四、查阅CERT的安全建议、安全总结和供应商的安全提示

  我们鼓励你查阅CERT以前的安全建议和总结,以及供应商的安全提示,一定要安装所有的安全补丁。

  CERT安全建议:http://www.cert.org/advisories/

  CERT安全总结:http://www.cert.org/advisories/

  供应商安全提示:ftp://ftp.cert.org/pub/cert_bulletins/

五、谨慎使用备份数据

  在从备份中恢复数据时,要确信备份主机没有被侵入。一定要记住,恢复过程可能会重新带来安全缺陷,被入侵者利用。如果你只是恢复用户的home目录以及数据文件,请记住文件中可能藏有特洛伊木马程序。你还要注意用户起始目录下的.rhost文件。

六、改变密码

  在弥补了安全漏洞或者解决了配置问题以后,建议你改变系统中所有帐户的密码。一定要确信所有帐户的密码都不容易被猜到。你可能需要使用供应商提供的或者第三方的工具加强密码的安全。

加强系统和网络的安全

一、根据CERT的UNIX/NT配置指南检查系统的安全性

  CERT的UNIX/NT配置指南可以帮助你检查系统中容易被入侵者利用的配置问题。

http://www.cert.org/tech_tips/unix_configuration_guidelines.html
http://www.cert.org/tech_tips/win_configuration_guidelines.html

二、查阅安全工具文档

  可以参考以下文章,决定使用的安全工具:http://www.cert.org/tech_tips/security_tools.html

三、安装安全工具

  在将系统连接到网络上之前,一定要安装所有选择的安全工具。同时,最好使用Tripwire、aide等工具对系统文件进行MD5校验,把校验码放到安全的地方,以便以后对系统进行检查。

四、打开日志

  启动日志(logging)/检查(auditing)/记帐(accounting)程序,将它们设置到准确的级别,例如sendmail日志应该是9级或者更高。经常备份你的日志文件,或者将日志写到另外的机器、一个只能增加的文件系统或者一个安全的日志主机。

五、配置防火墙对网络进行防御

  现在有关防火墙的配置文章很多,在此就不一一列举了。你也可以参考:http://www.cert.org/tech_tips/packet_filtering.html

重新连接到Internet

  完成以上步骤以后,你就可以把系统连接回Internet了。

升级你的安全策略

  CERT调节中心建议每个站点都要有自己的计算机安全策略。每个组织都有自己特殊的文化和安全需求,因此需要根据自己的情况指定安全策略。关于这一点请参考RFC2196站点安全手册: ftp://ftp.isi.edu/in-notes/rfc2196.txt

一、总结教训

  从记录中总结出对于这起事故的教训,这有助于你检讨自己的安全策略。

二、计算事故的代价

  许多组织只有在付出了很大代价以后才会改进自己的安全策略。计算事故的代价有助于让你的组织认识到安全的重要性。而且可以让管理者认识到安全有多么重要。

三、改进你的安全策略

  最后一步是对你的安全策略进行修改。所做的修改要让组织内的所有成员都知道,还要让他们知道对他们的影响。
网络安全热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号