sqlserver数据库安全配置规范.docx

上传人:b****3 文档编号:5454274 上传时间:2022-12-16 格式:DOCX 页数:5 大小:18.62KB
下载 相关 举报
sqlserver数据库安全配置规范.docx_第1页
第1页 / 共5页
sqlserver数据库安全配置规范.docx_第2页
第2页 / 共5页
sqlserver数据库安全配置规范.docx_第3页
第3页 / 共5页
sqlserver数据库安全配置规范.docx_第4页
第4页 / 共5页
sqlserver数据库安全配置规范.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

sqlserver数据库安全配置规范.docx

《sqlserver数据库安全配置规范.docx》由会员分享,可在线阅读,更多相关《sqlserver数据库安全配置规范.docx(5页珍藏版)》请在冰豆网上搜索。

sqlserver数据库安全配置规范.docx

sqlserver数据库安全配置规范

竭诚为您提供优质文档/双击可除

sqlserver数据库安全配置规范

  篇一:

sqlserver2000的安全配置

  sqlserver2000的安全配置

  sqlserver2000的安全配置在进行sqlserver2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。

然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对asp、php等脚本,这是很多基于数据库的web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似,‘;@/等字符,防止破坏者构造恶意的sql语句。

接着,安装sqlserver2000后请打上补丁sp1以及最新的sp2。

  下载地址是:

/sql/downloads/2000/sp1.asp

  和/sql/downloads/2000/sp2.asp

  在做完上面三步基础之后,我们再来讨论sqlserver的安全配置。

  1、使用安全的密码策略

  我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。

对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。

健壮的密码是安全的第一步!

sqlserver2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。

这比以前的版本有所改进。

同时养成定期修改密码的好习惯。

数据库管理员应该定期查看是否有不符合密码要求的帐号。

  比如使用下面的sql语句:

  usemaster

  selectname,passwordfromsysloginswherepasswordisnull

  2、使用安全的帐号策略

  由于sqlserver不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到sqlserver实例(例如,当其它系统管理员不可用或忘记了密码)时才使用sa。

建议数据库管理员新建立个拥有与sa一样权限的超级用户来管理数据库。

安全的帐号策略还包括不要让管理员权限的帐号泛滥。

  sqlserver的认证模式有windows身份认证和混合身份认证两种。

如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“builtin\administrators”删除。

不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。

很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。

比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。

  3、加强数据库日志的记录

  审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。

请定期查看sqlserver日志检查是否有可疑的登录事件发生,或者使用dos命令。

findstr/c:

"登录"d:

\microsoftsqlserver\mssql\log\*.*

  4、管理扩展存储过程

  对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。

其实在多数应用中根本用不到多少系统的存储过程,而sqlserver的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。

如果你不需要扩展存储过程xp_cmdshell请把它去掉。

使用这个sql语句:

  usemaster

  sp_dropextendedprocxp_cmdshell

  xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。

如果你需要这个存储过程,请用这个语句也可以恢复过来。

  sp_addextendedprocxp_cmdshell,xpsql70.dll

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

  这些过程包括如下:

  sp_oacreatesp_oadestroysp_oageterrorinfosp_oagetproperty

  sp_oamethodsp_oasetpropertysp_oastop

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

  xp_regaddmultistringxp_regdeletekeyxp_regdeletevalue

  xp_regenumvaluesxp_regreadxp_regremovemultistring

  xp_regwrite

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

在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。

  5、使用协议加密

  sqlserver2000使用的tabulardatastream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。

能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。

所以,在条件容许情况下,最好使用ssl来加密协议,当然,你需要一个证书来支持。

  6、不要让人随便探测到你的tcp/ip端口

  默认情况下,sqlserver使用1433端口监听,很多人都说sqlserver配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。

可惜,通过微软未公开的1434端口的udp探测可以很容易知道sqlserver使用的什么tcp/ip端口了。

不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。

在实例属性中选择tcp/ip协议的属性。

选择隐藏sqlserver实例。

如果隐藏了sqlserver实例,则将禁止对试图枚举网络上现有的sqlserver实例的客户端所发出的广播作出响应。

这样,别人就不能用1434来探测你的tcp/ip端口了(除非用portscan)。

  7、修改tcp/ip使用的端口

  请在上一步配置的基础上,更改原默认的1433端口。

在实例属性中选择网络配置中的tcp/ip协议的属性,将tcp/ip使用的默认端口变为其他端口.

  9、拒绝来自1434端口的探测

  由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到dos攻击让数据库服务器的cpu负荷增大,所以对windows2000操作系统来说,在ipsec过滤拒绝掉1434端口的udp通讯,可以尽可能地隐藏你的sqlserver。

  10、对网络连接进行ip限制

  sqlserver2000数据库系统本身没有提供网络连接的安全解决办法,但是windows2000提供了这样的安全机制。

使用操作系统自己的ipsec可以实现ip数据包的安全性。

请对ip连接进行限制,只保证自己的ip能够访问,也拒绝其他ip进行的端口连接,把来自网络上的安全威胁进行有效的控制。

关于ipsec的使用请参看:

/china/technet/security/ipsecloc.asp

  上面主要介绍的一些sqlserver的安全配置,经过以上的配置,可以让sqlserver本身具备足够的安全防范能力。

当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。

  篇二:

sqlserver20xx安全配置

  mssqlseRVeR20xx安全设置

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

  超级用户名修改或删除

  usemaster

  alteRlogin[sa]withname=[zxs]/*修改sa帐号*//*zxs为计算机名*/sp_password111111,123456,sa/*修改sa密码*/

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

  使用安全的帐号策略。

对sa或等同用户进行最强的保护,当然,包括使用一个非常强壮的密码,如下图

  这里可以看到sql20xx比sql2000增强的地方了。

  2、sql的认证有windows身份认证和混合身份认证。

  sql的认证有windows身份认证和混合身份认证。

在20xx中,登陆sql可以使用indows身份认证和混合身份认证方便,如果不希望系统管理员接触数据库的话,可以在安全性==

  登录名是把系统帐号“builtin\administrators”删除。

当然,还有别的多余的帐号也可一同禁止,只需要在帐号==属性==状态中把是否允许连接到数据库引擎改为拒绝,还有登录改为禁用即可,不过这样的坏处就是当你忘了sa的密码时,我也没办法帮你啦。

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

  3、管理扩展存储过程

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

如果你不需要扩展存储过程xp_cmdshell请把它去掉。

xp_cmdshell根本就是一个大后门。

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

  sp_oacreatesp_oadestroysp_oageterrorinfosp_oagetproperty

  sp_oamethodsp_oasetpropertysp_oastop

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

  xp_regaddmultistringxp_regdeletekeyxp_regdeletevaluexp_regenumvaluesxp_regreadxp_regremovemultistringxp_regwrite

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

  在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。

运行以下sql语句可删除所有危险的sp。

  dRoppRoceduResp_makewebtask

  execmaster..sp_dropextendedprocxp_cmdshell/*命令行*/

  execmaster..sp_dropextendedprocxp_dirtree/*可以展开你需要了解的目录,获得所有目录深度*/

  execmaster..sp_dropextendedprocxp_fileexist/*用来确定一个文件是否存在*/execmaster..sp_dropextendedprocxp_getnetname/*可以获得服务器名称*/execmaster..sp_dropextendedprocxp_terminate_process

  execmaster..sp_dropextendedprocsp_oamethod

  execmaster..sp_dropextendedprocsp_oacreate

  execmaster..sp_dropextendedprocxp_regaddmultistring

  execmaster..sp_dropextendedprocxp_regdeletekey

  execmaster..sp_dropextendedprocxp_regdeletevalue

  execmaster..sp_dropextendedprocxp_regenumkeys

  execmaster..sp_dropextendedprocxp_regenumvalues

  execmaster..sp_dropextendedprocsp_add_job

  execmaster..sp_dropextendedprocsp_addtask

  execmaster..sp_dropextendedprocxp_regread

  execmaster..sp_dropextendedp  

rocxp_regwrite

  execmaster..sp_dropextendedprocxp_readwebtask

  execmaster..sp_dropextendedprocxp_makewebtask

  execmaster..sp_dropextendedprocxp_regremovemultistring

  execmaster..sp_dropextendedprocsp_oacreate

  dRoppRoceduResp_addextendedproc

  5、sqlserver20xx本身就具有加密功能,完全集成了一个密钥管理架构。

不过,最好远程网络连接时使用ssl来加密协议,这就需要一个证书来支持。

这里搜索一下就会有很多这方面的说明,就不多说了。

  6、使用ipsec策略阻止所有地址访问本机的tcp1433与udp1434端口,也可对

  tcp1433端口进行修改,但是在sql20xx中,可以使用tcp动态端口,(在sqlserverconfigurationmanager的sql20xx网络配置中)如下图

  这是sql帮助中的说明

  如果某个sqlserver实例已配置为侦听动态端口,则在启动时,该实例将检查操作系统中的可用端口,并为该端口打开一个端点。

传入连接必须指定要连接的端口号。

由于每次启

  动sqlserver时端口号都可能会改变,因此sqlserver提供sqlserver浏览器服务器,来监视端口并将传入连接指向该实例的当前端口。

  也可对每个ip进行侦听

  这是sql帮助中的说明

  指定sqlserver是否侦听所有绑定到计算机网卡的ip地址。

如果设置为“否”,则使用每个ip地址各自的属性对话框对各个ip地址进行配置。

如果设置为“是”,则ipall属性框的设置将应用于所有ip地址。

默认值为“是”。

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

  关闭远程链接命令行为

  execsys.sp_configurenremoteaccess,n0

  

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1