Linux上如何阻止系统攻击者

2016-01-29 19:01 4 1 收藏

Linux上如何阻止系统攻击者,Linux上如何阻止系统攻击者

【 tulaoshi.com - Linux 】


  在网络攻击环境下,这却是可能发生的。当一个攻击者利用一个系统漏洞非法入侵进入到你的系统。当你使用ps命令列出系统中的所有的进程时,却看不到什么异常的证据。你查看你的password文件,一切也是那么的正常。到底发生了什么事情呢?当系统进入到你的系统以后,第一步要做的事情就是取代系统上某些特定的文件:如netstat命令等。当你使用netstat -a命令时,就不会显示系统攻击者存在的信息。当然攻击者将替代所有的可能泄露其存在的文件。一般来说包括:
  
  /bin/ps
  /bin/netstat
  /usr/bin/top
  由于这些文件已经被取代。所以简单的利用ls命令查看这些文件是看不出什么破绽的。有若干种方法你可以验证系统文件的完整性。如果你安装的是Red Hat, Caldera, TurboLinux或任何使用RPM的系统。你可以利用RPM来验证系统文件的完整性:
  
  首先你应该查明你的那些你需要查看的文件来自哪个软件包,使用rpm命令你可以查明某个文件属于某个包:
  # rpm -qf /bin/netstat
  net-tools-1.51-3
  然后,可以扫描整个rpm包来查看那些发生了改变。对没有发生改变的包使用该命令将没有任何输出信息,如下所示:
  # rpm -V net-tools
  #
  将netstat的5.2版本的二进制可执行文件替换为6.0的版本以后再使用该命令的结果为:
  .......T /bin/netstat
  这说明/bin/netstat/文件已经被修改。若我使用rpm -qf测试ps和top命令可以得到其属于包procps,然后在验证包procps的完整性。下面是一个被黑的站点的结果:
  
  # rpm -qf /bin/ps
  procps.2.0.2-2
  
  # rpm -V procps
  SM5..UGT /bin/ps

  SM5..UGT /usr/bin/top
  攻击者入侵到系统中,并且用自己的ps及top命令替代了我们系统中的命令。从而使管理员看不到其运行的进程,也许是一个sniffer来监听所有的用户所有进出网络的数据并找寻到密码信息。
  
  下面是一个小的script来扫描你系统的所有的rpm库,并检查所有的包是否被篡改。但是应该注意的是并不是所有该scripts报告的问题都是说明该系统文件被攻击者破坏。例如你的apssword文件一般肯定和你安装系统时是不同的:
  
  #!/bin/bash
  #
  # Run through rpm database and report inconsistencies
  #
  for rpmlist in `rpm -qa` # These quotes are back quotes
  do
  echo " ----- $rpmlist -----" ; rpm -V $rpmlist
  done > /tmp/rpmverify.out
  
  当你运行该scripts时,输出被定向到文件/tmp/rpmverify.out你可以使用less命令查看该文件。但是由于文本文件如:/etc/passwd, /etc/inetd.conf等很可能显示为被修改过。但是你如何知道这些是管理员自己修改的还是入侵者修改的呢方法是在你确保你的系统是干净的,没有被攻击者入侵时,你为这些系统文件创建指纹信息。在你怀疑你的系统被入侵时使用这些这些指纹信息来判定系统是否被入侵。创建文件的指纹信息是通过命令md5sum 来实现的:
  
  # md5sum /etc/passwd
  d8439475fac2ea638cbad4fd6ca4bc22 /etc/passwd
  
  # md5sum /bin/ps
  6d16efee5baecce7a6db7d1e1a088813 /bin/ps
  
  # md5sum /bin/netsat
  b7dda3abd9a1429b23fd8687ad3dd551 /bin/netstat
  
  这些数据是我的系统上的文件的指纹信息。不同的系统上的文件的 指纹信息可能是不同的,你应该是使用md5sum来计算自己系统文件的指纹信息。下面是一些你应该创建指纹信息的文件;
  
  /usr/bin/passwd
  /sbin/portmap
  /bin/login
  /bin/ls
  /usr/bin/top
  /etc/inetd.conf
  /etc/services
  
  通过指纹信息你可以决定是否有系统文件被修改。

来源:http://www.tulaoshi.com/n/20160129/1508149.html

延伸阅读
标签: 电脑入门
OpenMP是一种多处理器多线程的编程语言,能够支持多个平台,包括Linux系统,那么Linux下要如何进行openmp多线程编程呢?一起来了解下吧。 关键语法: 代码如下: #inlcude 《omp.h》 #pragma omp parallel for #pragma omp for reduction(+: 变量) #pragma omp critical//锁 { } #pragma omp parallel for private(x,y)//每...
  虽然 GUI 桌面(如 KDE 和 GNOME)能够帮助用户利用 Linux 特性,而无需关于命令行接口的功能知识,但还是经常会需要更多的功能和灵活性。而且,基本熟悉这些命令对于在 shell 脚本中正确地使某些功能自动化仍然是必需的。 这篇文章是关于 Linux 文件命令的一个“速成教程”,它是为那些刚接触这个操作系统或者只是需要补充...
标签: 电脑入门
我们都知道,一台电脑上可以同时按照两个不同的系统,也就是我们所说的双系统,那么在同一台电脑上能不能安装不同版本的Linux系统呢?下面随图老师小编一起来学习下如何在同一台电脑上安装不同版本的Linux系统。 步骤/方法 1.将Fedora-9-i386-DVD.iso文件放到一个Windows Fat32分区((hd0,4))的根目录,将这个iso文件中的isolinux目...
标签: 服务器
在Linux系统上实现IP转发的方法   大家好,今天我们学习一下在 Linux 上用 iptables 实现从一个网络接口到另一个接口的IP转发(数据包转发)。IP转发的概念是,使 Linux 机器像路由器一样将数据从一个网络发送到另一个网络。所以,它能作为一个路由器或者代理服务器,实现将一个连接的互联网或者网络连接共享给多个客户端机器。 ...
标签: 电脑入门
对于喜欢音乐的朋友来说,SoundCloud是个不错的音乐软件,SoundCloud是德国的网站,现在也有客户端了,在Linux安装SoundCloud后,就能够在命令行中播放音乐,下面图老师小编就给大家介绍下Linux安装SoundCloud的方法。 安装 对于Debian或者Ubuntu用户,如下安装: $ sudo apt-get install portaudio19-dev libmpg123-dev libncurses-dev r...

经验教程

686

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部