SqlServer数据库安全加固.docx
《SqlServer数据库安全加固.docx》由会员分享,可在线阅读,更多相关《SqlServer数据库安全加固.docx(12页珍藏版)》请在冰豆网上搜索。
![SqlServer数据库安全加固.docx](https://file1.bdocx.com/fileroot1/2022-11/21/38421a0c-21ad-4643-8db8-2e12aa866a21/38421a0c-21ad-4643-8db8-2e12aa866a211.gif)
SqlServer数据库安全加固
SQLServer数据库安全配置基线加固操作指导书
佛山供电局信息中心
2014年4月
一.1SQLServer数据库安全基线要求
一.1.1应对登录操作系统的用户进行身份标识和鉴别
基线要求
应对登录操作系统的用户进行身份标识和鉴别。
基线标准
启用登陆功能,并进行密码验证,禁止通过操作系统直接登录。
检查方法
尝试登录数据库,应出现登陆认证画面,只能以数据库账户登录。
加固方法
控制台根目录下的SQLServer组/数据库,右建打开数据库属性,选择安全性,将安全性中的审计级别调整为“全部”,身份验证调整为“SQLServer和Windows”
SQLServer2000
SQLServer2005
一.1.2禁止用Administrator或System用户启动数据库
基线要求
禁止用Administrator或System用户启动数据库
基线标准
启用数据库用户不应是Administrator或System用户
检查方法
Mssql企业管理器->SQLServer组->(Local)(WindowsNT)-属性(右键)-安全性查看启用服务器代理用户不应为Administrator或System用户
加固方法
为SQLSERVER数据库建一个专门的操作系统用户启动数据库。
(账户需要管理员权限)
一.1.3密码策略
基线要求
对用户的属性进行安全检查,包括空密码、密码更新时间等。
修改目前所有账号的口令,确认为强口令。
特别是sa账号,需要设置至少10位的强口令
基线标准
1、启用密码强制策略
2、密码长度8位,须有大小写字母与数字
3、禁用SA账户
检查方法
1、启用密码强制策略
右击用户名->属性->常规,应勾选“强制实施密码策略”
2、密码复杂性策略参照Windows配置加固项
3、进入“SQLServer管理器->安全性->登陆名->sa(右键)->状态”,选择连接到数据库与禁用登录
加固方法
1、右击用户名->属性->常规,应勾选“强制实施密码策略”
2、口令策略的支持是基于Windows2003以上操作系统,使用操作系统本地安全策略中的密码策略,对该密码策略进行配置修改。
(可参考Windows系统安全基线加固要求中对应的配置项)
3、进入“SQLServer管理器->安全性->登陆名->sa(右键)->状态”,选择连接到数据库与禁用登录
一.1.4用户名的唯一性
基线要求
应为数据库系统的不同用户分配不同的用户名,确保用户名具有唯一性
基线标准
为每个管理员建立专门的实名制账户
检查方法
使用selectnamefromsyslogins查看用名名,不存在相同的用户名。
加固方法
为每个管理员添加专门的用户名,建议实名制。
进入“SQLServer管理器->安全性->登陆名(右键)->新建用户名”进行添加数据库用户名。
一.1.5应启用访问控制功能
基线要求
应启用访问控制功能,依据安全策略控制用户对资源的访问;
基线标准
对重要文件启用访问控制功能
检查方法
检查数据库安装、数据文件、备份等目录,windows则everyone用户没有写权限;
加固方法
将数据库安装、数据文件、备份等目录,去除everyone用户的写权限;
一.1.6管理用户的角色分配权限
基线要求
应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限;
基线标准
合理分配用户权限
检查方法
进入“SQLServer管理器->安全性->服务器角色->sysadmin(双击)”,查看sysadmin角色不包含应用账户。
加固方法
将应用账户中从sysadmin角色中删除
一.1.7实现操作系统和数据库系统特权用户的权限
基线要求
应实现操作系统和数据库系统特权用户的权限分离
基线标准
管理设有:
系统管理员,安全管理员,安全审计员等。
检查方法
访问管理员,设置数据库管理员的角色要有系统管理员,安全管理员,安全审计员等。
加固方法
添加数据库的系统管理员,安全管理员,安全审计员。
一.1.8删除多余账户
基线要求
应及时删除多余的、过期的帐户,避免共享帐户的存在;
基线标准
不存在多余账户
检查方法
进入“SQLServer管理器->安全性->登录名”,查看用户,不存在多余用户
加固方法
进入“SQLServer管理器->安全性->登录名”,查看用户,删除多余用户
一.1.9审计功能
基线要求
数据库应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP地址。
基线标准
启用日志功能
检查方法
查看SQLSERVER服务器--“管理”--SQLSERVER日志,应启用。
加固方法
进入“SQLSERVER服务器--管理--SQLSERVER日志”,选择“启用”
一.1.10审计记录要求
基线要求
审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等.
基线标准
能够记录重要用户行为,异常使用等相关事件,能够记录事件的日期,类型等信息
检查方法
C:
\ProgramFiles\MicrosoftSQLServer\90\NotificationServices\9.0.242\bin\NSservice.exe.config文件,value值应为3:
//SQLServerManagementStudio和nscontrol实用工具事件
//NS$instanceNameMicrosoftWindows服务事件
//事件提供程序事件
//EventCollector对象事件
//生成器事件
//分发服务器事件
//Vacuumer事件
//所有其他组件(如标准内容格式化程序和传递协议)的事件
//性能监视器事件
加固方法
C:
\ProgramFiles\MicrosoftSQLServer\90\NotificationServices\9.0.242\bin\NSservice.exe.config文件,value修改为3:
即记录管理组件的错误、警告和提示性事件
重新启动NotificationServices实例
一.1.11安装最新补丁
基线要求
应为数据库打最新的补丁包。
基线标准
已是最新版本
检查方法
查看sqlserver数据库版本,通过命令select@@version查看
加固方法
下载补丁或者下载最新版本重新安装数据库。
KB2494120
一.1.12删除默认安装数据库
基线要求
应对已经被利用的公开数据库漏洞进行安全防护
基线标准
分离pubs、NorthWind数据库。
检查方法
在企业管理器上,点击数据库,不应存在pubs、NorthWind数据库
加固方法
在企业管理器上,点击数据库,分别右建点击pubs和NorthWind数据库,选择
“所有任务”——“分离数据库”。
#在以上命令执行不成功时所采用的操作步骤。
一.1.13删除不必要的存储过程
基线要求
删除不必要的存储过程
基线标准
不存在多余的存储过程
检查方法
访问管理员是否存在不必要的较危险的存储过程,如:
sp_OACreate
sp_OADestroy
sp_OAGetErrorInfo
sp_OAGetProperty
sp_OAMethod
sp_OASetProperty
sp_OAStop
sp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumvalues
xp_regremovemultistring
除非应用程序需要否则以下存储过程也建议删除:
xp_perfendxp_perfmonitor
xp_perfsamplexp_perfstart
xp_readerrorlogxp_readmail
xp_revokeloginxp_runwebtask
xp_schedulersignalxp_sendmail
xp_servicecontrolxp_snmp_getstate
xp_snmp_raisetrapxp_sprintf
xp_sqlinventoryxp_sqlregister
xp_sqltracexp_sscanf
xp_startmailxp_stopmail
xp_subdirsxp_unc_to_drive
xp_dirtreesp_sdidebug
xp_availablemediaxp_cmdshellxp_deletemailxp_dirtree
xp_dropwebtaskxp_dsninfo
xp_enumdsnxp_enumerrorlogs
xp_enumgroupsxp_enumqueuedtasks
xp_eventlogxp_findnextmsg
xp_fixeddrivesxp_getfiledetails
xp_getnetnamexp_grantlogin
xp_logeventxp_loginconfig
xp_logininfoxp_makewebtask
xp_msver
加固方法
加固前系统库须备份
使用命令
usemaster
execsp_dropextendedproc"xp_cmdshell"删除