操作系统安全控制审计的方法

作 者:

作者简介:
张芹 张政 颐中烟草(集团)有限公司、青岛开发区审计局

原文出处:
中国内部审计

内容提要:


期刊代号:V3
分类名称:审计文摘
复印期号:2011 年 02 期

关 键 词:

字号:

      随着信息技术的发展,信息系统已广泛应用到经济社会发展的各个方面。以审查信息系统合规性、安全性、可靠性和有效性为目标的信息系统审计已逐渐成为审计工作一个新的重要领域。信息系统的整体安全性是建立在各个层次的系统安全性上的,作为最底层的操作系统是信息系统安全性的基础。因此,操作系统安全控制审计,应作为信息系统审计切入点和重点加以重视。操作系统安全控制审计主要是充分运用操作系统本身集成的功能,收集操作系统资源使用过程的相关记录并加以分析,判断操作系统是否受到安全威胁和存在系统漏洞。审计内容包括:启动和关闭系统;登录和注销;创建进程或损毁进程;打开、关闭或重命名对象;使用权限功能或基于角色的访问控制;识别和验证操作;有进程或用户执行的权限更改;管理操作(如安装软件包);特定于站点的应用程序。审计目标包括:验证访问权限的分配是否与不相容职责分离的要求相一致,并符合相关政策;确认是否有恰当和有效的口令控制对操作系统的访问;确定管理政策、程序和控制步骤是否严密有效,是否能防护操作系统不受硬件失灵、软件差错、人为故障和病毒侵蚀等因素干扰。

      当前主流的操作系统都具备审计或类似审计的功能,比如,Unix、Aix、Solaris、Windows、Linux系统,均实现了ACL(访问控制列表Access Control List)。审计人员可以充分利用这一特点,通过一定的设置获取系统审计记录,并通过分析筛选发现系统存在的安全漏洞和隐患,得出审计结论。现选取Unix、Windows、Linux三种典型操作系统,介绍操作系统安全控制审计的技术和方法。

      一、Unix系统安全控制审计方法

      1、审计事项的设置与获取。Unix系统安装程序中带有一套安全增强可选功能子集,其中包括审计功能,需要审计的事项在/etc/sec/audit events文件中定义,该文件默认包含了所有的可审计事件,/etc/sec/event_aliases文件包含管理员自定义的事件分组。Unix把审计事件分为三类:系统调用类、可信事件类、自定义类,分别对应与安全相关的系统调用、与安全保护机制相关的事件和根据实际系统需要由管理员定义的审计事件,审计人员可以在特定的目录下获取事项的审计记录。

      2、常用的审计过程和方法。(1)对系统用户登录的安全审计。Unix下系统用户登录的安全审计工具主要包括lastlog和WTMP。lastlog文件(一般在/var/log目录下)记录每个用户的最近一次登录时间和每个用户的最初目的地,通常用户登录进系统后就会显示最后一次登录的时间及IP地址等信息;WTMP文件(一般在/var/adm目录下)记录用户登录和退出时间。通常使用last和ac命令访问WTMP文件,last和ac命令会根据WTMP的记录及命令的输入参数产生不同的报告。(2)对FTP服务的安全审计。要根据具体使用的服务程序区分它的安全审计,系统自带的FTP服务器软件一般使用ftpd程序接受用户的连接,它使用syslog处理产生的消息。执行带—1参数的ftpd能激活日志记录功能。在inetd.conf文件调用ftpd的行如下所示:ftp stream tcp nowait root/etc/ftpd ftpd-1。应该编辑syslog.conf文件加入一行:daemon.info ftplogfile。另外,在有些Unix版本中,系统可能也会使用WTMP来记录FTP的用户登录信息。因此这些系统中也可以last命令查看ftp用户登录的情况。(3)对在线用户的安全审计。UTMP文件(一般在/var/log目录下)记录当前登录到系统的所有用户。这个文件随着用户进入和离开系统而不断变化。它不会为系统的用户保持很长的历史记录,只记录此时联机的用户。通常可以使用用户who或者w命令查看UTMP的日志记录。(4)对网络安全的安全审计。Unix下使用syslog作为系统的日志工具。syslog能够方便记录各种程序产生的日志。在大多数的默认配置中,syslog把大多数的消息传递给/var/adm/message文件。大多数的守护程序及各种服务程序的消息一般都记录在这里。另外,也可以使用第三方工具加强网络安全的安全审计,如TCP_Wrapper。

      二、Windows操作系统安全控制审计方法

      1、审计事项的设置与获取。Windows的事件日志记录着操作系统或应用程序重要的事件。一般通过“组策略”在站点、域、OU或本地计算机级别启用的。在下面的目录中找到审计策略设置:Comouter Configuration\Windows Setfings\Security Settings\Local Policies\Audit Policy。可以通过编辑本地计算机的“组策略”,或者通过使用Windows 2000 Server Resource Kit(Windows 2000 Server资源工具包)中的Auditpol.exe实用工具在计算机上配置。通过审计生成的每一个事件都将出现在“事件查看器”中,可以直接在“事件查看器”中,也可以在“组策略”中对其中的每一个设置进行定义。

      2、常用审计过程和方法。(1)对事件日志的审计。通过本地登录尝试失败、账户误用和账户锁定审查登录事件,通过域登录尝试失败、时间同步问题和终端服务攻击审查账户登录事件,通过创建用户账户、更改用户账户密码、更改用户账户状态、对安全组的修改和账户锁定审查账户管理事件,通过更改系统时间、从远程将系统强制关闭、加载和卸载设备驱动程序审查特权使用事件。(2)对系统服务和驱动程序的审计。使用服务控制台工具,比如,Netsvc.exe,此命令行工具包含在Windows 2000 Server Resource Kit(Windows 2000 Server资源工具包)中,审计人员可以使用命令行远程启动、停止、暂停、继续服务和查询服务的状态;SvcMon.exe工具监视本地和远程计算机上服务的状态变化(启动或停止);Drivers.exe工具可显示在执行该工具的计算机上安装的所有设备驱动程序。(3)端口扫描和入侵检测审计方法。一是使用系统自带的Netstat.exe命令行,以显示TCP和UDP的所有打开的端口,命令使用下面的语法:NETSTAT[-a][-e][-n][-s][-p proto][-r][interval]。二是通过“事件查看器”查看应用程序日志、安全日志和系统日志,也可以在“事件查看器”中定义筛选器以查找入侵事件,以发现系统存在的安全漏洞。

      三、Linux操作系统安全控制审计方法

      1、Linux系统的日志机制。Linux系统中日志信息可以来自系统内核、系统应用程序、用户程序或别的主机,用户进程可以通过库函数syslog0向后台进程syslogd发送日志消息。可以通过制定消息的facility/priority属性,把消息发到不同的地方。系统定义了19个(auth、cron、lpr、mail、news等)facility和八个不同的消息优先级。后台进程klogd通过proc文件系统调用syslog将内核产生的日志记录转送给syslogd进程。进程syslogd对内核及系统程序产生出错、警告等信息,根据写入者和消息的重要性,分类写入不同文件。

相关文章: