专利名称:一种数据库管理系统安全设置方法和装置的制作方法
技术领域:
本发明涉及数据库管理系统安全技术,更确切地说是提供一种SQLSERVER数据库管理系统安全设置方法和装置。
背景技术:
随着计算机和网络的普及,安全的挑战日益严峻。安全风险来自于对脆弱点的利用。导致脆弱点的重要原因之一是数据库管理系统存在各种安全漏洞。当运行这种数据库管理系统的计算机连接到网络中时,极有可能遭到黑客的攻击。众所周知,SQL SERVER数据库管理系统就存在许多这样的漏洞。
针对SQL系统,传统的应对措施无非有两种措施一,不停地更新Microsoft发布的SQL SERVER补丁。
措施二,利用SQL SERVER自带的工具手工进行诸如修改注册表选项、修改端口号、修改帐户权限等等,此类的设置。
传统的应对措施有如下几个明显的缺点在措施一中,从漏洞被发现,到被引起注意,到发布补丁,到系统管理员给系统打补丁,每一个环节都需要一段时间,而在这整个过程中系统处于不设防状态。
在措施二中,漏洞成百上千,手工操作不仅费时费力,而且容易出错。更糟的是,一旦重装系统,所有过程都得重来一遍。就算一个负责任的管理员,他的耐心也很难不被繁锁的过程吓倒。
发明内容
有鉴于此,本发明的主要目的在于提供一种SQL SERVER数据库管理系统安全定制工具,其以一种便捷的方式实现了对SQL SERVER数据库管理系统的安全定制,提高系统的安全性。
为达到以上目的,本发明采用了以下的技术方案,该方法包括步骤启动安全定制工具进入具有安全定制选项的设置界面;通过所述设置界面接受用户的安全定制操作;根据用户操作的安全定制选项,自动调用Windows操作系统提供的应用编程接口(API)对注册表中与安全相关的信息进行设置。
其中在调用Windows操作系统提供的API之前,从与用户操作的安全定制选项对应的配置文件中获取配置信息。
所述的安全定制选项包括注册表键的访问权限设置、注册表键值设置、帐户权限设置中的一项或多项。
在对注册表键的访问权限、注册表键值、帐号权限进行设置前备份原配置数据,当需要使系统复到安全定制前的状态时根据备份文件的内容进行恢复设置。
在设置界面上提供恢复选项,当用户选中该选项时,自动将注册表键的访问权限、注册表键值、帐户权限等恢复为安全定制前的设置。
所述设置界面上提供每一安全定制选项的功能说明;或当用户操作安全定制选项时动态显示该选项功能说明。
一种数据库管理系统安全定制工具,用于对数据库管理系统中与安全相关的选项进行配置,其中该工具包括设置界面模块,注册表键的访问权限设置模块、注册表键值设置模块、帐户权限设置模块中的一项或多项;所述设置界面模块用于提供安全定制选项并接受用户的操作,并根据用户操作的选项触发对应的安全设置模块;所述注册表键的访问权限设置模块用于严格化缺省的注册表访问权限;所述注册表键值设置模块用于修改缺省的注册表键值;所述帐户权限设置模块用于严格化SQL SERVER缺省的帐户权限。
采用本发明可以自动对系统进行安全设置,免去了手工设置的麻烦;而且可以方便地让系统恢复到原始状态。且在此过程中。用户无需太多的专业知识,只需点击“OK”,诸如修改注册表选项、修改端口号、修改帐户权限等等,此类的设置便自动完成。一旦发现设置不正确,用户可以使用该工具让系统回退到原始状态,此外,该工具还提供了配置文件,让用户更改适合于应用的配置。通过使用这些配置文件,用户可以对系统进行细粒度的定制。
图1为数据库管理系统的结构示意图;图2为本发明数据库管理系统安全设置装置的结构示意图;图3为本发明设置界面示意图;图4为本发明数据库管理系统的安全设置方法的流程示意图。
具体实施例方式
以上所述仅为本发明方案的较佳实施例,并不用以限定本发明的保护范围。
参阅图1,图中显示了一个数据库管理系统的基本结构,用它来实施本发明的方法。该数据库管理系统的最里层是计算机的硬件系统,在该硬件系统之外是计算机的操作系统,在该操作系统的外层则是计算机的语言编译系统,在该编译系统的外层则是数据库管理系统,最外层则是应用系统。该数据库系统设有通讯接口,其可经通讯线连接到网络或其它通信设备。
该数据库管理系统、Windows操作系统及其它应用软件安装在计算机的外部存储器中,计算机启动时首先加载Windows操作系统程序,然后加载数据库管理系统及其它应用程序。Windows操作系统中存在多个与数据库管理系统安全相关的选项,其中大多选项的缺省配置为开放状态,登录该计算机的用户可对其进行任意设置。
参阅图2所示,数据库管理系统安全设置工具遵循最小化原则,即在不影响应用运行的前提下,提供尽可能少的权限和服务。该工具包括如下模块
注册表键的访问权限设置模块,用于严格化缺省的注册表访问权限;注册表键值设置模块,用于修改缺省的注册表键值;帐户权限设置模块用于严格化SQL SERVER缺省的帐户权限;所述设置界面模块用于提供安全定制选项并接受用户的操作,并根据用户操作的选项触发对应的安全设置模块。
对于设置界面模块提供的安全定制选项,用户可以选择其中的任意项进行设置。该工具可根据不同应用的需求定制配置文件,进而达到定制数据库管理系统的目的。
参阅图3所示,该图仅表示一个简单的设置界面,当设置项前面的方框被选中时,就进行相应项的设置。
定制开始时,先将原有的注册表访问权限、注册表键值、帐户权限等信息备份成文件。当需要恢复到原始状态时,则根据该文件的内容进行设置,使安全定制后的系统可以恢复到定制前的状态。在设置界面上提供恢复选项,当用户选中该选项时,自动将注册表键的访问权限、注册表键值、帐号权限恢复为安全定制前的设置。
参阅图4所示,实现本发明数据库管理系统的安全设置的过程如下步骤10启动安全设置工具进入具有安全定制选项的设置界面。
步骤20所述设置界面接受用户的安全定制操作。
步骤30根据用户操作的安全定制选项,自动调用Windows操作系统提供的应用编程接口(API)对相应的数据库管理系统中的安全选项进行设置如果用户选择注册表键的访问权限设置选项,则严格化缺省的注册表访问权限(步骤301);如果用户选择注册表键值设置,则自动修改缺省的注册表健值(步骤302);如果用户选择帐户权限设置,则严格化SQL SERVER缺省的帐户权限(步骤303);以下对各设置的实现进行详细说明
1、注册表访问权限设置在注册表中,用户对文件或目录的权限是通过ACL(Access Control List,访问控制列表)授予的。ACL是ACE(Access ControlEntity,访问控制项)的列表,ACE是指用户(如,administrator)对对象(如,HKEY LOCAL MACHINE\System\CurrentControlSet\Services\LanmanServer\Shares)的权限(如,完全控制、读、写等)。在缺省的情况下,有的用户对有的注册表项具有高的权限,是安全的隐患。通过调用SetSecurityInfo()等API,可以限制某些用户的权限。以下是配置文件的一个片段。
;/P替代原有ACLS,/A在原有ACLS上增加,/T包含整个目录树。
;F完全控制,R读,W写,X执行,C更改,N无任何权限,大小写无关。
如Acl%<system path>%/p administratorsF systemF,就表示把SQLSERVER系统安装目录设为对用户组administrators和system完全控制。
2、注册表键值设置SQL SERVER有关的的注册表键值的缺省设置,部分是广为人知的,易于受到攻击,部分设置本身有安全隐患,通过调用RegSetValueEx()等API,修改缺省的值,可以最大限度地增加安全性。以下是配置文件的一个片段。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSQLServer\\MSSQLServer\LoginMode=0 REG_DWORD“LoginMode”的值为0表示只进行Windows的身份验证,为1表示验证模式为混合模式。
3、帐号权限设置所述帐户权限设置模块用于严格化SQL SERVER缺省的帐户权限,在缺省的情况下,SQL SERVER的某些内置组有较高的权限,是个安全隐患。通过调用DB-Library for c的dbcmd、dbsqlexec等API来限制帐号权限,来减少安全隐患。
本发明以一种便捷的方式实现了对数据库管理系统的安全定制,提高了系统的安全性。用户无需太多的专业知识,只需点击修改账号及其权限、修改注册表等选项,此类的设置便自动完成。另外,发现设置不正确,用户可以使用该工具让系统回退到原始状态。该工具还提供了配置文件,让用户更改适合于应用的配置。
权利要求
1.一种数据库管理系统的安全设置方法,其特征在于该方法包括步骤启动安全定制工具进入安全定制选项的设置界面;通过所述设置界面接受用户的安全定制操作;根据用户操作的安全定制选项,该工具调用Windows操作系统提供的应用编程接口(API)对相应的Windows操作系统中与数据库相关的安全选项进行设置。
2.如权利要求1所述的方法,其特征在于,在调用Windows操作系统提供的API之前,从与用户操作的安全定制选项对应的配置文件中获取配置信息。
3.如权利要求1所述的方法,其特征在于,所述的安全定制选项包括注册表键的访问权限设置、注册表键值设置、账户权限设置中的一项或多项。
4.如权利要求3所述的方法,其特征在于,在对注册表键的访问权限、注册表键值、帐号权限设置前备份原配置数据,当需要使系统恢复到安全定制前的状态时根据备份文件的内容恢复设置。
5.如权利要求4所述的方法,其特征在于,在设置界面上提供恢复选项,当用户选中该选项时,自动将注册表键的访问权限、注册表键值、帐户权限等恢复为安全定制前的设置。
6.如权利要求1至5任一所述的方法,其特征在于,所述设置界面上提供每一安全定制选项的功能说明;或当用户操作安全定制选项时动态显示该选项功能说明。
7.一种数据库管理系统的安全设置装置,其特征在于该装置包括设置界面模块,以及注册表键的访问权限设置模块、注册表键值设置模块、帐户权限设置模块中的一项或多项设置模块;其中所述设置界面模块用于提供安全定制选项并接受用户的操作,并根据用户操作的选项触发对应的安全设置模块;所述注册表键的访问权限设置模块用于严格化缺省的注册表访问权限;所述注册表键值设置模块用于修改缺省的注册表键值;所述账户权限设置模块用于严格化SQL SERVER缺省的帐户权限。
全文摘要
本发明公开了一种数据库管理系统安全设置的方法和装置,该方法为启动安全定制工具生成具有安全定制选项的设置界面;通过所述设置界面接受用户的安全定制操作;根据用户操作的安全定制选项,自动调用Windows操作系统提供的应用编程接口(API)对相应的Windows操作系统中的安全选项进行设置。通过本发明提高了系统的安全性。
文档编号G06F9/44GK1632746SQ20031012107
公开日2005年6月29日 申请日期2003年12月24日 优先权日2003年12月24日
发明者陈 峰 申请人:华为技术有限公司