众所周知,各种应用系统都建立在操作系统提供的系统软件平台之上,所有业务信息也都要透过操作系统才能存取。因此,要想获得应用运行的高可靠性和信息的完整性、保密性,必须依赖于操作系统安全机制。
在网络环境中,网络系统的安全性依赖于网络中各主机系统的安全性,而主机系统的安全性正是由其操作系统的安全性所决定的,没有安全的操作系统的支持,网络安全也毫无根基可言。操作系统安全是计算机网络系统安全的基础。
我们知道,在现代计算机网络系统中,各种应用服务器一般使用Windows NT、UNIX等操作系统。这些操作系统是商用操作系统,最多达到B2级安全级别。其设计主要考虑开放性,对安全性没有给予特别的重视,在实用中存在这样、那样的问题,已经难以满足现代复杂网络环境下关键商用应用的需要。
那么,这些操作系统本身存在什么样的安全问题,需要从哪些方面加强安全性呢?
其实,Unix操作系统本身是提供了一定用户认证和存取控制安全措施的。众所周知。Unix对用户认证的管理主要靠/etc/passwd、/etc/shadow等用户库配合登录程序完成的,对系统文件和目录的访问控制是靠目录和文件的属性完成的。
这些安全机制存在着一些致命的问题。首先,系统管理员root和操作系统内核不受这套安全机制的限制,可以任意操作任何资源。这就为系统安全留下了很大的隐患:实际上,绝大多数的系统入侵企图都是以获取系统管理员root的权限为最终目的的,一旦获取了root的权限,就可以完全控制该服务器。
其次,Unix操作系统对资源的保护比较粗糙,不够细致。它仅保护了文件和目录,对进程、网络连接、终端等都没有提供足够的保护;对文件和目录的保护也仅有读、写、执行三种权限;而且对文件的权限控制由文件属主控制。这些都带来许多安全隐患。
对操作系统进行安全保护最初的方法是针对特定目标进行的。例如su命令存在安全问题,安全软件就使用增强安全性的su版本代替操作系统原有su命令。这种情况下只要入侵者从别的相同系统中拷贝su命令,或者自己编写程序调用setuid系统调用,就可以轻易饶过安全保护软件。因此真正的服务器保护方案应该在操作系统级别实现,否则就可以被授权和审计绕过。
CA公司的eTrust Access Control在操作系统的安全功能之上提供了一个安全保护层。他通过从核心层截取文件访问控制,以加强操作系统安全性。它具有完整的用户认证,访问控制及审计的功能,采用集中式管理,克服了分布式系统在管理上的许多问题。