科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道关于Linux的应急响应重要性及其实现 (3)

关于Linux的应急响应重要性及其实现 (3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

仅仅做了以上工作是不够的,Linux和几乎所有的UNIX都支持LKM(Loadable Kernel Modules),用普通的方法无法检测其存在,这给应急响应带来了极大的挑战性。

作者:wangyang 来源:赛迪网技术社区 2007年10月14日

关键字: 操作系统 实现 重要性 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

检测rootkit:

仅仅做了以上工作是不够的,Linux和几乎所有的UNIX都支持LKM(Loadable Kernel Modules),用普通的方法无法检测其存在,这给应急响应带来了极大的挑战性。对于我们来说,解决的办法是找到那些rootkit.所谓 rootkit, 就是有心人士, 整理一些些常用的木马程序, 做成一组程序套件, 以方便 黑客攻入主机时, 在受害的主机上, 顺利地编译和安装木马程序。有时lkm rootkit虽然被成功装载,但在系统的某些细节上会出现“异常”,甚至可能使系统在运行一段时间后彻底崩溃。还有,lkm虽然活动在ring0核心态,但是攻击者往往会在系统的某处留下痕迹,比如攻击者为了让系统每次关闭或重启后能自动装入他安置的内核后门,可能会改写 /etc/modules.conf或/etc/rc.local等。我们可以通过chkrootkit来检测。

chkrootkit检测系统常用命令以及系统的日志和文件,查看是否有恶意程序侵入系统,并且寻找关联到不同恶意程序的信号。使用chkrootkit非常简单。编译程序,解压tar.gz文件,然后如下执行:# make sense 即可编译。

在完成这个过程之后,你就会看到一个可执行程序:chkrootkit.把这个可执行程序的路径加入系统PATH路径,定期地运行这个程序,就可以定期检测机器上是否有恶意rootkit软件。检测过程如图4所示。

获取系统日志:

大多数UNIX的日志在/var/log和/var/adm目录下,各种Unix派生系统日志的具体位置有所不同。

在此之前,有必要了解针对特定系统的日志存贮位置。

比较重要的二进制日志文件:

utmp,用w工具访问;

wtmp,用last工具访问;

lastlog,用lastlog工具访问。

进程记账日志,用astcomm工具访问

在这些日志文件中,最有用的是messages,secure这两个,图5是用more secure 加上|more这个管道的部分显示结果,从日志中我们可以看到哪些时候哪些用户从哪些地方登陆进系统,这对我们的响应取证非常有用。

以上是进行应急响应的最重要的一些步骤,当然针对具体的情况需要具体的分析,有时我们需要对包含用户账号的/etc/passwd文件进行检查,以查看是否有陌生的账号成为系统用户。我们也可以使用md5软件对系统中的重要命令和配置文件进行检查和定期对比,以发现潜在的入侵和攻击。另外我们还可以使用 portsentry这个工具进行检测,PortSentry在被保护的机器上是以daemon的形式运行的。在它运行期间,它会监听你指定的 TCP/UDP端口。假如它检测到一个端口扫描行为,它就会根据对方的IP地址,阻塞这个扫描主机与你机器之间的所有连接。总之Portsentry 就是一个反扫描工具。它可以实时发现并分析记录对本机的扫描, 它主要做以下工作:

通过 syslog 做记录;

将扫描的主机加入 /etc/hosts.deny;

马上禁止所有通向扫描主机的网络流量;

过滤掉所有来自扫描主机的网络流量。

Portsentry可以从http://www.psionic.com/abacus/portsentry这个网站下载相应文件,当前portsentry的最新版本为1.0版,下载后,需要进行解压,如下:

#gzip -d portsentry-1.0.tar.gz

#tar xvf portsentry-1.0.tar

这样会生成一个名为portsentry-1.0的目录,我们进入这个目录,可以看到内有README.install等相关文件,为了顺利安装它,我们主要需要关注两个配置文件,portsentry_config.h和portsentry.conf。"/usr/psionic/portsentry/portsentry.conf"是 portsentry 的主配置文件。您可以在这个文件中设置您所要监听的端口,以及哪些 ip 地址被拒绝,哪些被忽略等等信息。如果您了解详细的信息,可以查看 "README.install" 文件。

"/usr/psionic/portsentry/portsentry.ignore" 文件定义了在执行端口扫描分析时必须要忽略的主机,也就是说即使这些主机进行了扫描活动,portsentry 也不会采取任何行动。

Portsentry 有以下6种启动方式:

portsentry -tcp (basic port-bound TCP mode)

portsentry -udp (basic port-bound UDP mode)

portsentry -stcp (Stealth TCP scan detection)

portsentry -atcp (Advanced TCP stealth scan detection)

portsentry -sudp ("Stealth" UDP scan detection)

portsentry -audp (Advanced "Stealth" UDP scan detection)

建议您可以使用下面两种方式启动 portsentry:

portsentry -atcp (Advanced TCP stealth scan detection)

portsentry -sudp ("Stealth" UDP scan detection)

然后我们在/etc/rc.d/rc.local中加入/usr/local/psionic/portsentry/portsentry –atcp就可以在每次启动时自动启动portsentry了,这样系统就可以自动对一些端口进行检测,如果发现扫描就自动就ip加入 /etc/hosts.deny中,拒绝这台ip对机器的访问。

以上是应急响应的一些主要的步骤和流程,希望通过这些总结,给大家带来帮助。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章