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. linux 定时删除图以及crontab介绍

    执行 sudo crontab -e 0 3 1 * * /etc/letsencrypt/certbot-auto renew --renew-hook "sudo nginx -s re ...

  2. 20161206日更新CocoaPods版本

    从网上下载的工程第三方库需要更新,但当我执行pod update时提示以下错误: [!] The `master` repo requires CocoaPods 1.0.0 -  (currentl ...

  3. 阿里云服务器ECS挂载数据盘—linux系统

    参考阿里云官网帮助文档:https://help.aliyun.com/document_detail/25426.html 里面有些步骤说的不是很清楚,初学者可能操作时会遇到问题.通过这篇文档进行进 ...

  4. 微信小程序wifi控制开发

    小程序wifi控制开发方案 ----- 由小程序通过公众号给wifi控制板进行配网,后台服务器自动生成设备名并注册在数据库中,wifi控制板自动保存生成的设备名,小程序可读取WIFI控制板的数据,控制 ...

  5. flag_in_your_hand1

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

  6. RFC2889MAC地址学习速率——网络测试仪实操

    一.简介 RFC 2889为LAN交换设备的基准测试提供了方法学,它将RFC 2544中为网络互联设备基准测试所定义的方法学扩展到了交换设备,提供了交换机转发性能(Forwarding Perform ...

  7. bi工具是什么,如何选择?

    ​商业智能使用的一套方法和技术根据解决方案的目的而广泛多样化.有些工具专注于数据准备方面,可能包括ETL(提取,转换,加载)层,以更好地组织和利用数据.有些工具专注于更广泛的企业使用,可能专注于数据混 ...

  8. mybatis和spring的xml基本配置

    mybatis 导入依赖环境 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybat ...

  9. Linux Docker虚拟机入门实战讲解

    什么是Docker? Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotCloud公司.Docker自开源后受到广泛的关注和讨论,目 前已有多个相关项目,逐渐形成了围绕 ...

  10. Redis学习笔记(详细)

    目录 概述 Redis安装启动 常用五大数据类型 Redis键(key) Redis字符串(String) Redis列表(List) Redis集合(Set) Redis哈希(Hash) Redis ...