主页 > 网络知识 > 等保测评2.0:SQLServer安全审计(2)

等保测评2.0:SQLServer安全审计(2)

这里是指至少应该包括最关键的数据,也就是日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息,默认情况下SQLServer仅存在错误日志,测评项a无法满足,测评项b肯定就不应该判定为符合,而且错误日志本身确实也未存在足够多的字段,仅存在日期、源、消息、日志类型、日志源这些字段。

这里想要符合,也只能是自创审核规范和审核对象。

另外,这里应该也要判断下日志中的日期和时间是否准确,SqlServer日志中的时间应该是引用的本机时间,所以就要看一看数据库所在的操作系统是否做了这方面的措施,具体哪些措施可以看:等保测评2.0:Windows安全审计中的测评项b。

五、测评项c

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

5.1. 要求1

也即仅某些账户可删除、修改审计记录。

在默认状况下,SQLServer仅存在错误日志,对于错误日志,默认状态下会存在7个,分别是:

ERRORLOG

ERRORLOG.1 

ERRORLOG.2 

ERRORLOG.3 

ERRORLOG.4 

ERRORLOG.5 

ERRORLOG.6

可以用以下命令进行错误日志的的清除:

exec sp_cycle_errorlog

执行一次sp_cycle_errorlog就会产生一个新的 errorlog,然后原来errorlog重命名为errorlog1,原来的errorlog1重命名为errorlog2,最后的errorlog6删除。
而执行sp_cycle_errorlog该命令的权限,仅服务器角色sysadmin才具有。

如果从操作系统的层面来说的话,也就是错误日志的文件的权限:

 

等保测评2.0:SQLServer安全审计

默认情况下,也就这些操作系统账户存在权限。

 

而如果是对于自建的审核规范和审核对象,大概率不会碰到,这里就不怎么说了。

反正涉及到权限,如果纪录存在表中,那么就要去看表的权限、表所在架构的权限、架构所在数据库的权限的权限等。

如果记录存在文件中,那么就要去看文件的权限。

5.2. 要求2

对日志进行定期备份,这里要明确一点,要看对方将数据库的记录文件存放在了什么地方。

如果是默认的错误日志,是存放在文件中的,其存储路径为:C:Program Files (x86)Microsoft SQL ServerMSSQL.1MSSQLLOG。

对于将记录存放在文件中的,备份就是要备份这个文件。

如果将记录存在在数据库表中的,那么就要对这个表或者这个表所在的数据库进行备份。

六、测评项c

d)应对审计进程进行保护,防止未经授权的中断。

如果针对错误日志,似乎也没办法禁止错误日志的记录,所以也没什么好说的。

七、数据库审计系统

大部分情况下,被测评方都是使用数据库审计系统来实现相关的要求。

数据库审计系统应该都是基于流量解析来进行审计,所以数据库本身的审计设置就无所谓了(不用关注了),因为数据库审计系统本身就是由于数据库自身的审计功能不够强大而出现的产品。

7.1. 测评项a

a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;

数据库审计系统的功能一般足够强大和专业,对于测评项a而言,虽然数据库审计系统在可以自创规则,但是大部分情况下,也会存在一个默认模板,这个默认模板包含的规则基本上至少能满足测评项a的要求了,除非特殊要求,基本不需要用户自己创建规则。

当然,测评的时候也还是要看一看到底使用了什么规则:

等保测评2.0:SQLServer安全审计

 

7.2. 测评项b

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

同测评项a,肯定也至少满足了测评项b的要求,而且一般都会远远超过(包含足够多的字段)

测评时看一看具体的记录即可:

等保测评2.0:SQLServer安全审计

 

7.3. 测评项c

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;

这里应该看数据库审计系统中是否对账户的权限进行了分离,即仅某一个或某一类账户可以对审计记录进行操作。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!