SQL Server 2008安全加固手册
1.身份鉴别
1.1避免使用空密码和弱口令
要求:应对登录操作系统和数据库系统的用户进行身份标识和鉴别。
目的:操作系统和数据库系统管理用户身份鉴别信息应具有不易被冒用的特点,口令应有复杂度要求并定期更换。
参考操作步骤:
对用户的属性进行安全检查,包括空密码、密码更新时间等。修改目前所有账号的口令,确保口令达到至少12位长度,包括数字、字母、符号混排,无规律的方式。
打开SQL Server Management Studio管理界面,在左侧展开“登录名”,对 sa和其它登录名逐一右键点击查看属性,勾选“强制实施密码策略”。

1.2通讯协议加密
要求:当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听。
目的:为了防止包括鉴别信息等敏感信息在网络传输过程中被窃听,应使用加密通讯协议,提高安全性。
参考操作步骤:
SQL Server配置管理器>>SQL Server网络配置>>MSSQLSERVER的协议,右键点击>>属性>>标志
把“强行加密”(ForceEncryption)设为“是”。

2.访问控制
2.1数据库角色分配最低权限
要求:应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限。
目的:根据用户的业务需要,配置其所需的最小权限。
参考操作步骤:
在“SQL Server管理器”>>“安全性”中,选中每个登陆用户,在右键菜单中选择“属性”,查看每个登陆用户的角色和权限,查看是否是该用户所需的最小权限。
1、更改数据库属性,取消业务数据库帐号不需要的服务器角色;
2、更改数据库属性,取消业务数据库帐号不需要的“数据库访问许可”和“数据库角色中允许”中不需要的角色。

2.2限制guest账户对数据库的访问
目的:取消guest账户对master和tempdb之外的数据库的访问权限。
参考配置操作:
方法一:打SQL Server管理界面,在左侧展开除了master和tempdb之外的所有数据库>>安全性>>用户,删除guest账户。
方法二:用命令去除guest账户对指定数据库的访问权限:
use 数据库名
exec sp_revokedbaccess guest

2.3设置身份认证
要求:应实现操作系统和数据库系统特权用户的权限分离。
目的:防止操作系统用户对SQL Server数据库进行非授权管理。
参考配置操作:
1.展开服务器组,右键单击服务器->在弹出的右键菜单中单击“属性”,在“安全性”选项卡中选择“服务器身份验证”认证方式为“SQL Server和Windows身份验证模式”。
2.在“SQL Server管理器”-〉“安全性”中,选择账号“BUILTIN\Administrators”,右击选择“属性”,更改“状态”设置“拒绝允许连接到数据库引擎”和“禁用登录”。


2.4删除或锁定多余账号
要求:应及时删除多余的、过期的账户,避免共享账户的存在。
目的:删除系统不需要的帐号,减少系统安全隐患。
参考配置操作:
SQL Server管理器->安全性->登录,询问数据库管理员每个账户的用途,查看是否存在多余的、过期的账户,点右键可选择删除。
3.安全审计
3.1启用日志记录功能
要求:审计范围应覆盖到服务器和重要客户端上的每个操作系统用户和数据库用户。
目的:数据库应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP 地址。
参考配置操作:
1、在“SQL Server管理器”->右键单击服务器->单击“属性”->“安全性”,选择每个登录的“审核级别”为“失败和成功的登录”。
2、询问数据库管理员,是否采取第三方工具或其他措施增强SQL Server的日志功能,如果有则查看这些工具记录的审计记录是否符合等级保护的安全审计要求。

3.2设置日志目录权限
目的:限制日志所在目录的权限,防止对日志文件的非授权访问。

4.资源控制
4.1设置连接协议和监听的IP范围
要求:应通过设定终端接入方式、网络地址范围等条件限制终端登录。
目的:设定SQL Server允许的连接协议,以及TCP/IP协议中监听端口时绑定的IP地址。限制不必要的远程客户端访问到数据库资源。
参考配置操作:
1、 从开始菜单打开SQL Server配置管理器,展开“SQL SERVER 2008网络配置>>SQL SERVER的协议,在右侧将不需要的协议禁用,如:VIA和Share Memory方式可能一般不需要使用。
在以上界面双击“TCP/IP”协议>>IP地址,如有不必要监听的IP项,则把“活动”属性设置为“否”。如:访问数据库的应用程序也装在该服务器上,则只需要监听127.0.0.1即可,其它IP不需要监听。在应用程序中配置为使用127.0.0.1访问数据库。

