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安全加固手册的更多相关文章

  1. SQL Server 2008 R2——使用计算列为表创建自定义的自增列

    =================================版权声明================================= 版权声明:原创文章 谢绝转载  请通过右侧公告中的“联系邮 ...

  2. 通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...

  3. SQL Server 2008 R2——T-SQL 存储过程 返回表

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  4. SQL Server 2008 R2——学习/练习/错误/总结/搜集

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  5. sql server 2008数据复制

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...

  6. 【转】通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...

  7. 利用SQL Server 2008 R2创建自动备份计划

    本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...

  8. SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法

    不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...

  9. Microsoft SQL Server 2008 R2 安装卸载

    问题 问题1 标题: Microsoft SQL Server 2008 R2 安装程序 ------------------------------ 出现以下错误: Could not open k ...

随机推荐

  1. Java中eq、ne、ge、gt、le、lt的含义

    Java中eq.ne.ge.gt.le.lt 关系运算符包括EQ.NE.GE.GT.LE.LT几个,关系运算符返回的是真"True"或假"False". eq( ...

  2. 手把手带你基于嵌入式Linux移植samba服务

    摘要:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 本文分享自华为云社区<嵌入式Linux下移植samba服务--<基于北斗和4G ca ...

  3. 继承及属性查找+super()和mro()+多态

    继承及属性查找+super()和mro()+多态 一. ★继承 1. 什么是继承? 继承就是新建类的一种方式,新建的类我们称为子类或者叫派生类,被继承的类我们称为父类或者基类 子类可以使用父类中的属性 ...

  4. linux中可以查看端口占用的方法

    在自己搭建的服务器中,经常容易出现端口被占用的问题,那么怎么知道自己的端口是否被占用了呢? 可以使用下面的方法: linux中可以查看端口占用的方法. netstat -ant | grep 80 ( ...

  5. 《PHP程序员面试笔试宝典》——如何进行自我介绍?

    本文摘自<PHP程序员面试笔试宝典> PHP面试技巧分享,PHP面试题,PHP宝典尽在"琉忆编程库". 自我介绍是面试中至关重要的一个步骤,很多面试官对求职者提出的第一 ...

  6. 《PHP程序员面试笔试宝典》——什么是职场暗语?

    本文摘自<PHP程序员面试笔试宝典> 文末有该书电子版下载. 随着求职大势的变迁发展,以往常规的面试套路因为过于单调.简明,已经被众多"面试达人"们挖掘出了各种&quo ...

  7. Solution -「HNOI 2007」「洛谷 P3185」分裂游戏

    \(\mathcal{Description}\)   Link.   给定 \(n\) 堆石子,数量为 \(\{a_n\}\),双人博弈,每轮操作选定 \(i<j\le k\),使 \(a_i ...

  8. flag_in_your_hand1

    给了两个 文件 index.html 和 一个js文件 ,考察js代码审计能力首先借助浏览器来运行js 程序.用浏览器打开index.html,分析 js 代码: 首先无论在 token 输入框中输入 ...

  9. 华为模拟器 AP AC配置

    组网示意图: 前提条件:1)所有设备工作正常2)依据上述组网建立测试环境 1)正确配置AC使AP发放SSID:'SSID-Temp1'.'SSID-Temp2'和'SSID-Temp3',且对应业务v ...

  10. [旧][Android] 消息处理机制

    备注 原发表于2016.06.06,资料已过时,仅作备份,谨慎参考 概述 Android 的消息处理机制主要是指 Handler 的运行机制以及 Handler 所附带的 MessageQueue 和 ...