❶ 简述sql Server 2000安全性管理机制
回答过一次类似的问题了,再贴给你吧
SQL Server的安全机制一般主要包括三个方面:
服务器级别的安全机制:这个级别的安全性主要通过登录帐户进行控制,要想访问一个数据库服务器,必须拥有一个登录帐户。登录帐户可以是Windows账户或组,也可以是SQL Server的登录账户。登录账户可以属于相应的服务器角色。至于角色,可以理解为权限的组合。
数据库级别的安全机制:这个级别的安全性主要通过用户帐户进行控制,要想访问一个数据库,必须拥有该数据库的一个用户账户身份。用户账户是通过登录账户进行映射的,可以属于固定的数据库角色或自定义数据库角色。
数据对象级别的安全机制:这个级别的安全性通过设置数据对象的访问权限进行控制。如果是使用图形界面管理工具,可以在表上点右键,选择属性|权限,然后在相应的权限项目上打勾就可以了。
如果是使用sql语句,可以如下:
grant select|insert|update|delete on tablename to username
deny select|insert|update|delete on tablename to username
revoke select|insert|update|delete on tablename from username
grant是赋予权限,deny是拒绝权限,revoke是撤消权限,而select|insert|update|delete是可以设置的各个权限项目。
其他方面的安全机制还包括应用程序的安全问题和网络传输的安全问题。
❷ SQL 2000的操作系统集成的安全性
Microsoft SQL Server 2000 Analysis Services为管理员和最终用户都提供了强大的安全性。管理员的安全性可以通过使用 “OLAP管理器”的 Microsoft Windows NT4.0和 Windows 2000组来控制。最终用户安全性指定了哪些最终用户可以访问数据,以及最终用户可以执行的操作类型,其中包括用户是否有读取和读/写访问权利。Microsoft SQL Server 2000 Analysis Service提供了丰富的安全性设置选项。管理员可以在不同的级别上定义最终用户安全属性,从而对安全管理进行进一步的加强。从高级到低级,这些级别包括:服务器(Analysis服务器)、数据库、多维数据集/挖掘模型、维度成员以及单元。这些丰富的不同粒度级别的安全控制使得管理员能够根据业务需求的灵活定义系统的安全性。
❸ 如何设置sql server2000帐号安全性
自己新建一个用户,设置为对应数据库的dbowner 密码尽量复杂。
注意:web程序中存储数据库帐户和密码的那个文件安全性要设置好
❹ sql 2000安全性
公司用SQL 2000,是因为:第一,免费,第二,使用的人广泛,不需要花费资本去培训用户
SQL 2000安全性并不低,假如你密码设置到18-20位,光软件本身并没有什么漏洞,但是对于操作系统和你的网络环境等其他方面是否安全还值得商榷
❺ sql要如何安全设置
sql的安全设置主要体现在用户访问上
首先,为每一个数据库创建其访问帐号
然后,为该帐号赋予相应的读写权限
这样可在一定程度上保证sql数据库的安全。
其他详细的方案情阅读以下两篇文章,希望对你有所帮助。
http://archerfoot.bokee.com/2971365.html
http://blog.csdn.net/qdzx2008/archive/2006/02/23/606933.aspx
❻ 如何提高SQL Server的安全性控制
SQLServer2000的安全配置在进行SQLServer2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似,‘;@/等字符,防止破坏者构造恶意的SQL语句。接着,安装SQLServer2000后请打上补丁sp1,sp2以及最新的sp3,sp4。在做完上面三步基础之后,我们再来讨论SQLServer的安全配置。1、使用安全的密码策略我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!SQLServer2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句:UsemasterSelectname,、使用安全的帐号策略由于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语句:usemastersp_dropextendedproc'xp_cmdshell'xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果你需要这个存储过程,请用这个语句也可以恢复过来。sp_addextendedproc'xp_cmdshell','xpsql70.dll'如果你不需要请丢弃OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下:Sp_OACreateSp_OADestroySp_OAGetErrorInfoSp_OAGetPropertySp_OAMethodSp_OASetPropertySp_OAStop去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下:Xp_regaddmultistringXp_regdeletekeyXp_regdeletevalueXp_regenumvaluesXp_regreadXp_regremovemultistringXp_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进行的端口连接,把来自网络上的安全威胁进行有效的控制。
❼ SQL2000在windows2000系统服务器中的安全措施
数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。大多数企业、组织以及政府部门的电子数据都保存在各种数据库中,他们用这些数据库保存一些个人资料,比如员工薪水、个人资料等等。数据库服务器还掌握着敏感的金融数据。包括交易记录、商业事务和帐号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计划等等应该保护起来防止竞争者和其他非法者获取的资料。数据完整性和合法存取会受到很多方面的安全威胁,包括密码策略、系统后门、数据库操作以及本身的安全方案。但是数据库通常没有象操作系统和网络这样在安全性上受到重视。
微软的SQL Server是一种广泛使用的数据库,很多电子商务网站、企业内部信息化平台等都是基于SQL Server上的,但是数据库的安全性还没有被人们更系统的安全性等同起来,多数管理员认为只要把网络和操作系统的安全搞好了,那么所有的应用程序也就安全了。大多数系统管理员对数据库不熟悉而数据库管理员有对安全问题关心太少,而且一些安全公司也忽略数据库安全,这就使数据库的安全问题更加严峻了。数据库系统中存在的安全漏洞和不当的配置通常会造成严重的后果,而且都难以发现。数据库应用程序通常同操作系统的最高管理员密切相关。广泛SQL Server数据库又是属于“端口”型的数据库,这就表示任何人都能够用分析工具试图连接到数据库上,从而绕过操作系统的安全机制,进而闯入系统、破坏和窃取数据资料,甚至破坏整个系统。
这里,我们主要谈论有关SQL Server2000数据库的安全配置以及一些相关的安全和使用上的问题。
在进行SQL Server 2000数据库的安全配置之前,首先你必须对操作系统进行安全配置,保证你的操作系统处于安全状态。然后对你要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的WEB应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似 , ‘ ; @ / 等字符,防止破坏者构造恶意的SQL语句。接着,安装SQL Server2000后请打上补丁sp3。 下载地址是:http://www.microsoft.com/sql/downloads/2000/sp3.asp
在做完上面三步基础之后,我们再来讨论SQL Server的安全配置。
1、使用安全的密码策略
我们把密码策略摆在所有安全配置的第一步,请注意,很多数据库帐号的密码过于简单,这跟系统密码过于简单是一个道理。对于sa更应该注意,同时不要让sa帐号的密码写于应用程序或者脚本中。健壮的密码是安全的第一步!
SQL Server2000安装的时候,如果是使用混合模式,那么就需要输入sa的密码,除非你确认必须使用空密码。这比以前的版本有所改进。 同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句: Use master
Select name,Password from syslogins where password is null
2、使用安全的帐号策略
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号,只有当没有其它方法登录到 SQL Server 实例(例如,当其它系统管理员不可用或忘记了密码)时才使用 sa。建议数据库管理员新建立一个拥有与sa一样权限的超级用户来管理数据库。安全的帐号策略还包括不要让管理员权限的帐号泛滥。 SQL Server的认证模式有Windows身份认证和混合身份认证两种。如果数据库管理员不希望操作系统管理员来通过操作系统登陆来接触数据库的话,可以在帐号管理中把系统帐号“BUILTIN\Administrators”删除。不过这样做的结果是一旦sa帐号忘记密码的话,就没有办法来恢复了。 很多主机使用数据库应用只是用来做查询、修改等简单功能的,请根据实际需要分配帐号,并赋予仅仅能够满足应用要求和需要的权限。比如,只要查询功能的,那么就使用一个简单的public帐号能够select就可以了。
3、加强数据库日志的记录
审核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。
请定期查看SQL Server日志检查是否有可疑的登录事件发生,或者使用DOS命令。
findstr /C:"登录" d:\Microsoft SQL Server\MSSQL\LOG\*.*
4、管理扩展存储过程
对存储过程进行大手术,并且对帐号调用扩展存储过程的权限要慎重。其实在多数应用中根本用不到多少系统的存储过程,而SQL Server的这么多系统存储过程只是用来适应广大用户需求的,所以请删除不必要的存储过程,因为有些系统的存储过程能很容易地被人利用起来提升权限或进行破坏。 如果你不需要扩展存储过程xp_cmdshell请把它去掉。使用这个SQL语句:
use master
sp_dropextendedproc 'xp_cmdshell'
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。如果你需要这个存储过程,请用这个语句也可以恢复过来。
sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'
如果你不需要请丢弃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
还有一些其他的扩展存储过程,你也最好检查检查。 在处理存储过程的时候,请确认一下,避免造成对数据库或应用程序的伤害。
5、使用协议加密
SQL Server 2000使用的Tabular Data Stream协议来进行网络数据交换,如果不加密的话,所有的网络传输都是明文的,包括密码、数据库内容等等,这是一个很大的安全威胁。能被人在网络中截获到他们需要的东西,包括数据库帐号和密码。所以,在条件容许情况下,最好使用SSL来加密协议,当然,你需要一个证书来支持。
6、不要让人随便探测到你的TCP/IP端口
默认情况下,SQL Server使用1433端口监听,很多人都说SQL Server配置的时候要把这个端口改变,这样别人就不能很容易地知道使用的什么端口了。可惜,通过微软未公开的1434端口的UDP探测可以很容易知道SQL Server使用的什么TCP/IP端口了。
不过微软还是考虑到了这个问题,毕竟公开而且开放的端口会引起不必要的麻烦。在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。如果隐藏了 SQL Server 实例,则将禁止对试图枚举网络上现有的 SQL Server 实例的客户端所发出的广播作出响应。这样,别人就不能用1434来探测你的TCP/IP端口了(除非用Port Scan)。
7、修改TCP/IP使用的端口
请在上一步配置的基础上,更改原默认的1433端口。在实例属性中选择网络配置中的TCP/IP协议的属性,将TCP/IP使用的默认端口变为其他端口。
8、拒绝来自1434端口的探测
由于1434端口探测没有限制,能够被别人探测到一些数据库信息,而且还可能遭到DOS攻击让数据库服务器的CPU负荷增大,所以对Windows 2000操作系统来说,在IPSec过滤拒绝掉1434端口的UDP通讯,可以尽可能地隐藏你的SQL Server。
9、对网络连接进行IP限制
SQL Server 2000数据库系统本身没有提供网络连接的安全解决办法,但是Windows 2000提供了这样的安全机制。使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,只保证自己的IP能够访问,也拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。 关于IPSec的使用请参看:http://www.microsoft.com/china/technet/security/ipsecloc.asp
上面主要介绍的一些SQL Server的安全配置,经过以上的配置,可以让SQL Server本身具备足够的安全防范能力。当然,更主要的还是要加强内部的安全控制和管理员的安全培训,而且安全性问题是一个长期的解决过程,还需要以后进行更多的安全维护。
❽ Windows2000+sql2000,如何进行安全设置和用户帐户管理
用户账户管理可以通过右击“我的电脑”,选中管理,点击“本地用户和组”,进行统一、便捷的管理。
你说的安全设置是针对电脑本身还是数据的安全?
如果是数据的安全设置,可以通过更改文件格式,将其升级为NTFS,可以对不同用户设置不同的权限。
如果是电脑本身的安全可以安装杀毒软件。
❾ SQL Server 2000 安全问题
用adminstrators组的用户或SA进入SQL,在SQL中设置以SQL用户登录SQL,这样windows用户就不能以windows用户名和密码登录SQL 然后再进入SQL 企业管理器,有个用户和组,在里面可以对sql用户设置密码。
❿ 如何加强 SQL Server 2000 本地数据库的网络连接安全性
每一个
SQL
Server
2000
实例或
MSDE
2000
实例都可以配置为侦听一组特定的网络协议和地址。如果某一实例不需要网络连接,则关闭不用的网络支持可减少该实例的安全依赖性。您可以通过将该实例配置为不侦听任何网络协议来做到这一点。一般来说,您只应对作为本地数据存储运行的
SQL
Server
2000
版本进行这样的配置:
SQL
Server
2000
Personal
Edition
-
或
-
SQL
Server
2000
Desktop
Engine
(MSDE
2000)
将一个
SQL
Server
实例配置为不侦听网络协议后,同一计算机上的所有应用程序都将使用共享的内存网络库与之进行通信。
关闭网络协议支持并不意味着网络协议具有固有的不安全性。任何时候某一程序访问一项外部资源时,该程序都要获取有关此外部资源安全性的依赖项,即使此外部资源非常安全也是如此。通过关闭不使用的资源,该程序就可以减少其安全依赖项。
注意:对该实例的所有管理都必须在它所运行的计算机上完成。
当
SQL
Server
2000
SP3a
或
MSDE
2000
SP3a
的实例被配置为不侦听任何网络协议时,它们将停止在
UDP
端口
1434
上的侦听。SQL
Server
2000
或
MSDE
2000
的早期版本不管配置如何,总是要侦听
UDP
1434。有关更多信息,请参见
SP3a
的
Readme.htm
文件,在下面的
Microsoft
网站上可看到此文件:
SQL
Server
version
2000
Service
Pack
3a
Readme.htm
如果该实例在“Windows
身份验证”模式下运行,则此计算机上的
Windows
帐户之一必须是
SQL
Server
sysadmin
固定服务器角色的一个成员。如果该实例以混合模式运行,管理员可以使用
sa
帐户或
SQL
Server
sysadmin
固定服务器角色中的一个
Windows
帐户进行登录。
要使用“SQL
Server
2000
服务器网络”实用工具将一个现有的
SQL
Server
2000
或
MSDE
2000
实例配置为不侦听网络连接,请按照下列步骤操作:
如果在计算机上安装了
SQL
Server
客户端工具,请打开
Microsoft
SQL
Server
程序组,然后启动“服务器网络”实用工具。如果未安装
SQL
Server
客户端实用工具,请运行
SQL
Server
Tools\Binn
文件夹中的
Svrnetcn.exe
文件。通常情况下,不在计算机上安装
SQL
Server
客户端实用工具的原因是:该计算机只运行
MSDE
2000
实例,而这些实例不向用户提供使用
SQL
Server
客户端实用工具的许可。
有关
SQL
Server
2000
文件的文件夹结构方面的更多信息,请访问下面的
Microsoft
网站:
File
Locations
for
Multiple
Instances
of
SQL
Server
在“常规”选项卡上,选择“此计算机上的实例”列表框中的
SQL
Server
实例的名称。单击默认实例的“服务器名”以将其选中,或为任何指定的实例选择“服务器名/实例名”。
要将
SQL
Server
的实例限制为只允许本地连接,请单击“禁用”,直到“启用的协议”列表中不再列出任何协议。如果您需要在以后更改此设置以允许远程连接,请逆向执行此过程并启用一个或多个协议。
单击“确定”。
重新启动
SQL
Server
实例,以使所做更改生效。
对于一个当前配置为不支持网络连接的
SQL
Server
2000
实例,您可以使用“SQL
Server
2000
服务器网络”实用工具来启用到它的网络连接。