4.2连接超时
要求:应根据安全策略设置登录终端的操作超时锁定。
目的:设置连接超时功能,提高数据库的性能。
参考配置操作:
1.从开始菜单打开SQL Server管理界面,再展开菜单栏的“工具”>>“选项”>>“设计器”>>“Analysis Services设计器”,在“连接”下的“连接超时值”输入合适的数字(默认值15)。
2.在SQL Server管理界面左侧,右键点击服务器名称>>属性>>高级,在右侧找到“远程登录超时值”,设置为合适的数字,
选项—连接属性—将连接超时值设置为一个较大的数字(默认值20)。

4.3限制远程用户连接数量
要求:应限制单个用户对系统资源的最大或最小使用限度。
目的:限制远程用户连接数量,确保数据库服务器稳定运行,提升性能。
参考配置操作:
在SQL Server管理界面左侧,右键点击服务器名称>>属性>>连接,设置“并发最大连接数”,如2500。

4.4内存限制
目的:使运行在服务器上的应用程序都能达到比较满意的效果,同时也为了能给其他应用程序保留足够的内存。
参考配置操作:
在SQL Server管理界面左侧,右键点击服务器名称>>属性>>内存,设置最小值和最大值在一个范围段内,如我们将它设置成最小0MB,最大为物理内存的80%左右。

5.最佳经验实践
5.1隐藏实例
目的:防止数据库系统的相关信息泄露。
参考配置操作:
在SQL Server配置管理器中选择“SQL Server 2005网络配置”中的“MSSQLSERVER的协议”,右键选择“属性”,选中其中的“隐藏实例”选项。

5.2修改默认通信端口
目的:修改默认通信端口,防止黑客通过1433登录数据库服务器。
参考配置操作:
在SQL Server配置管理器中选择“SQL Server 2005网络配置”中的“MSSQLSERVER的协议”,选中“TCP/IP”,右键选择“属性”,在TCP/IP属性对话框,选择“IP地址”选项卡,修改所有“TCP端口”右边的文本栏为新的要修改的端口号(默认端口号为1433),然后重启SQL Server生效。

SQL Server 2008安全加固手册的更多相关文章
- SQL Server 2008 R2——使用计算列为表创建自定义的自增列
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- 通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...
- SQL Server 2008 R2——T-SQL 存储过程 返回表
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- SQL Server 2008 R2——学习/练习/错误/总结/搜集
==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...
- sql server 2008数据复制
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...
- 【转】通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...
- 利用SQL Server 2008 R2创建自动备份计划
本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...
- SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...
- Microsoft SQL Server 2008 R2 安装卸载
问题 问题1 标题: Microsoft SQL Server 2008 R2 安装程序 ------------------------------ 出现以下错误: Could not open k ...
随机推荐
- opencv笔记--Active contours
Active Contours 也称作 Snake,通过定义封闭区域曲线的能量函数,并使其最小化得到最终曲线. Active Contours 被用作物体边界精确定位上,opencv 给出了一个实现, ...
- Elasticsearch 7.12 启用 x-pack 组件
文章目录 修改配置文件 设置密码 使用密码 首先,你要有一套es,关于es的部署,可以看我的另一篇博客 ELK-EFK-v7.12.0日志平台部署 $ ./bin/elasticsearch-plug ...
- Anchor-free目标检测综述 -- Keypoint-based篇
早期目标检测研究以anchor-based为主,设定初始anchor,预测anchor的修正值,分为two-stage目标检测与one-stage目标检测,分别以Faster R-CNN和SSD作 ...
- 记一次 .NET 某供应链WEB网站 CPU 爆高事故分析
一:背景 1. 讲故事 年前有位朋友加微信求助,说他的程序出现了偶发性CPU爆高,寻求如何解决,截图如下: 我建议朋友用 procdump 在 cpu 高的时候连抓两个dump,这样分析起来比较稳健, ...
- Spring cloud是什么? 核心总结
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量. S ...
- 施耐德NOE77101后门漏洞分析
固件下载地址: GitHub - ameng929/NOE77101_Firmware 文件目录结构,这里只列出了一些主要的文件信息: ├── bin ├── ftp ├── fw ├── rdt ├ ...
- 想上BI系统,原来的Excel优秀模板都丢弃吗?
我们公司之前一直都用Excel来存储数据,展示数据,Excel本身拥有强大的公式可以帮助我们的数据进行再加工计算,Excel的图形我们可以可以直接拿来展示数据,Excel本身还有数据透视表帮助我们的分 ...
- .net 底层运行机制
1. CLR C#.NET 平台下,代码是怎么运行的 源代码-->托管模块-->程序集-JIT->编程CPU指令 1.1 在.NET框架下,首先将源代码编 ...
- string 字符串的操作 大全类的使用
Array.Sort(vv, string.CompareOrdinal); //ASCII排序 string[] words = { "The", "1quick&qu ...
- 磁盘管理及shell脚本编程练习
转至:http://www.178linux.com/88405 1.创建一个10G分区,并格式为ext4文件系统 a) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂 ...