一、前言
只要是信息系统,就需要运行所必需的系统环境,而Windows和Linux系统是现在使用最为广泛的主机操作系统,前边我们已经讲了等保测评2.0主机系统方面的测评项要求,大家有兴趣的可以翻阅我之前的文章。
而信息系统只要运行,就会产生数据,产生数据就需要存储,数据库就是另一个所有信息系统所必需的,数据是信息系统最重要的东西,所以数据库的安全就是保障数据安全的重要的屏障,现在市面上有许多数据库产品,其中使用比较广泛的就是SQLServer数据库,今天我们就来讲一讲等保测评2.0中对SQL Server数据库有哪些安全要求。
![b873363f614a1177d5fcf725418dde16.png](https://i-blog.csdnimg.cn/blog_migrate/0cb784579509150a037b948580f593ee.jpeg)
SQLServer数据库
二、测评项
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
d)应对审计进程进行保护,防止未经授权的中断。
三、测评项a
a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
SQL Server数据库是默认开启错误日志的,在数据库管理-SQL Server日志中可以查看,如下图所示:
![c924ad3873e04a0df25dcf5f57a96c21.png](https://i-blog.csdnimg.cn/blog_migrate/92f59d4956c0b212db2dc0e66d0fe0fe.jpeg)
SQL Server错误日志
错误日志大概记录的内容:
3.1 日志自动记录的信息大概有如下:
(1) SQL SERVER 的启动参数,以及认证模式,内存分配模式。
(2) 每个数据库是否能够被正常打开。如果不能,原因是什么?
(3) 数据库损坏相关的错误
(4) 数据库备份与恢复动作记录
(5) DBCC CHECKDB记录
(6) 内存相关的错误和警告
(7) SQL调度出现异常时的警告。一般SERVER Hang 服务器死机会伴随着有这些警告
(8) SQL I/O操作遇到长时间延迟的警告
(9) SQL在运行过程中遇到的其他级别比较高的错误
(10) SQL内部的访问越界错误(Access Violation)
(11) SQL服务关闭时间
(12) SQL SERVER版本,以及windows和processor基本信息。
3.2 日志开启跟踪能看到的信息
(1) 所有用户成功或失败的登入
(2) 死锁及其参与者的信息。跟踪标志1222 或1204
3.3 日志不能记录的问题
(1) 阻塞问题。只要阻塞还没有严重到影响线程调度,日志里是不会体现的。
(2) 普通性能问题,超时问题。
(3) windows层面异常。
错误日志记录的内容有限,不能对重要的用户行为和重要安全事件进行审计,所以此项要求SQL Server数据库默认设置不能符合要求,如果想要符合要求,在数据库-数据库审核规范和安全性-服务器审核规范里边设置,如下图所示,因为在之前的测评过程中没有单位设置过此项,我也没有设置案例,有兴趣的可以自行查询设置方法。
![e058cf5d191de9f2a6a326e73bebfa97.png](https://i-blog.csdnimg.cn/blog_migrate/793f4417c7eeba663a4731be5d8f5359.jpeg)
审核规范
四、测评项b
b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
上一测试项我们知道SQL Server数据库是默认开启错误日志的,而错误日志包含日期、源、消息、日志类型、日志源这些字段,并不能满足此项要求,要想满足此项要求,也必须设置审核规范,说到日期和时间,SQL Server数据库必须保障日志所记录的时间与实际相符,而SQL Server数据库的时间机制是与Windows系统一致的,那就要看Windows系统的时间设置了。
![50a5e1442623c0533ee4d83c3d043446.png](https://i-blog.csdnimg.cn/blog_migrate/87c2bb013cfc121a5ea1ea5f5b48d912.jpeg)
windows时间设置
五、测评项c
c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
默认情况下,SQL Server数据库是开启错误日志的,而错误日志存在7个,当前日志和编号1-6的存档日志,当生成新的“当前”日志时,旧的“当前”日志会重命名“存档编号1”,以此类推最后的“存档编号6”会被删除,取而代之是之前的“存档编号5”.
![6e0a768591a1c026ae57677311d6f169.png](https://i-blog.csdnimg.cn/blog_migrate/bc5c0be016c7194f695095067355139d.jpeg)
错误日志
我们可以设置错误日志的最大文件数,范围可以从6到99,如下图所示:
![4ea01a0e6b28fbc51732c24881208aed.png](https://i-blog.csdnimg.cn/blog_migrate/90d189339751b474c64197c8af64c704.jpeg)
设置错误日志文件数
至于日志的删除、修改和覆盖,就要看日志文件对于不同用户的具体权限了,如下图所示,至于备份那就查看数据库日志文件的备份文件了,可以是文件,也可以是表。
![1f90b2d736b4727b02af926c8b37ddca.png](https://i-blog.csdnimg.cn/blog_migrate/62febbbe478d2b3ea8adf065d35d1f3d.jpeg)
日志权限
六、测评项c
d)应对审计进程进行保护,防止未经授权的中断。
针对SQL Server数据库的错误日志,该日志是默认开启,无法停止的,所以如果只有错误日志,那么这项就是默认符合的,如果是有其他补充日志,那就具体问题具体分析吧,我们其他测评项都是以SQL Server数据库的错误日志为例来分析的,如果有其他补充日志,也只能具体问题具体分析了。
以上就是一项一项教你测等保2.0——SQL Server审计安全的所有内容,希望对大家有所帮助,欢迎关注@科技兴了解更多科技尤其是网络安全方面的资讯与知识。