数据库安全配置手册MSNChinaR&DVersionAuthorDateDescription.V1.0JoeZhu2011/12/26初稿V1.1GenhuaHe2011/12/27修订稿V1.2GenhuaHe2012/1/12再订稿MSNChina数据库安全策略与规范Confidential第1页共33页目录1概述...........................................................................31.1文档目的.......................................................................................31.2预期读者.......................................................................................31.3术语和缩写...................................................................................31.4参考资料.......................................................................................31.5申明..............................................................................................32安全策略....................................................................32.1MSSQLServer启动账号.............................................................32.2生产数据库的安全部署策略..........................................................42.3禁用linkedserver.........................................................................72.4禁用xp_cmdshell.........................................................................72.5扩展存储过程权限管理.................................................................82.6自动存储过程的管理...................................................................132.7数据库用户密码设定及管理策略.................................................142.8Lockpageinmemory权限的设定..............................................142.9开启AWE...................................................................................152.10采用Windows授权的认证模式...............................................162.11限制systemadministrators.....................................................162.12审计登录..................................................................................162.13安装64位版本SQL................................................................172.14安装的SQLServer组件..........................................................17MSNChina数据库安全策略与规范Confidential第2页共33页2.15数据库用户的命名规则............................................................172.16禁用sa账号............................................................................172.17关闭remoteaccess.................................................................202.18安装之后的配置选项和设置(SQLServer2008).......................212.19关闭除TCP/IP之外的其他通信协议........................................222.20为命名实例指定静态通信端口.................................................232.21应用程序account的管理.........................................................232.22ServicePack和安全修补程序.................................................252.23禁止分布式查询.......................................................................252.24处理代码异常..........................................................................252.25及时安装补丁..........................................................................252.26生产数据库的访问策略............................................................252.27应用程序权限的授予................................................................262.28备份的集中管理.......................................................................262.29测试及开发数据库的备份.........................................................262.30SQL代码中的安全..................................................................262.31动态SQL的使用.....................................................................272.32防止SQL注入.........................................................................282.33防止数据外泄..........................................................................283附件A.DTS和JOB管理权限变更...........................28MSNChina数据库安全策略与规范Confidential第3页共33页1概述1.1文档目的本文档描述了为加强MSSQLServer数据库安全而需要做的设置1.2预期读者1.3术语和缩写Term&AbbreviationDescription.1.4参考资料DocumentDescription.MicrosoftOnlineServicesSQLSecurityStandardsv41.5申明2安全策略2.1MSSQLServer启动账号必须是域账号;MSNChina数据库安全策略与规范Confidential第4页共33页MSSQLServer启动账号必须不是域管理员2.2生产数据库的安全部署策略不允许SQL与IIS同处同一台计算机生产数据库,必须部署在局域网内部,不允许直接连接到Internet,也不允许能够直接从Internet访问得到不允许将SQL安装在域控制器(DomainController)上必须禁用windowsguest账号SQLGuest账号只能在master数据库和tempdb数据库中出现:默认情况下,guest账号在master和tempdb中是启动的:MSNChina数据库安全策略与规范Confidential第5页共33页默认情况下,guest账号在msdb中是启动的,这个需要确认,并禁用:默认情况下,guest账号在model中是禁用的,但任然需要确认确实禁用了确认所有用户数据库中,guest账号是禁用的使用下面脚本禁用guest账号:Use[msdb]Gorevokeconnectfromguest;所有的SQL文件,包括SQL本身的文件以及数据库文件,必须被放在NTFS格式的分区上Public角色不能是securityadmin服务器角色的成员:MSNChina数据库安全策略与规范Confidential第6页共33页确保在各个数据库的db_secutiryadmin角色中没有包括public角色:MSNChina数据库安全策略与规范Confidential第7页共33页2.3禁止使用linkedserver2.4禁止使用xp_cmdshell禁用扩展存储过程xp_cmdshell:该存储过程安装后默认是禁止的,使用如下命令确认其当前状态:sp_configure'showadvancedoptions',1;GORECONFIGURE;GOsp_configure'xp_cmdshell'GORECONFIGURE;GO为了安全起见,请确保下图configure_value和run_value均为0:MSNChina数据库安全策略与规范Confidential第8页共33页2.5扩展存储过程权限管理确保systemadministrator是对以下过程唯一具有执行权限的账号:xp_regreadxp_regwritexp_regaddmultistringxp_regdeletekexp_regdeletevaluexp_regremovemultistringxp_regenumvaluesxp_regenumkeyssp_sdidebugxp_availablemediaxp_deletemailxp_dirtreexp_dropwebtaskxp_dsninfoxp_enumdsnxp_enumerrorlogsxp_enumgroupsxp_enumqueuedtasksxp_eventlogxp_findnextmsgxp_fixeddriv