拿到MS SQL 2005还没有一天,总的来说,MS SQL 2005的安全性比SQL 2000要强上不少,不过默认设置还是有和原来一样的漏洞,下面我们来修改一下默认设置。

  1、安装MSSQL时使用混合模式,当然SA密码最好不能为空,在SQL2005中,可以对SA这个超级用户名进行修改或删除。

  use master

  ALTER LOGIN [sa] WITH NAME=[zxs] /*修改SA帐号*/

  sp_password '111111','123456','sa' /*修改SA密码*/

  使用以上命令可修改SA帐号,也可进行图形化的修改

  使用安全的帐号策略。对SA或等同用户进行最强的保护,当然,包括使用一个非常强壮的密码,如下图

  

  这里可以看到SQL 2005比SQL 2000 增强的地方了。

  2、SQL的认证有Windows身份认证和混合身份认证。在2005中,登陆SQL可以使用indows身份认证和混合身份认证方便,如果不希望系统管理员接触数据库的话,可以在安全性==登录名是把系统帐号“BUILTIN\Administrators”删除。当然,还有别的多余的帐号也可一同禁止,只需要在帐号==属性==状态中把是否允许连接到数据库引擎改为拒绝,还有登录改为禁用即可,不过这样的坏处就是当你忘了SA的密码时,我也没办法帮你啦。

  

  也可用命令sp_change_users_login 'report' 搜索一下独立的帐户再删除

  3、管理扩展存储过程

  删除不必要的存储过程,因为有些存储过程能很容易地被人利用起来提升权限或进行破坏。

  如果你不需要扩展存储过程xp_cmdshell请把它去掉。xp_cmdshell根本就是一个大后门。

  如果不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下:

  sp_OACreate sp_OADestroy sp_OAGetErrorInfo sp_OAGetProperty

  sp_OAMethod sp_OASetProperty sp_OAStop

  去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:

  xp_regaddmultistring xp_regdeletekey xp_regdeletevalue xp_regenumvalues

  xp_regread xp_regremovemultistring xp_regwrite

  还有一些其他的扩展存储过程,你也最好检查检查。

  在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。运行以下SQL语句可删除所有危险的SP。

  DROP PROCEDURE sp_makewebtask

  exec master..sp_dropextendedproc xp_cmdshell /*命令行*/

  exec master..sp_dropextendedproc xp_dirtree /*可以展开你需要了解的目录,获得所有目录深度*/

  exec master..sp_dropextendedproc xp_fileexist /*用来确定一个文件是否存在*/

  exec master..sp_dropextendedproc xp_getnetname /*可以获得服务器名称*/

  exec master..sp_dropextendedproc xp_terminate_process

  exec master..sp_dropextendedproc sp_oamethod

  exec master..sp_dropextendedproc sp_oacreate

  exec master..sp_dropextendedproc xp_regaddmultistring

  exec master..sp_dropextendedproc xp_regdeletekey

  exec master..sp_dropextendedproc xp_regdeletevalue

  exec master..sp_dropextendedproc xp_regenumkeys

  exec master..sp_dropextendedproc xp_regenumvalues

  exec master..sp_dropextendedproc sp_add_job

  exec master..sp_dropextendedproc sp_addtask

  exec master..sp_dropextendedproc xp_regread

  exec master..sp_dropextendedproc xp_regwrite

  exec master..sp_dropextendedproc xp_readwebtask

  exec master..sp_dropextendedproc xp_makewebtask

  exec master..sp_dropextendedproc xp_regremovemultistring

  exec master..sp_dropextendedproc sp_OACreate

  DROP PROCEDURE sp_addextendedproc

  5、SQL Server 2005本身就具有加密功能,完全集成了一个密钥管理架构。不过,最好远程网络连接时使用SSL来加密协议,这就需要一个证书来支持。这里搜索一下就会有很多这方面的说明,就不多说了。

  6、使用IPSec策略阻止所有地址访问本机的TCP1433与UDP1434端口,也可对TCP1433端口进行修改,但是在SQL2005中,可以使用TCP动态端口,(在SQL Server Configuration Manager的SQL 2005网络配置中)如下图

  

  这是SQL帮助中的说明

  如果某个 SQL Server 实例已配置为侦听动态端口,则在启动时,该实例将检查操作系统中的可用端口,并为该端口打开一个端点。传入连接必须指定要连接的端口号。由于每次启动 SQL Server 时端口号都可能会改变,因此 SQL Server 提供 SQL Server 浏览器服务器,来监视端口并将传入连接指向该实例的当前端口。

  也可对每个IP进行侦听

  

  这是SQL帮助中的说明

  指定 SQL Server 是否侦听所有绑定到计算机网卡的 IP 地址。如果设置为“否”,则使用每个 IP 地址各自的属性对话框对各个 IP 地址进行配置。如果设置为“是”,则 IPAll 属性框的设置将应用于所有 IP 地址。默认值为“是”。

  当然你也可以下面的SQL Native Client 配置中新建一别名来指定你的SQL服务器和端口,也可在服务器属性==连接==远程服务器链接==把允许远程链接到本服务器的勾去掉

  关闭远程链接命令行为

  EXEC sys.sp_configure N'remote access', N'0'

  8、对远程网络连接进行IP限制,SQL Server 2005如同SQL 2000一样没有提供网络连接的安全解决办法,但是Windows 2K以上系统了提供了IPSec策略。对远程网络连接的IP进行限制,只保证需要的IP能够访问,拒绝其他 IP进行的端口连接,把安全威胁降到最低。

  9、在服务器的属性安全中,启用登录审核中的失败与成功登陆,启用C2审核跟踪,C2是一个政府安全等级,它保证系统能够保护资源并具有足够的审核能力。C2模式允许我们监视对所有数据库实体的所有访问企图。如图

  

  启用C2审核的命令为

  EXEC sys.sp_configure N'c2 audit mode', N'1'

  以上的方法不是很完整,因为时间关系以后再慢慢研究。

MSSQL 2005数据库安全设置相关推荐

  1. MS-sql 2005拒绝了对对象 'xxx' (数据库 'xxx',架构 'dbo')的 SELECT 权限的解决方法

    MS-sql 2005拒绝了对对象 'xxx' (数据库 'xxx',架构 'dbo')的 SELECT 权限的解决方法 问题:Sql server 2005 默认设置下不允许远程登陆 1 外围设置 ...

  2. MSSQL 2005 DML触发器

    MSSQL 2005 DML触发器 可以分为以下两种: after触发器--即在执行(delete.update.insert)数据库操作是触发 定义方式 --triggerName即触发器名称 cr ...

  3. MSSQL 2005数据库与SP4补丁安装

    MSSQL 2005数据库与SP4补丁安装 Sql Server 2005 正确安装之前的win7配置: http://wenku.baidu.com/link?url=6T3jzVnu2XY_sfq ...

  4. MSSQL 2005 分页分析及优化(转)

    MSSQL 2005 分页分析及优化 MSSQL 分页方式说明: 目前我所知的有以下几种方式 临时表 表变量 in, not in SET ROWCOUNT CTE id >, id < ...

  5. ASP.NET 4.0 + MSSQL 2005+MVC3开发CMS

    ASP.NET 4.0 + MSSQL 2005+MVC3开发CMS,最近接了个法律在线的单子,请了个.net高手,也是之前的大学同学,现在已经开发到一半了,但是因为种种原因,他可能不能按期完成项目, ...

  6. php drive mssql,PHP 连接 MSSQL 2005/2008 以UTF8存取 并让ADODB支持的安装设置

    时间:2009-11-9 11:14 作者:欣然随风 因系统大量使用AJAX,为避免编码转来转去的麻烦,把文件都设为了UTF8.但在操作MSSQL时遇到乱码问题,查阅一番后原来是MSSQL不支持UTF ...

  7. SQL Server 2005中设置Reporting Services发布web报表的匿名访问

    第一步:在运行IIS的Web服务器的本地访问http://localhost/reports ,这是Reporting Services的管理站点,在Properties(属性)页面下添加一个只有Br ...

  8. MSSQL 2005数据库转到SQL 2000的步骤讲解

    本篇文章由 泉州SEO www.234yp.com 整理发布,mssql是什么 www.234yp.com/Article/168205.html 谢谢合作! mssql是什么 1. 生成for200 ...

  9. 阿里云 mysql 安全设置_mysql数据库安全设置

    什么是mysql数据库安全 简单又通俗的mysql库安全简介 首先我们要了解一下什么是mysql数据库,mysql是目前网站以及APP应用上用的较多的一个开源的关系型数据库系统,可以对数据进行保存,分 ...

最新文章

  1. Hibernate 具体用法(自整理)
  2. 一个改变世界的“箱子”
  3. 安装完Oracle 11g之后启动SQL Developer 时报cannot find a j2se sdk错误的解决办法
  4. Web内核微信小程序框架实践
  5. maven环境下使用java、scala混合开发spark应用
  6. 巨型机是一种什么的超级计算机,这个世界其实是一个超级计算机
  7. css和 js 改变html里面的定位。
  8. 月薪一万在石家庄能过什么样的生活?
  9. Python 连接开放航空交通数据,轻松构建航班跟踪应用!
  10. Java 理论与实践: 您的小数点到哪里去了?
  11. EndNote自定义引用格式和参考文献格式
  12. C++五子棋人机对战
  13. 几个很实用的软件 root 改机 软改 硬改 改串号 改设备 参数生成器APK 电脑软件
  14. b站的视频如何下载到手机上
  15. 华为HCNE考试110个知识点
  16. Netty Websocket多人多房间聊天室Demo
  17. 宏基因组公共数据挖掘基因组集再发Nature
  18. 【ARM Coresight 介绍 3 - ARM Cortex-M DWT】
  19. NodeJS C++ Addons之C++类实例包装与异步操作
  20. 操作无法完成因为已经在mysqld.exe上打开_用上iPhone 11的这个功能后,今年我第一次拿到全勤奖...

热门文章

  1. 信息学奥赛一本通 1149:最长单词2 | OpenJudge NOI 1.13 16
  2. 数列分块入门 6(LibreOj-6282)
  3. 区间合并(信息学奥赛一本通-T1236)
  4. 循环比赛日程表(信息学奥赛一本通-T1325)
  5. 信息学奥赛C++语言:回型方阵
  6. 阿里达摩院python_阿里达摩院出品的735集的python教程
  7. OpenCV Mat主要用法(1)
  8. U-GAT-IT整体流程分析
  9. 一道题:给定一整数序列A1,A2,...,An(可能有负数),求A1到An的一个自序列,使得Ai到Aj的和最大。例如:整数序列-2,11,-4,13,-5,2,-5,-3,12,-9的最大子序列为21
  10. matlab算法应用论文(带代码)_左手论文 右手代码 深入理解网红算法XGBoost