• 15
  • 15
分享
  • 数据库的审核功能——软件测试圈
  • 恬恬圈 2021-11-11 10:38:55 字数 2093 阅读 1321 收藏 15

SQLServer2008之前的版本只能是通过触发器或SQL跟踪来实现审核,没有专门的管理工具来管理审核。到了SQLServer2008的时候,新增了数据库审核功能,相比较于触发器,数据库审核不需要编写语句,并且不依赖与具体的表或数据库,而是独立存在的。利用SQLServer所提供的全面的数据审核功能,可以帮助企业不论是在服务器级别还是在数据库级别都可以监控所有的事件。

SQLServer2012的审核功能,可以对服务器级别和数据库级别的事件组或者是单个事件进行审核。SQLServer审核可以是一组操作,例如Server_Object_Change_Group,也可以是单个操作,例如对表的SELECT操作。Server_Object_Change_Group包括对任何服务器对象的CREATE、ALTER和DROP操作。通过SQLServer审核,用户可以创建针对服务器级别的审核规范和针对数据库级别事件的数据库审核规范。

经过审核的事件以及结果将发送到目标,目标可以是文件、Windows安全事件日志或Windows应用程序事件日志。必须定期查看和归档这些日志,以确保目标具有足够的空间来写入更多记录。这些记录项包括:触发可审核操作的日期时间、操作会话ID、相关权限、发生审核的实体对象、当前登录名及用户名等信息。但是需要注意的是任何经过身份验证的用户都可以读取和写入Windows应用程序事件日志。因此,在将审核信息保存到某一文件时,为了避免信息被篡改,用户可以考虑限制对文件位置的访问,并对SQLServer帐户设置适当的权限,例如审核管理员将目标进行存档时,新目标路径的权限一般定义为审核管理员具有读写权限,一般的审核读取者具有读权限。

建立审核的过程是:创建审核并且定义目标文件、创建服务器审核规范和数据库审核规范、将创建好的审核规范映射到审核、启用审核。经过以上简单几步,在创建并启用审核功能后,目标文件将接收各项的输出。

实验:

创建审核

首先在安全性—审核中创建一个默认的审核规范,此审核规范目的是将审核的结果输出到Windows应用程序事件日志。操作方法是,在对象资源管理器中,打开“安全性”节点下的“审核”,右键即可新建审核,选择将结果输出到Windows应用程序事件日志中后就不能定义审核文件的个数以及审核文件的最大大小,如下图所示:

1.png

2.png

接下来需要创建服务器审核规范并映射到刚才创建的默认审核上,创建服务器审核规范的方法是:在对象资源管理器中,右键单击“服务器审核规范”,然后单击“新建服务器审核规范”。这将打开“创建服务器审核规范”页。

1.png

2.png

在名称中使用默认设置,用户可以根据需要进行更改,审核项中选择刚才新建的默认审核名。“审核操作类型”选项,根据需要选择相应的操作组,在此选取FAILED_LOGIN_GROUP。指的是主体尝试登录到SQLServer,但是失败。此类中的事件由新连接引发或由连接池中重用的连接引发。说简单点就是记录尝试登录到MicrosoftSQLServer的失败信息。

审核创建完成后,默认为禁用状态,接下来就分别启用服务器审核规范和审核,如下图所示:

1.png

2.png

测试

下面来测试刚才创建的审核能否生效,我们使用SA用户,故意使其登录失败。如下图所示:

1.png

查看审核日志

用户可以使用Windows中的“事件查看器”实用工具来读取Windows事件。对于文件目标,可以使用SQLServerManagementStudio中的“日志文件查看器”或使用fn_get_audit_file函数来读取目标文件。如下图所示:

1.png

2.png

3.png

下面再针对select查询做一个审核。来记录针对NorthwindCS数据库中表的Select操作。

首先还是创建审核,操作方法同上面相同,审核名为:查询审核。在这里选择审核目标为文件,然后将文件存放在C:\审核日志这个文件夹下面,在启动审核之后,可以看到文件夹里增加了一个文件,这个就是审核日志。

1.png

2.png

再针对数据库创建数据库审核规范,操作方法是:在指定数据库上找到“安全性”选项卡,在其中的“数据库审核规范”上,点击右键,弹出“新建数据库审核规范”,如下图所示:

1.png

这里对应选择刚才新建的查询审核规范,审核操作类型选择select,对象类型选择Object

1.png

可以看到,对象名称这里可以选择要审核的对象类型,可以是表、视图、存储过程等。还可以具体到对应的哪一张表、哪一个视图等。

1.png

在主体名称中,可以选择审核对应的数据库角色或者某个用户

1.png

创建好之后全部启用,然后随便查询两个,不过查询的范围必须在刚才定义的对象名称和主体名称之内,否则无法审核到

1.png

查看审核结果如下:

2.png

除了右键审核查看审核日志以外,还可以用SQL语句进行查询:

SELECT*FROMsys.fn_get_audit_file(
'C:\审核日志\查询审核_E59B8169-454B-49DC-9E17-1239B1CFD7F2_0_130964552067760000.sqlaudit'
,default,default)
wheredatabase_name='NorthwindCS'
GO


作者:佚名

文章来源:百度文库

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 如图多个元素的xpath路径是一样的,如何依次点击每个元素呢?//div[@class='item__10RTO']需要用find_element函数,用By进行定位。获取到的是一个list然后用for循环对list进行遍历需要注意的是find_elements是不能直接使用click()函数的,遍历时才能用click()from selenium.webdriver.common.by import Byjob_list=driver.find_elements(By.XPATH, ("//div[@class='it...
            0 0 797
            分享
          • 每次都有人问我软件测试的前景是什么样的,每年也会有人很多人纷纷涌入测试的岗位上,希望自己能够进入阿里、华为等大厂但是测试岗位真的那么吃香吗?今天我结合从零基础小白到测试开发的成长经历,来说下这个行业的发展前景,以及要入行的同学应该从哪个地方入手学习一、软件测试行业的发展最近很多同学在找工作的时候,会发现功能测试岗位很难找到工作,大多数都是外包,甚至外包都要求会性能或者自动化测试,所以对于纯手工测试,不好找工作的情况是真实存在的。另外就是技术的发展,CI/CD/Devops的项目管理迭代的方法论的流行加大了测试压力,你要是刚开始进入这个行业,可能认为测试就是找bug,但是测试工程师的核心是质量保...
            0 0 846
            分享
          •   一、背景介绍  近一年经历过2年技术调研,针对专业人才的评定原则及等级划分给与一定的指导,比如软件测试工程师需要具备哪些能力,工作职责及高、中、低级别如何进行区分。在参与访谈过程中,发现针对测试的部分应该梳理出一份通用的技能图谱,供参考。  二、高中级如何定义  在最近一次访谈出,印象中最深刻的两项内容,我认为有必要拿出来探讨一下,其一是中级和高级的定义,其二是证书的价值及重用性,已经成为我们升职加薪的筹码。  1、高级和中级定义和我们想象中的不一样  通常来说,高级和中级这两个术语在技术领域中是用来描述一个人的技术能力和专业水平的。根据我们的理解高级通常指的是具有深入、全面和战略性的技术...
            0 0 524
            分享
          •       Airtest支持iOS自动化测试,在Mac上为iOS手机部署iOS-Tagent之后,就可以使用AirtestIDE连接设备,像连接安卓设备一样,实时投影、控制手机。iOS测试不仅限于真机测试,iOS模拟器也可以进行。Mac端上部署完成后还可以提供给同一局域网内的windows上远程连接使用。同时支持airtest图像识别和pocoUI检索。      本文介绍iOS自动化测试的部署过程,提供一个简单的测试脚本,列举了iOS测试过程中常见的问题。      功能支持支持A...
            0 0 2097
            分享
          • 一、Jmeter的关联用到了哪些方法去实现?接口的响应结果通常为html和Json格式的数据,主要会用到正则提取器、Json提取器,还有Xpath器以及边界值提取器,还有beanshell来进行数据的提取,而对于html这种响应结果我们通常会用正则或者是Xpath来进行数据的提取;对于Json格式的数据通常会用Json提取器。二、jmeter参数化有哪几种方法?第一种,可以通过函数助手来实现参数化,比如说像_RandomString这种随机函数;第二种:通过CSV读取文档数据实现参数化;第三种:通过配置元件、用户定义的变量来实现参数化;第四种:通过前置处理器中的用户参数也可以实现参数化。三、用...
            1 2 2414
            分享
      • 51testing软件测试圈微信