基线核查---SQLSERVER

基线核查之SQLSERVER(MSSQL)

以下有关路径只在MSSQL2000上面测试过
1.MSSQL共享账号核查
使用sql语句:select name from syslogins group by name having count(name)>1 查看是否存在共享账户的情况
参考配置:建立角色,并给角色授权,把角色赋给不同的用户或修改用户属性中的角色和权限。以此来达到安全规范

2.MSSQL检查是否存在与数据库工作、维护无关的账号
使用sql语句:select b.name from syslogins a left outer join sysusers b on a.sid = b.sid where b.name is null and a.password is not null 查看是否存在于数据库工作、维护无关的账号
参考配置:SQL SERVER 企业管理器-> 安全性-> 登录中删除无关账号 或者 SQL SERVER 企业管理器-> 数据库-> 对应数据库-> 用户中删除无关账号

3.核查MSSQL数据库是否根据用户的业务需要,配置其所需的最小权限
使用存储过程:EXEC sp_helpuser 查看数据库所有用户以及其对应权限
参考配置:更改数据库属性,取消业务数据库账号不需要的服务器角色;
                    更改数据库属性,取消业务数据库账号不需要的“数据库访问”和“数据库角色中允许”中不需要的角色。
                    服务器角色对应权限:
                                  sysadmin 在SQLSERVER中进行任何活动,该角色的权限跨越其他固定服务器角色。一般sa和Buildin/Administrator都属于该角色
                                  serveradmin 配置服务器范围的设置
                                  setupadmin 添加和删除链接服务器,并执行某些系统存储过程
                                  securityadmin 管理服务器登录
                                  processadmin  管理在SQLSERVER实例中运行的进程
                                  dbcreator 创建和改变数据库
                                  diskadmin 管理磁盘文件
                                  bulkadmin 执行BULK INSERT语句

4.MSSQL使用数据库角色来管理对象的权限
使用sql语句:select count(*) from sysusers where issqlrole=1 查看结果值是否大于10,如果小于等于10不符合安全基线标准
参考配置:在数据库的角色中查看对应角色的权限,检查是否包含不需要访问的对象
                    在数据库中查看表、存储过程等对象属性中的权限、检查是否存在不必须的账号或角色访问该对象
                    企业管理器->数据库->对应数据库->角色-中创建新角色;
                    调整角色属性中的权限,赋予角色中拥有对象对应的select、insert、update、delete、exec、dri权限

5.MSSQL查看是否存在口令为空的用户
使用sql语句:select name from syslogins where sid in(select sid from sysusers where issqluser=1) and password is null 查看是否存在口令为空的用户
参考配置:在表syslogins中检查createdate、updatedate是否为确定时间
                    在表syslogins中查看password字段是否为null
    如果存在口令为null的用户,建议删除

6.MSSQL检查是否存在不必要的存储过程
使用sql语句查看是否存在以下存储过程,如果存在切非必要请删除:xp_cmdshell Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regremovemultistring xp_sdidebug xp_availablemedia xp_cmdshell xp_deletemail xp_dirtree xp_dropwebtask xp_dsninfo xp_enumdsn xp_enumerrorlogs xp_enumgroups xp_enumqueuedtasks xp_eventlog xp_findnextmsg xp_fixeddrives xp_getfiledetails xp_getnetname xp_grantlogin xp_logevent xp_loginconfig xp_logininfo xp_makewebtask xp_msver xp_perfend xp_perfmonitor xp_perfsample xp_perfstart xp_readerrorlog xp_readmail xp_revokelogin xp_runwebtask xp_schedulersignal xp_sendmail xp_servicecontrol xp_snmp_getstate xp_snmp_raisetrap xp_sprintf xp_sqlinventory xp_sqlregister xp_sqltrace xp_sscanf xp_startmail xp_stopmail xp_subdirs xp_unc_to_drive xp_dirtree
参看配置:停用不必要的存储过程,删除不会被使用的一些存储过程
                     删除存储过程方法:
                                use master
                                sp_dropextendedproc '存储过程名称';
                     比如:
                                use master
                                sp_dropextendedproc 'xp_cmdshell'

7.MSSQL数据库是否记录用户登录信息
使用sql语句:master..xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath'查看MSSQL安装路径,对路径做处理,查看日志文件,是否存在用户登录信息,包括登录时间,登录状态等等。(Windows7条件下可以用:wmic process get name,executablepath | findstr "sqlservr.exe"查看MSSQL服务路径)
参考配置:打开数据库属性,选择安全性,将安全性中的审计级别调整为“全部”,身份验证调整为“SQL Server 和 Windows”

8.MSSQL数据库是否记录对于数据库相关的安全事件
检测方法同上7

9.MSSQL数据库是否使用强制协议加密
在终端输入:reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer myconfig.inf | type myconfig.inf 查看返回信息是否存在字段Encrypt,不存在则没有使用强制协议加密
参考配置:启动服务器网络配置工具,在“常规”中选择“强制协议加密”

10.MSSQL判断系统是否打包最新的补丁包
使用sql语句:select @@version 查看当前版本
参考配置:去SQLSERVER官网,查看当前版本是否是最新的补丁包,如果不是请下载最新的补丁包进行安装,安装详细操作请参照其中的readme文件

11.MSSQL判断是否设置最大并发连接数
使用sql语句:select value from  master.dbo.sysconfigures where [config]=103 查看最大并发连接数
参考配置:参考配置操作启动Microsoft SQL Server Management Studio->以管理员身份登录服务器,左侧对象资源管理器->选择目标服务器->右键服务器属性->连接->将“最大并发连接数(0 = 无限制)(M)”设置为评估后的值

12.启用 C2 审核跟踪
使用存储过程:EXEC sp_configure 'c2 audit mode' 查看C2状态
参考配置:参考配置操作启动Microsoft SQL Server Management Studio->左侧对象资源管理器->选择目标服务器->右键服务器属性->安全性->勾选“启用C2审核跟踪”。

以上操作可能存在不准确性,仅供参考。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章