2026-07-08 15:53:05
数据库系统功能强大且丰富,因此在数据库环境中生成多种类型的审计记录至关重要。了解审计类型和实施方法有助于满足合规需求。实施全面的数据库审计的关键在于明确需求,以便确定适用的审计类型以满足需求。
在进入公司与会面某人时,通常需要前台登记。此举确保记录进入公司的每个人,方便问题发生时的追踪和调查。同样地,在数据库环境中,主要审计需求是记录哪些人访问过数据库。此类审计需要记录两类事件:登录和登出,记录登录名和时间,同时考虑记录发起连接的客户端IP地址和初始化连接的程序。例如,在Oracle环境中,应关注连接是否由SQL Plus等初始化。
与登录活动审计相关的是审计客户源信息,包括网络节点连接数据库(如使用IP地址或主机名)以及访问数据库的应用程序。除了知道用户是使用Excel还是SAP系统连接外,还需要了解更新是由Excel电子数据表软件还是SAP系统执行的。因此,在每次查询和数据库操作中,应将源程序收集在审计记录中,特别是在IP地址能够唯一识别用户的情况下。对于基于客户端/服务器架构的环境,源IP地址通常能确认唯一的用户。在这种情况下,根据用户每次SQL调用的IP地址进行跟踪和报告,与报告终端用户的数据库操作和数据查看同样有益。然而,在使用应用程序服务器架构时,IP地址无法确认终端用户,需要借助其他技术。
在审计和提供审计信息时,还需要考虑提供原始数据还是更易用的数据。例如,左侧信息显示了访问运行在155.212.221.84上的SQL服务器的源程序。此信息对了解环境的人员非常有用。而右侧信息对一般用户更有意义,他们可能不关心IP地址,却知道HR数据库的相关情况。如果相关人员理解与开发者工具登录进入人力资源(HR)数据库有关的风险,这种信息显然更有意义。
数据库返回的错误同样重要,它是应实施的首要审计日志之一。从安全角度考虑,这尤其关键。例如,攻击者会尝试直至成功,使用基于UNION的攻击猜测数据表的正确栏数。如果记录所有错误,可以确认此类攻击并采取相应措施。失败的登录记录和监视是需要关注的错误,即使没有审计数据库登录。最后,任何失败的提升特权尝试都表明攻击正在发生。
从质量角度来看,错误审计同样重要,它符合合规要求。应确认并修复漏洞和应用程序错误,而记录SQL错误是一种简单方法。因此,即使关注的是安全问题,将此信息提供给应用程序所有者也很有意义,因为没有人愿意运行存在问题的代码。幸运的是,这些错误甚至可能指出影响响应时间和可用性的问题。
数据库审计并没有一个非常标准公开的定义, 但是通常认为它应该具备解析,存储所有访问数据库的相关信息并提供相关查询和报表功能。