当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux上如何阻止系统攻击者

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 Linux上如何阻止系统攻击者


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 45 ::
收藏到网摘: n/a


  在网络攻击环境下,这却是可能发生的。当一个攻击者利用一个系统漏洞非法入侵进入到你的系统。当你使用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
  
  通过指纹信息你可以决定是否有系统文件被修改。