SQL server作业指导书.docx
《SQL server作业指导书.docx》由会员分享,可在线阅读,更多相关《SQL server作业指导书.docx(42页珍藏版)》请在冰豆网上搜索。
SQLserver作业指导书
SQLServer审计作业指导书
SQLServer检查列表签署页
文件
SQLServer检查列表
编制
黄俊强
签名:
日期:
祝宇琳
签名:
日期:
马遥
签名:
马遥
日期:
王洪彬
签名:
日期:
王大萌
签名:
王大萌
日期:
张清江
签名:
日期:
编辑
马遥
签名:
马遥
日期:
审核
黄俊强
签名:
日期:
批准
王希忠
签名:
日期:
更改记录
备注
目录
1.数据库系统应用用户的身份鉴别4
2.数据库系统的失败处理5
3.检查加密设置5
4.数据库系统用户的身份标识应具有唯一性6
5.数据库系统用户的身份鉴别方式7
6.检查Xp_cmdshell权限8
7.检查跨数据库所有权链接10
8.检查程序文件的权限10
9.检查数据文件的权限11
10.数据库系统sa用户的身份鉴别12
11.应严格限制默认用户的访问权限13
12.检查SQLServer调试账户14
13.应依据安全策略控制主体对客体的访问15
14.权限分离16
15.检查安装日志文件17
16.安全审计范围17
17.SQLServer数据库是否安装最新的补丁18
18.系统启用不需要的服务19
19.特定事件的实时报警20
20.重要信息的恢复21
21.系统资源控制22
22.表空间的利用率23
23.检查监听端口24
24.系统重要信息的备份25
25.重要业务系统级热备26
26.检查示例数据库26
27.检查服务器属性27
28.检查SQLServer使用的协议28
29.应由授权主体设置对客体访问和操作的权限29
30.检查服务器独立性31
1.数据库系统应用用户的身份鉴别
审计项编号
DAT-DB-SQL-01
主机安全:
身份鉴别
b) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换
审计项名称
数据库系统应用用户的身份鉴别
审计项描述
数据库系统用户的身份鉴别信息应具有不易被冒用的特点,例如口令长度、复杂性和定期更新等。
审计步骤
执行:
在master库中,select*fromsysloginswherepasswordisnull,查看有无空口令用户。
询问:
数据库管理员
询问口令的管理要求(口令的长度,口令复杂性,口令更新周期)。
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
应用用户弱口令
脆弱性编号
DB-SQL-05
脆弱性说明
应用系统访问数据库的用户使用了弱口令,导致攻击者可能利用此用户对应用数据执行任意操作。
严重程度
很高
加固方法
在"开始"菜单中,指向"程序",接着指向"MicrosoftSQLServer",然后单击"SQLServer企业管理器",“安全性”“登录”右键单击用户名,属性,更改其密码。
实施风险
如不能及时通知各用户新密码,可能造成临时性的无法访问。
备注
2.数据库系统的失败处理
审计项编号
DAT-DB-SQL-02
主机安全:
身份鉴别
c) 应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施
审计项名称
数据库系统的失败处理
审计项描述
应具有登录失败处理功能,如:
结束会话、限制非法登录次数,当登录连接超时,自动退出。
审计步骤
执行:
使用sp_configure查看有无鉴别失败和超时等方面的设置。
询问:
数据库管理员,是否采取其他措施保证上述安全功能的实现。
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
缺少数据库登录失败处理
脆弱性编号
DB-SQL-08
脆弱性说明
缺少数据库登录失败处理,无法对某些登录尝试、恶意访问等进行相应的处理。
严重程度
高
加固方法
实施风险
备注
3.检查加密设置
审计项编号
DAT-DB-SQL-03
主机安全:
身份鉴别
d) 当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听
审计项名称
检查加密设置
审计项描述
检查并记录是否安装证书以启用SSL连接
审计步骤
执行:
使用SQLServer网络实用工具,看是否选中“强制协议加密”。
适用版本:
ALL
审计项结果
“强制协议加密”已选中。
关联脆弱性
脆弱性名称
没有加密网络通信
脆弱性编号
DB-SQL-29
脆弱性说明
使用了明文方式的协议传输数据,在传输过程中不能保证其中的数据被窃听乃至修改,因此最好对传输进行加密。
严重程度
低
加固方法
1.使用SQLServer网络实用工具并单击以选中强制协议加密复选框。
2.停止并重新MSSQLServer服务对于默认实例或命名实例。
3.使用SQLServer错误日志以验证它启动时,SQLServer没有报告任何错误。
实施风险
无可预见风险。
备注
4.数据库系统用户的身份标识应具有唯一性
审计项编号
DAT-DB-SQL-04
主机安全:
身份鉴别
a) 应对登录操作系统和数据库系统的用户进行身份标识和鉴别
审计项名称
数据库系统用户的身份标识应具有唯一性
审计项描述
查看数据库系统用户的身份标识应具有唯一性。
审计步骤
执行:
1)在SQL查询分析器或其他工具中执行命令:
selectnamefromsysxlogins,查看是否有重复的用户名。
2)在SQLServer数据库中创建两个相同名称的用户,如系统拒绝,则说明在SQLServer数据库中用户名是唯一的。
询问:
数据库管理员
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
数据库系统存在重复用户名
脆弱性编号
DB-SQL-03
脆弱性说明
系统中存在重复用户名,可能引发无法识别具体用户的事件。
严重程度
中
加固方法
实施风险
备注
5.数据库系统用户的身份鉴别方式
审计项编号
DAT-DB-SQL-05
主机安全:
身份鉴别
b) 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换
审计项名称
数据库系统用户的身份鉴别方式
审计项描述
应对同一用户采用两种或两种以上组合的鉴别技术实现用户身份鉴别。
审计步骤
询问:
数据库管理员
询问数据库的身份鉴别方式,是否使用其他鉴别技术。
查看:
在企业管理器中点“属性”-“安全性”,在身份验证中看“SQLServer和Windows”的混合验证模式。
适用版本:
SQLServer2000
审计项结果
记录采用的身份鉴别方式。
关联脆弱性
脆弱性名称
数据库身份鉴别方式单一
脆弱性编号
DB-SQL-06
脆弱性说明
采用一种身份鉴别方式,可能导致数据库易于被攻击。
严重程度
中
加固方法
在企业管理器中设置“属性”-“安全性”,在身份验证中选中“SQLServer和Windows”的混合验证模式。
实施风险
无可预见风险。
备注
6.检查Xp_cmdshell权限
审计项编号
DAT-DB-SQL-06
审计项名称
检查Xp_cmdshell权限
审计项描述
检查Xp_cmdshell权限。
审计步骤
执行:
在企业管理器--数据库--扩展存储过程--右键--所有任务--管理权限
或在查询分析器中sp_helpextendedprocxp_cmdshell
查看:
记录xp_cmdshell的权限。
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
Xp_cmdshell权限分配不当
脆弱性编号
DB-SQL-09
脆弱性说明
在默认情况下,只有sysadmin角色的成员能够执行xp_cmdshell。
不要将执行xp_cmdshell的权限授予sysadmin角色成员以外的用户。
因为该存储过程允许执行操作系统命令。
严重程度
很高
加固方法
在企业管理器--数据库--扩展存储过程--右键--所有任务--管理权限中设置Xp_cmdshell的权限。
实施风险
无可预见风险。
备注
7.检查跨数据库所有权链接
审计项编号
DAT-DB-SQL-07
审计项名称
检查跨数据库所有权链接
审计项描述
检查并记录是否禁用了跨数据库所有权链接。
在进行跨服务器访问对象时,如果开启了“跨数据库所有权链”,对于同一个所有者的对象,不在被调用对象的数据库中检查调用者的权限!
(只在调用对象的数据库中检查调用者对该对象的权限)。
审计步骤
执行:
SQLServer右键属性=>安全选项中的“所有权链接:
”“允许跨数据库所有权链接”
适用版本:
审计项结果
应禁用“允许跨数据库所有权链接”
关联脆弱性
脆弱性名称
启用了跨数据库所有权链接
脆弱性编号
DB-SQL-17
脆弱性说明
如果不需要,尽可能避免使用跨数据库所有权链接,否则将导致权限管理的复杂。
严重程度
中
加固方法
右<服务器>,单击以选择“属性”单击“安全性”,在“允许跨数据库所有权链接所有权链接”中的对号去掉,单击“确定”。
实施风险
可能需要重新启动SqlServer服务。
备注
8.检查程序文件的权限
审计项编号
DAT-DB-SQL-08
主机安全:
访问控制
a) 应启用访问控制功能,依据安全策略控制用户对资源的访问
审计项名称
检查程序文件的权限
审计项描述
检查程序文件的权限
审计步骤
执行:
在\ProgramFiles\MicrosoftSQLServer\Mssql\Binn文件夹中
右键,属性查看权限。
询问:
数据库管理员对程序文件的权限设置。
适用版本:
ALL
审计项结果
关联脆弱性
脆弱性名称
程序文件权限设置不当
脆弱性编号
DB-SQL-18
脆弱性说明
sqlserver在操作系统中的程序文件权限设置不当,有可能被恶意利用,存在一定安全风险。
严重程度
中
加固方法
在\ProgramFiles\MicrosoftSQLServer\Mssql\Binn文件夹中,右键,属性,修改权限。
实施风险
无可预见风险。
备注
9.检查数据文件的权限
审计项编号
DAT-DB-SQL-09
主机安全:
访问控制
a) 应启用访问控制功能,依据安全策略控制用户对资源的访问
审计项名称
检查数据文件的权限
审计项描述
检查数据文件的权限
审计步骤
执行:
在\ProgramFiles\MicrosoftSQLServer\Mssql\Data文件夹中
右键,属性查看权限。
询问:
数据库管理员对数据文件的权限设置。
适用版本:
ALL
审计项结果
关联脆弱性
脆弱性名称
数据文件权限设置不当
脆弱性编号
DB-SQL-19
脆弱性说明
sqlserver在操作系统中的程序文件权限设置不当,有可能被恶意利用,存在一定安全风险。
严重程度
中
加固方法
在\ProgramFiles\MicrosoftSQLServer\Mssql\Data文件夹中,右键,属性,修改权限。
实施风险
无可预见风险。
备注
10.数据库系统sa用户的身份鉴别
审计项编号
DAT-DB-SQL-10
审计项名称
数据库系统sa用户的身份鉴别
审计项描述
数据库系统用户的身份鉴别信息应具有不易被冒用的特点,例如口令长度、复杂性和定期更新等。
审计步骤
执行:
在master库中,select*fromsysloginswherepasswordisnull,查看有无空口令用户。
询问:
数据库管理员
1)询问是否在安装时立刻修改sa口令。
2)询问口令的管理要求(口令的长度,口令复杂性,口令更新周期)。
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
SA弱口令
脆弱性编号
DB-SQL-04
脆弱性说明
sqlserver数据库系统安装后,自动创建一个叫做SA的数据库管理员用户,当具有全部系统权限,一旦该用户使用空口令或弱口令,任何人都可以通过该用户完全操作数据库系统。
严重程度
很高
加固方法
在"开始"菜单中,指向"程序",接着指向"MicrosoftSQLServer",然后单击"SQLServer企业管理器",“安全性”“登录”点sa属性,更改sa密码。
实施风险
如不能及时通知管理员新密码,可能造成临时无法管理数据库。
备注
11.应严格限制默认用户的访问权限
审计项编号
DAT-DB-SQL-11
主机安全:
访问控制
c) 应限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令
审计项名称
应严格限制默认用户的访问权限。
审计项描述
应严格限制默认用户的访问权限。
审计步骤
查看:
1)查看是否对sa帐户的权限进行了限制,是否加强了sa的口令强度。
2)查看其它用户的口令强度,是否存在弱口令。
2)查看public的权限,是否严格限制public的权限。
EXECsp_helpuser‘public'
3)查看是否有guest帐户,是否严格限制guest的权限。
适用版本:
ALL
审计项结果
关联脆弱性
脆弱性名称
SA弱口令
脆弱性编号
DB-SQL-04
脆弱性说明
sqlserver数据库系统安装后,自动创建一个叫做SA的数据库管理员用户,当具有全部系统权限,一旦该用户使用空口令或弱口令,任何人都可以通过该用户完全操作数据库系统。
严重程度
很高
加固方法
在"开始"菜单中,指向"程序",接着指向"MicrosoftSQLServer",然后单击"SQLServer企业管理器",“安全性”“登录”点sa属性,更改sa密码。
实施风险
如不能及时通知管理员新密码,可能造成临时无法管理数据库。
备注
关联脆弱性
脆弱性名称
PUBLIC角色不适当权限
脆弱性编号
DB-SQL-15
脆弱性说明
PUBLIC是一个公用角色,它的权限过大将导致数据库所有用户授权过大,有可能出现安全问题。
严重程度
高
加固方法
在"开始"菜单中,指向"程序",接着指向"MicrosoftSQLServer",然后单击"SQLServer企业管理器",“安全性”“服务器角色”点相应的角色,属性,修改权限。
实施风险
如不能及时通知新密码,可能造成临时无法是用数据库。
备注
12.检查SQLServer调试账户
审计项编号
DAT-DB-SQL-12
主机安全:
访问控制
d) 应及时删除多余的、过期的帐户,避免共享帐户的存在
审计项名称
检查SQLServer调试账户
审计项描述
检查并记录操作系统中是否存在SQLServer调试账户。
审计步骤
执行:
在开始-控制面板-管理工具-计算机管理-本地用户管理-组-Users
查看:
是否存在sqldebugger帐户。
适用版本:
SQLServer2000
审计项结果
不存在sqldebugger。
关联脆弱性
脆弱性名称
未删除调试账号
脆弱性编号
DB-SQL-07
脆弱性说明
在SQLServer2000sp3安装过程中,缺省创建了sqldebugger帐号,该默认帐号可能被恶意利用,存在安全隐患。
严重程度
低
加固方法
在开始-控制面板-管理工具-计算机管理-本地用户管理-组-Users,删除sqldebugger。
实施风险
无可预见风险。
备注
13.应依据安全策略控制主体对客体的访问
审计项编号
DAT-DB-SQL-13
主机安全:
访问控制
e) 应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限
审计项名称
应依据安全策略控制主体对客体的访问
审计项描述
应依据安全策略控制主体对客体的访问。
审计步骤
询问:
数据库管理员
询问数据库的身份鉴别方式,是否使用其他鉴别技术。
执行:
SQLServerEnterpriseManager-〉安全性管理
查看:
查看系统管理员是否为每个登录用户分配并限制了服务器角色、数据库访问权限和数据库角色。
是否禁止访问系统表syscomments。
适用版本:
SQLServer2000
审计项结果
记录角色设置情况。
关联脆弱性
脆弱性名称
用户没有分组
脆弱性编号
DB-SQL-10
脆弱性说明
没有将用户汇集到SQLServer角色或Windows组中,导致权限管理复杂,可能造成不恰当授权。
严重程度
低
加固方法
SQLServerEnterpriseManager-〉安全性,登录,在右边设置相应角色。
实施风险
如果角色设置不当,可能造成某些用户无法访问其数据库。
备注
14.权限分离
审计项编号
DAT-DB-SQL-14
主机安全:
访问控制
e) 应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限
审计项名称
权限分离
审计项描述
权限分离应采用最小授权原则,分别授予不同用户各自为完成自己承担任务所需的最小权限,并在他们之间形成相互制约的关系。
审计步骤
询问:
询问系统管理员数据库系统是否有系统管理员、安全管理员、安全审计员,如果有,则可查看这些用户的权限。
适用版本:
ALL
审计项结果
分别具有系统管理员、安全管理员、安全审计员。
关联脆弱性
脆弱性名称
未采用最小权限分离策略
脆弱性编号
DB-SQL-14
脆弱性说明
没有采用最小授权原则,可能造成对信息系统安全管理的职责权限不明确,或不能形成相互制约关系。
严重程度
中
加固方法
实施风险
备注
15.检查安装日志文件
审计项编号
DAT-DB-SQL-15
审计项名称
检查安装日志文件
审计项描述
检查并记录是否删除了数据库安装时生成的日志文件sqlstp.log、sqlsp.log和setup.iss。
审计步骤
执行:
对于默认安装,查看:
\Program Files\MicrosoftSQLServer\MSSQL\Install文件夹中;命名实例查看:
\Program Files\Microsoft SQL Server\ MSSQL$<实例名称>\Install文件夹。
适用版本:
SQLServer2000
审计项结果
已删除日志文件。
关联脆弱性
脆弱性名称
没有删除安装日志文件
脆弱性编号
DB-SQL-23
脆弱性说明
数据库安装时,默认生成了安装日志文件,包含敏感信息,可能被攻击者获取并利用。
严重程度
中
加固方法
在:
\Program Files\MicrosoftSQLServer\MSSQL\Install文件夹中或:
\Program Files\Microsoft SQL Server\ MSSQL$<实例名称>\Install文件夹中删除sqlstp.log、sqlsp.log和setup.iss。
实施风险
无可预见风险。
备注
16.安全审计范围
审计项编号
DAT-DB-SQL-16
主机安全:
安全审计
a) 审计范围应覆盖到服务器上的每个操作系统用户和数据库用户
审计项名称
安全审计范围
审计项描述
安全审计应覆盖到服务器和客户端上的每个操作系统用户和数据库用户。
审计步骤
查看:
1)查看每个注册的“审核级别”是否为“全部”。
数据库右键-安全性-审计级别
2)用不同的用户登录数据库系统并进行不同的操作,
在SQLServer数据库中查看日志记录。
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
没有开启审计
脆弱性编号
DB-SQL-21
脆弱性说明
sqlserver可以设置对不同级别事件的审计功能,未启用事件审计将无法记录安全事件。
严重程度
高
加固方法
数据库右键-安全性-审计级别-选“全部”。
实施风险
无可预见风险。
备注
17.SQLServer数据库是否安装最新的补丁
审计项编号
DAT-DB-SQL-17
主机安全:
入侵防范
a)操作系统应遵循最小安装的原则,仅安装需要的组件和应用程序,并通过设置升级服务器等方式保持系统补丁及时得到更新
审计项名称
SQLServer数据库是否安装最新的补丁
审计项描述
检查SQLServer数据库是否安装最新的补丁。
审计步骤
执行:
1)查看SQLServer版本信息
selectserverproperty('Edition')
selectserverproperty('ProductLevel')
2)查看SQLServer是否打补丁,及补丁的版本
Select@@Version
或者
SELECTSERVERPROPERTY('ProductVersion')
查看:
版本及补丁信息
询问:
数据库管理员
适用版本:
SQLServer2000
审计项结果
关联脆弱性
脆弱性名称
未安装最新补丁
脆弱性编号
DB-SQL-01
脆弱性说明
数据库没有更新最新的安全补丁,存在许多已知安全漏洞,可能被攻击者利用,危害数据库及其存储数据的安全。
严重程度
高
加固方法
查看
实施风险
更新安全补丁可能影响数据库系统的运行情况,使得数据丢失,或者影响数据库系统的稳定运行,建议在安装安全补丁之前,对数据库系统的数据及配置文件进行完全备份,然后安装安全补丁或者升级数据库系统版本。
备注
18.系统启用不需要的服务
审计项编号
DAT-DB-SQL-18
审计项名称
系统启用不需要的服务
审计项描述
检查并记录SQLServer开启的相关辅助服务。
审计步骤
执行:
开始