怎么判断你的Linux系统机器是否被黑

转载 2007年09月23日 01:55:00
原贴:http://blog.chinaunix.net/u/23204/showart_245972.html

怎么判断你的Linux系统机器是否被黑
 
 

俗称“脚本小鬼”的家伙是属于那种很糟糕的黑客,因为基本上他们中的许多和大多数人都是如此 的没有技巧。可以这样说,如果你安装了所有正确的补丁,拥有经过测试的防火墙,并且在多个级别都激活了先进的入侵检测系统,那么只有在一种情况下你才会被 黑,那就是,你太懒了以至没去做该做的事情,例如,安装BIND的最新补丁。

一不留神而被黑确实让人感到为难,更严重的是某些脚本小鬼还会下载一些众所周知的“root kits”或者流行的刺探工具,这些都占用了你的CPU,存储器,数据和带宽。这些坏人是从那里开始着手的呢?这就要从root kit开始说起。

一个root kit其实就是一个软件包,黑客利用它来提供给自己对你的机器具有root级别的访问权限。一旦这个黑客能够以root的身份访问你的机器,一切都完了。 唯一可以做就是用最快的效率备份你的数据,清理硬盘,然后重新安装操作系统。无论如何,一旦你的机器被某人接管了要想恢复并不是一件轻而易举的事情。

你能信任你的ps命令吗?

找出root kit的首个窍门是运行ps命令。有可能对你来说一切都看来很正常。图示是一个ps命令输出的例子。真正的问题是,“真的一切都正常吗?”黑客常用的一个 诡计就是把ps命令替换掉,而这个替换上的ps将不会显示那些正在你的机器上运行的非法程序。为了测试个,应该检查你的ps文件的大小,它通常位于 /bin/ps。在我们的Linux机器里它大概有60kB。我最近遇到一个被root kit替换的ps程序,这个东西只有大约12kB的大小。

另一个明显的骗局是把root的命令历史记录文件链接到/dev/null。这个命令历史记录文件是用来跟踪和记录一个用户在登录上一台Linux机器后所用过的命令的。黑客们把你的历史纪录文件重定向到/dev/null的目的在于使你不能看到他们曾经输入过的命令。

你可以通过在shell提示符下敲入history来访问你的历史记录文件。假如你 发现自己正在使用history命令,而它并没有出现在之前使用过的命令列表里,你要看一看你的~/.bash_history 文件。假如这个文件是空的,就执行一个ls -l ~/.bash_history命令。在你执行了上述的命令后你将看到类似以下的输出:

  -rw------- 1 jd jd 13829 Oct 10 17:06 /home/jd/.bash_history

又或者,你可能会看到类似以下的输出:

  lrwxrwxrwx 1 jd jd 9 Oct 10 19:40 /home/jd/.bash_history -> /dev/null

假如你看到的是第二种,就表明这个 .bash_history 文件已经被重定向到/dev/null。这是一个致命的信息,现在就立即把你的机器从Internet上断掉,尽可能备份你的数据,并且开始重新安装系统。

寻找未知的用户账号

在你打算对你的Linux机器做一次检测的时候,首先检查是否有未知的用户账号无疑是明智的。在下一次你登录到你的Linux机器时,敲入以下的命令:

  grep :x:0: /etc/passwd

只有一行,我再强调一遍,在一个标准的Linux安装里,grep命令应该只返回一行,类似以下:

  root:x:0:0:root:/root:/bin/bash

假如在敲入之前的grep命令后你的系统返回的结果不止一行,那可能就有问题了。应该只有一个用户的UID为0,而如果grep命令的返回结果超过一行,那就表示不止一个用户。

认真来说,虽然对于发现黑客行为,以上都是一些很好的基本方法。但这些技巧本身并不能构成足够的安全性,而且其深度和广度和在文章头提到的入侵检测系统比起来也差得远。

我的建议是,假如你怀疑你的系统真的出了问题,打电话给一个Linux的安全专家,参考他的意见。毕竟Linux的安全不是一下子就可以弄好的。

 

相关文章推荐

判断Linux系统是否被黑的方法

俗称“脚本小鬼”的家伙是属于那种很糟糕的黑客,因为基本上他们中的许多和大多数人都是如此的没有技巧。可以这样说,如果你安装了所有正确的补丁,拥有经过测试的防火墙,并且在多个级别都激活了先进的入侵检测系统...

怎么判断你的linux系统是不是运行在虚拟机器上面

参考 How to know if the machine you are working on are a VM 问题很多情况下,我们需要了解到我们的服务器是运行在虚拟机环境还是直接运行在...
  • gatieme
  • gatieme
  • 2016年03月23日 14:26
  • 4858

1TB内存机器安装LINUX系统

  • 2012年07月03日 23:46
  • 2.67MB
  • 下载

deepin linux系统 图像处理及机器学习开发环境配置方法

deepin linux opencv eclipse scikit-learn QT CDT python

Linux系统下安装Python以及搭建科学计算(机器学习)环境(anaconda和spyder)

由于自己走完这几步花了不少时间,所以总结了下分享。 系统:以Ubuntu为例 第一阶段:安装python linux系统都自带python,我的是2.7版本,在终端输入python就可以看到版本信息...
  • Waitfou
  • Waitfou
  • 2017年04月10日 21:00
  • 1897

Linux系统的机器上查看MBR数据 (续)

在 Linux系统的机器上查看MBR数据 一文中,通过命令的方式给出了Linux下面MBR的数据示例,其中对MBR中每个数据结构的读取&解析也是人工方式的。本文继续该内容,但通过代码自动分析MBR各个...

linux系统中-E,-S,-c的区别和作用(怎么讲代码转化为机器识别的语言)

许多初学者都有比较大的疑惑,电脑是怎么识别我们写的代码并进行处理的呢?其实这个问题对我们初学者来说是很重要的,只有了解机器的运行原理,我们才能真正地学号留下。那么今天我就以此为题为大家略讲一二,有错误...
  • C_jyu
  • C_jyu
  • 2016年07月12日 19:49
  • 1260

Linux系统shell脚本判断变量文件目录:权限、是否存在、空值、相等

1、字符串判断 str1 = str2      当两个串有相同内容、长度时为真 str1 != str2      当串str1和str2不等时为真 -n str1        当串的长...
  • zcywell
  • zcywell
  • 2012年03月01日 10:54
  • 4081

如何判断linux系统是否要添加内存?

如何判断linux系统是否要添加内存?
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:怎么判断你的Linux系统机器是否被黑
举报原因:
原因补充:

(最多只允许输入30个字)