Sun OS系统的网络安全(四)

Sun OS系统的网络安全(四) - 故障解答 - 电脑教程网

Sun OS系统的网络安全(四)

日期:2006-04-15   荐:

  (9)遗留的安全问题   尽管使用su不能破坏DES鉴别系统,但仍有几种方法可做到这点.为了通过鉴别,你的密钥必须存放在工作站中,这通常在登录时发生,login程序用你的口令对你的密钥解码,并存放起来以备使用,由于别人不能对你的密钥解码,因而任何人用su命令冒充你都不可能.编辑/etc/pa wd文件也不可能对他有什么帮助,因为他必须修改存放在YP中的被编码后的密钥.如果你用你的口令登录到别人的工作站中,你的密钥就会存放在该工作站中,他们就能用su命令冒充你,由于你不可能将你的口令泄露给你不信任的机器,因而这是不可能发生的.但在其它机器上的人可以修改login程序将所有口令存放在他能看到的文件中.   由于使用su命令不能破坏DES鉴别系统,也许最容易的方式就是猜出口令,因此选择安全的口令对用户是至关重要的.   另一个最方便的方法就是试图重新执行.因此服务器的放置应在安全的地方.   还有其他打破DES的方法,但都非常困难,需要花费巨型计算机几个月的时间来计算.   还存在有另一个DES不曾考虑的安全问题,就是网络偷听,即使有了DES,也不能阻止任何人偷听网络传输的内容.大多数情况下这不是一个大的问题,因为网络中传送的大多数内容虽不是不可读的,但要搞清网络中传送的二进制的含义却不是一件轻松的工作.对登录来说,由于你希望别人不能通过网络获得你的口令,故你传送的是编码后的口令,正如前面所提到的一样,鉴定系统是信息交换的关键,网络传输内容被偷听的问题可以在每个具体应用中获得解决.   (10)性能   众所周知公共关键字系统的速度是很慢的,但在SUN系统中公共关键字编码很少发生,它仅仅发生在每个服务的第一次事务处理时,即使如此,还有缓冲区加速编码的进行.当client第一次与服务器接触时,client和服务器都必须计算出普通密钥,计算普通密钥的时间主要是计算幂关于M的模,在SUN3系统中使用192位模,这需花1秒钟计算普通密钥,也就是说总共需要2秒.因为client和服务器都必须计算普通密钥.因此,在client与服务器第一次接触时,必须等待这个时间,而且关键字服务器将保存计算的结果,以后就用不着每次都计算幂了.   DES系统最重要的网络服务就是快速安全的NFS,DES鉴别系统,相对于UNIX鉴别系统多花的时间就是编码的时间.时间标记和DES块都是64位,在一次RPC中平均要进行四次编码操作:client对请求时间标记编码,服务器对它进行解码,服务器对时间标记编码,client对它解码.在SUN3系列中对一个块进行编码的硬件执行需1毫秒,软件执行需1.2毫秒.这样进行一次RPC调用,若由硬件执行需多花2毫秒,若由软件执行需多花5毫秒.进行一次NFS请求大约需20秒,这样由DES鉴别会使NFS请求的性能降低10%(假如有编码硬件),25%(假如没有编码硬件).这就是DES对网络性能的冲击,事实上并不是所有的文件操作都需通过网络,因而DES对系统性能的影响要低得多.另外是否采用DES鉴别系统是任选的,因此在需要高速的环境时可以不采用DES鉴别系统.   (11)启动和setuid程序引起的问题   考虑这样的情况:计算机因发生某种事件后重新启动.这时机内保存的所有密钥都被清除,如果采用的是DES鉴别系统,那么所有的进程都不能再利用网络服务.这时起关键作用的是根进程.如果根的密钥保存在机内同时没有人输入口令,对该密钥进行编码,那么根进程就将能够利用网络服务.对以上问题的答案就是将根的密钥存放在关键字服务器可读的某个文件中.这样的方式对有盘工作站来说是很好的,但对无盘工作站来说,即存在一个致命的问题:它的密钥必须通过网络存取.这样在无盘工作站启动时,如有人窃听网络传送内容,他就能发现编码后的密钥,尽管完成,但这一工作并不容易.   众所周知有一种启动方式叫单用户启动,启动后根的登录shell出现在主终端上,这儿出现的问题是,如果安装了C2安全系统,从单用户启动仍需口令;当没有安装C2安全系统时,只要/etc/ttytab文件中的co ole项标记为secure,机器的启动就不需口令.   另一个问题是无盘工作站启动不安全,因为有人可以冒充启动服务器,启动一个不正当的内核记录远程无盘工作站的密钥,因为仅仅在内核和关键字服务器运行之后,SUN系统才能对这一问题提供保护.在此以前没有任何方式可以鉴别回答是否来自正确的启动服务器.但我们不考虑这种情况,因为一个不知道源码的人,要想写这样的内核几乎是不可能的.另外犯罪者也极易留下证据,只要你对网络中的启动服务器进行检测,就能发现谁是服务器.   并不是所有的setuid程序都会按我们希望的那样运行,比如一个由用户dave拥有的setuid程序,只要在机器启动后,dave没有进行登录,那么程序setuid就不能存取安全的网络服务(即采用DES鉴别系统的网络服务),好在绝大多数setuid程序都为root所拥有,而且根的密钥在系统忘却后总是存放在系统中,因而程序setuid在采用了DES系统之后,仍能象原来那样运行.   (12)总结   SUN的目标是要让网络系统象分时系统一样安全,这个目标已经达到.在分时系统中,用户被口令鉴别,有个DES鉴别系统,网络中的用户也由口令鉴别.在分时系统中,用户信任系统管理员,他的职业道德不允许他改变用户的口令以冒充该用户.在SUN系统中用户信息网络管理员,他不会改变用户在公共密钥数据库中的实体.很,SUN的系统从某种意义上说比系统更安全,因为在SUN的系统中旋转"窃听"装置来"窃听"网络中传送的口令和编码用的密钥是无用的(因为这些口令和密钥都已被编码).而大多数分时系统对来自终端的数据并不进行编码,用户必须相信,没有人在终端与主机的传送线上安装"窃听"装置.   DES鉴别系统也许不是最终完善的鉴别系统,在将来,很可能有更好的算法和硬件来证明DES鉴别系统无用并放弃它.但至少可以说DES为将来的发展指出了一个方向.从理论上讲,协议从来规定会话密钥甚至公共密钥的编码要采用Diff3-Hellman方法.为了使DES鉴别系统更有力,我们要做的仅仅是使会话密钥的编码更有力,从理论上说这样会形成另一个协议,但是RPC的优点在于它可以采用任何鉴别系统而本身不会受到影响.   至少在目前我们可以说DES鉴别系统满足了我们对网络服务的安全要求,在一个不友好的网络系统中建立起了一个足够安全的系统,而所付出的代价也不高.用户不需使用磁卡或记住上百位的数字,用户像往常一样使用口令鉴别自己,只是系统的性能略有降低.但是如果用户认为性能降低不可并且他的网络系统非常友好的话,他可以不采用DES鉴别系统. (完)
标签: